Revision 13e45eaa4f4a7f231224f1b8ca4dff03903d250b authored by Mark Clements on 31 August 2017, 20:37:09 UTC, committed by cran-robot on 31 August 2017, 20:37:09 UTC
1 parent e222ff8
RuniqueCombs.h
/*
* =====================================================================================
*
* Filename: RuniqueCombs.h
*
* Description: The routines are copied from the R package mgcv
* which is downloaded from
* http://cran.r-project.org/web/packages/mgcv/
*
* Copyright (C) 2000-2005 Simon N. Wood simon.wood@r-project.org
*
* Created: 30/04/2011 06:22:46
* Revision: none
* Compiler: gcc
*
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* (www.gnu.org/copyleft/gpl.html)
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*
*
*
*
* =====================================================================================
*/
#ifndef MATRIX_HEADER_IN
#define MATRIX_HEADER_IN
/* The basic matrix structure */
#define TOL 1e-10
#define VEC M[0]
typedef struct
{ int vec;long r,c,mem,original_r,original_c;double **M,*V;} matrix;
extern matrix null_mat;
extern long matrallocd;
void ErrorMessage(char *msg,int fatal);
void RuniqueCombs(double *X,int *ind,int *r, int *c);
matrix Rmatrix(double *A,long r,long c);
matrix initmat(long rows,long cols);
void mcopy(matrix *A,matrix *B);
void freemat(matrix A);
void RArrayFromMatrix(double *a,long r,matrix *M);
int *Xd_strip(matrix *Xd);
int Xd_row_comp(double *a,double *b,int k);
int real_elemcmp(const void *a,const void *b,int el);
void msort(matrix a);
int melemcmp(const void *a,const void *b);
#endif
Computing file changes ...