(file) Return to finterpolate.c CVS log (file) (dir) Up to [Development] / JSOC / proj / libs / interpolate

Diff for /JSOC/proj/libs/interpolate/finterpolate.c between version 1.5 and 1.6

version 1.5, 2010/09/02 18:29:49 version 1.6, 2011/12/06 18:11:03
Line 5 
Line 5 
 #include <math.h> #include <math.h>
 #include <mkl.h> #include <mkl.h>
 #include <omp.h> #include <omp.h>
   #include <sys/param.h>
 #include "finterpolate.h" #include "finterpolate.h"
 #include "drms_defs.h"  
  
 #define minval(x,y) (((x) < (y)) ? (x) : (y)) #define minval(x,y) (((x) < (y)) ? (x) : (y))
 #define maxval(x,y) (((x) < (y)) ? (y) : (x)) #define maxval(x,y) (((x) < (y)) ? (y) : (x))
   
   #define kInterpDataDir "proj/libs/interpolate/data"
   
 #define fint_wiener 1 #define fint_wiener 1
 #define fint_linear 2 #define fint_linear 2
 #define fint_cubic_conv 3 #define fint_cubic_conv 3
 #define corfile1 DEFS_MKPATH("/data/acor1d_80x100_double.txt")  
  
 static double sinc(double x) static double sinc(double x)
 { {
Line 30  int init_finterpolate_wiener_old(
Line 33  int init_finterpolate_wiener_old(
                 // Otherwise go further (as set by extrapolate)                 // Otherwise go further (as set by extrapolate)
   float extrapolate, // How far to extrapolate   float extrapolate, // How far to extrapolate
   int minorder, // Minimum order to use when approaching edge or beyond   int minorder, // Minimum order to use when approaching edge or beyond
   int nconst // Number of polynomial constraints    int nconst, // Number of polynomial constraints
              // 0 None, 1 for norm, 2 for linear preserved, etc.              // 0 None, 1 for norm, 2 for linear preserved, etc.
     const char *path // to data files read by this function.
 ) )
 { {
   int status;   int status;
   int table=0;   int table=0;
   char *filename = corfile1;    char filename[PATH_MAX];
  
   status=init_finterpolate_wiener(pars,order,edgemode,extrapolate,minorder,nconst,table,&filename);    snprintf(filename, sizeof(filename), "%s/%s/acor1d_80x100_double.txt", path, kInterpDataDir);
     status=init_finterpolate_wiener(pars,order,edgemode,extrapolate,minorder,nconst,table,&filename, path);
  
   return status;   return status;
 } }
Line 54  int init_finterpolate_wiener(
Line 59  int init_finterpolate_wiener(
              // 0 None, 1 for norm, 2 for linear preserved, etc.              // 0 None, 1 for norm, 2 for linear preserved, etc.
   int cortable, // Which of the hardcoded tables to use.   int cortable, // Which of the hardcoded tables to use.
                 // 0 To use table pointed to by filenamep                 // 0 To use table pointed to by filenamep
   char **filenamep // Pointer to name of file to read covariance from.    char **filenamep, // Pointer to name of file to read covariance from.
                  // Set to actual file used if cortable>0                  // Set to actual file used if cortable>0
     const char *path // to data files read by this function.
 ) )
 { {
   const int malign=32;   const int malign=32;
Line 122  int init_finterpolate_wiener(
Line 128  int init_finterpolate_wiener(
     pars->filename=strdup(*filenamep);     pars->filename=strdup(*filenamep);
   }   }
   if (cortable == 1) {   if (cortable == 1) {
     pars->filename=strdup(corfile1);       char dfile[PATH_MAX];
        snprintf(dfile, sizeof(dfile), "%s/%s/acor1d_80x100_double.txt", path, kInterpDataDir);
        pars->filename=strdup(dfile);
   }   }
   fileptr = fopen (pars->filename, "r");   fileptr = fopen (pars->filename, "r");
   if (fileptr == NULL) {   if (fileptr == NULL) {


Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

Karen Tian
Powered by
ViewCVS 0.9.4