icedb  version 0.5.1
Snow particle scattering database API
Classes | Typedefs | Functions
linterp.h File Reference
#include <assert.h>
#include <math.h>
#include <stdarg.h>
#include <float.h>
#include <cstdarg>
#include <string>
#include <vector>
#include <array>
#include <functional>
#include <boost/multi_array.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/storage.hpp>
Include dependency graph for linterp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  EmptyClass
 
class  NDInterpolator< N, T, CopyData, Continuous, ArrayRefCountT, GridRefCountT >
 
class  InterpSimplex< N, T, CopyData, Continuous, ArrayRefCountT, GridRefCountT >
 
class  InterpMultilinear< N, T, CopyData, Continuous, ArrayRefCountT, GridRefCountT >
 

Typedefs

typedef unsigned int uint
 
typedef vector< int > iVec
 
typedef vector< double > dVec
 
typedef InterpSimplex< 1, double > NDInterpolator_1_S
 
typedef InterpSimplex< 2, double > NDInterpolator_2_S
 
typedef InterpSimplex< 3, double > NDInterpolator_3_S
 
typedef InterpSimplex< 4, double > NDInterpolator_4_S
 
typedef InterpSimplex< 5, double > NDInterpolator_5_S
 
typedef InterpMultilinear< 1, double > NDInterpolator_1_ML
 
typedef InterpMultilinear< 2, double > NDInterpolator_2_ML
 
typedef InterpMultilinear< 3, double > NDInterpolator_3_ML
 
typedef InterpMultilinear< 4, double > NDInterpolator_4_ML
 
typedef InterpMultilinear< 5, double > NDInterpolator_5_ML
 

Functions

void linterp_simplex_1 (double **grids_begin, int *grid_len_begin, double *pF, int xi_len, double **xi_begin, double *pResult)
 
void linterp_simplex_2 (double **grids_begin, int *grid_len_begin, double *pF, int xi_len, double **xi_begin, double *pResult)
 
void linterp_simplex_3 (double **grids_begin, int *grid_len_begin, double *pF, int xi_len, double **xi_begin, double *pResult)
 

Typedef Documentation

◆ dVec

typedef vector<double> dVec

Definition at line 47 of file linterp.h.

◆ iVec

typedef vector<int> iVec

Definition at line 46 of file linterp.h.

◆ NDInterpolator_1_ML

Definition at line 377 of file linterp.h.

◆ NDInterpolator_1_S

typedef InterpSimplex<1,double> NDInterpolator_1_S

Definition at line 372 of file linterp.h.

◆ NDInterpolator_2_ML

Definition at line 378 of file linterp.h.

◆ NDInterpolator_2_S

typedef InterpSimplex<2,double> NDInterpolator_2_S

Definition at line 373 of file linterp.h.

◆ NDInterpolator_3_ML

Definition at line 379 of file linterp.h.

◆ NDInterpolator_3_S

typedef InterpSimplex<3,double> NDInterpolator_3_S

Definition at line 374 of file linterp.h.

◆ NDInterpolator_4_ML

Definition at line 380 of file linterp.h.

◆ NDInterpolator_4_S

typedef InterpSimplex<4,double> NDInterpolator_4_S

Definition at line 375 of file linterp.h.

◆ NDInterpolator_5_ML

Definition at line 381 of file linterp.h.

◆ NDInterpolator_5_S

typedef InterpSimplex<5,double> NDInterpolator_5_S

Definition at line 376 of file linterp.h.

◆ uint

typedef unsigned int uint

Definition at line 45 of file linterp.h.

Function Documentation

◆ linterp_simplex_1()

void linterp_simplex_1 ( double **  grids_begin,
int *  grid_len_begin,
double *  pF,
int  xi_len,
double **  xi_begin,
double *  pResult 
)

Definition at line 390 of file linterp.h.

References InterpSimplex< N, T, CopyData, Continuous, ArrayRefCountT, GridRefCountT >::interp_vec().

390  {
391  const int N=1;
392  size_t total_size = 1;
393  for (int i=0; i<N; i++) {
394  total_size *= grid_len_begin[i];
395  }
396  InterpSimplex<N, double, false> interp_obj(grids_begin, grid_len_begin, pF, pF + total_size);
397  interp_obj.interp_vec(xi_len, xi_begin, xi_begin + N, pResult);
398 }
Here is the call graph for this function:

◆ linterp_simplex_2()

void linterp_simplex_2 ( double **  grids_begin,
int *  grid_len_begin,
double *  pF,
int  xi_len,
double **  xi_begin,
double *  pResult 
)

Definition at line 400 of file linterp.h.

References InterpSimplex< N, T, CopyData, Continuous, ArrayRefCountT, GridRefCountT >::interp_vec().

400  {
401  const int N=2;
402  size_t total_size = 1;
403  for (int i=0; i<N; i++) {
404  total_size *= grid_len_begin[i];
405  }
406  InterpSimplex<N, double, false> interp_obj(grids_begin, grid_len_begin, pF, pF + total_size);
407  interp_obj.interp_vec(xi_len, xi_begin, xi_begin + N, pResult);
408 }
Here is the call graph for this function:

◆ linterp_simplex_3()

void linterp_simplex_3 ( double **  grids_begin,
int *  grid_len_begin,
double *  pF,
int  xi_len,
double **  xi_begin,
double *  pResult 
)

Definition at line 410 of file linterp.h.

References InterpSimplex< N, T, CopyData, Continuous, ArrayRefCountT, GridRefCountT >::interp_vec().

410  {
411  const int N=3;
412  size_t total_size = 1;
413  for (int i=0; i<N; i++) {
414  total_size *= grid_len_begin[i];
415  }
416  InterpSimplex<N, double, false> interp_obj(grids_begin, grid_len_begin, pF, pF + total_size);
417  interp_obj.interp_vec(xi_len, xi_begin, xi_begin + N, pResult);
418 }
Here is the call graph for this function: