Mercurial > repos > vipints > rdiff
comparison rDiff/src/locfit/Source/local.h @ 0:0f80a5141704
version 0.3 uploaded
| author | vipints |
|---|---|
| date | Thu, 14 Feb 2013 23:38:36 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:0f80a5141704 |
|---|---|
| 1 /* | |
| 2 * Most of the changes formerly needed here are handled through | |
| 3 * the Makefiles and #ifdef's. | |
| 4 */ | |
| 5 | |
| 6 #ifndef I_LF_H | |
| 7 #define I_LF_H | |
| 8 | |
| 9 /* | |
| 10 * DIRSEP: '/' for unix; '\\' for DOS | |
| 11 */ | |
| 12 #ifdef DOS | |
| 13 #define DIRSEP '\\' | |
| 14 #else | |
| 15 #define DIRSEP '/' | |
| 16 #endif | |
| 17 | |
| 18 /* | |
| 19 * Some older math libraries have no lgamma() function, and gamma(arg) | |
| 20 * actually returns log(gamma(arg)). If so, you need to change | |
| 21 * LGAMMA macro below. | |
| 22 */ | |
| 23 #define LGAMMA(arg) lgamma(arg) | |
| 24 | |
| 25 /******** NOTHING BELOW HERE NEEDS CHANGING **********/ | |
| 26 | |
| 27 #include <stdlib.h> | |
| 28 #include <stdio.h> | |
| 29 #include <string.h> | |
| 30 #include <math.h> | |
| 31 | |
| 32 /*RVERSION*/ | |
| 33 | |
| 34 #ifdef SWINVERSION | |
| 35 #define SVERSION | |
| 36 #include "newredef.h" | |
| 37 #endif | |
| 38 | |
| 39 #ifdef RVERSION | |
| 40 | |
| 41 /* #typedef int Sint is defined in R.h */ | |
| 42 #include <R.h> | |
| 43 #include <Rdefines.h> | |
| 44 #include <Rinternals.h> | |
| 45 #define list_elt(ev,i) VECTOR_PTR(ev)[i] | |
| 46 #define dval2(ev,i,j) NUMERIC_POINTER(list_elt(ev,i))[j] | |
| 47 #define dvec2(ev,i) NUMERIC_POINTER(list_elt(ev,i)) | |
| 48 #define ivec2(ev,i) INTEGER_POINTER(list_elt(ev,i)) | |
| 49 #undef pmatch | |
| 50 | |
| 51 #else | |
| 52 | |
| 53 #ifdef SVERSION | |
| 54 #include <S.h> | |
| 55 typedef long int Sint; | |
| 56 typedef s_object * SEXP; | |
| 57 #define list_elt(ev,i) LIST_POINTER(ev)[i] | |
| 58 #define dval2(ev,i,j) NUMERIC_POINTER(list_elt(ev,i))[j] | |
| 59 #define dvec2(ev,i) NUMERIC_POINTER(list_elt(ev,i)) | |
| 60 #define ivec2(ev,i) INTEGER_POINTER(list_elt(ev,i)) | |
| 61 #define ALLOW_MODULES | |
| 62 #else | |
| 63 typedef int Sint; | |
| 64 #endif | |
| 65 | |
| 66 #endif | |
| 67 | |
| 68 #ifdef MATLAB_MEX_FILE | |
| 69 #include "mex.h" | |
| 70 #define printf mexPrintf | |
| 71 #endif | |
| 72 | |
| 73 #ifdef RVERSION | |
| 74 #undef LGAMMA | |
| 75 #define LGAMMA(arg) Rf_lgammafn(arg) | |
| 76 extern double Rf_lgammafn(); | |
| 77 #define SVERSION | |
| 78 #endif | |
| 79 | |
| 80 #include "mutil.h" | |
| 81 #include "tube.h" | |
| 82 | |
| 83 #include "lfcons.h" | |
| 84 | |
| 85 typedef char varname[15]; | |
| 86 | |
| 87 #ifdef CVERSION | |
| 88 #include "cversion.h" | |
| 89 #endif | |
| 90 | |
| 91 #include "lfstruc.h" | |
| 92 #include "design.h" | |
| 93 #include "lffuns.h" | |
| 94 | |
| 95 #ifdef CVERSION | |
| 96 #undef printf | |
| 97 #define printf lfprintf | |
| 98 extern int lfprintf(const char *format, ...); | |
| 99 extern int printe(const char *format, ...); | |
| 100 #else | |
| 101 #define printe printf | |
| 102 #endif | |
| 103 | |
| 104 #ifdef ERROR | |
| 105 #undef ERROR | |
| 106 #endif | |
| 107 | |
| 108 #ifdef WARN | |
| 109 #undef WARN | |
| 110 #endif | |
| 111 | |
| 112 #define ERROR(args) {printe("Error: "); printe args; printe("\n"); lf_error=1;} | |
| 113 #define WARN(args) {printe("Warning: "); printe args; printe("\n"); } | |
| 114 | |
| 115 #define MAX(a,b) (((a)>(b)) ? (a) : (b)) | |
| 116 #define MIN(a,b) (((a)<(b)) ? (a) : (b)) | |
| 117 #define SGN(x) (((x)>0) ? 1 : -1) | |
| 118 #define SQR(x) ((x)*(x)) | |
| 119 #define NOSLN 0.1278433 | |
| 120 #define GFACT 2.5 | |
| 121 #define EFACT 3.0 | |
| 122 | |
| 123 #define MAXCOLOR 20 | |
| 124 #define MAXWIN 5 | |
| 125 | |
| 126 #define ISWAP(a,b) { int zz; zz = a; a = b; b = zz; } | |
| 127 extern int lf_error; | |
| 128 | |
| 129 #endif /* I_LF_H */ |
