Removing SPLINE integration (GPLv2) and created ExternalLibs packaged with...

Removing SPLINE integration (GPLv2) and created ExternalLibs packaged with same name using shared lib. Only required by ITAOps (solely required by RAVEN).
parent 0444f011
......@@ -11,6 +11,7 @@ vista_use_package( sndfile )
vista_use_package( IPP QUIET )
vista_use_package( PCRE QUIET )
vista_use_package( SimpleIni QUIET )
vista_use_package( SPLINE QUIET )
if( NOT DEFINED ITA_BASE_WITH_FASTMATH_IPP )
set( ITA_BASE_WITH_FASTMATH_IPP OFF CACHE BOOL "Build with IPP implementation of fast math ops" )
......@@ -37,7 +38,7 @@ if( NOT DEFINED ITA_BASE_WITH_CONFIG_OLD_IMPL )
endif( )
if( NOT DEFINED ITA_BASE_WITH_OLD_RAVEN_OPS )
set( ITA_BASE_WITH_OLD_RAVEN_OPS OFF CACHE BOOL "Build with old ITAOps helper functions implementation (legacy code for RAVEN compatibility)" )
set( ITA_BASE_WITH_OLD_RAVEN_OPS OFF CACHE BOOL "Build with old ITAOps helper functions implementation (legacy code for RAVEN compatibility, adds GPL-licensed libs!)" )
endif( )
......@@ -76,7 +77,6 @@ set( ITABaseHeader
"include/ITATypes.h"
"include/ITAUncopyable.h"
"include/ITAWinPCClock.h"
"include/spline.h"
)
set( ITABaseSources
"src/ITAASCIITable.cpp"
......@@ -102,7 +102,6 @@ set( ITABaseSources
"src/ITASimpleConvolution.cpp"
"src/ITAStopWatch.cpp"
"src/ITAWinPCClock.cpp"
"src/spline.cpp"
)
......@@ -153,6 +152,9 @@ if( ITA_BASE_WITH_OLD_RAVEN_OPS )
if( NOT ITA_BASE_WITH_CONFIG_OLD_IMPL )
message( FATAL_ERROR "ITABase old RAVEN ops requires regular expressions and old config implementation. Please activate." )
endif( )
if( NOT VSPLINE_FOUND )
message( FATAL_ERROR "ITABase old RAVEN ops requires SPLINE, which was not found. Please provide." )
endif( )
set( ITABaseHeader "${ITABaseHeader}" "include/ITAOps.h" )
set( ITABaseSources "${ITABaseSources}" "src/ITAOps.cpp" )
endif( )
......
// spline.h GPL!!!
#ifndef INCLUDE_WATCHER_SPLINE
#define INCLUDE_WATCHER_SPLINE
#include <ITABaseDefinitions.h>
float ITA_BASE_API basis_function_b_val ( float tdata[], float tval );
float ITA_BASE_API basis_function_beta_val(float beta1, float beta2, float tdata[], float tval );
ITA_BASE_API float *basis_matrix_b_uni(void);
ITA_BASE_API float *basis_matrix_beta_uni(float beta1, float beta2);
ITA_BASE_API float *basis_matrix_bezier(void);
ITA_BASE_API float *basis_matrix_hermite(void);
ITA_BASE_API float *basis_matrix_overhauser_nonuni(float alpha, float beta);
ITA_BASE_API float *basis_matrix_overhauser_nul(float alpha);
ITA_BASE_API float *basis_matrix_overhauser_nur(float beta);
ITA_BASE_API float *basis_matrix_overhauser_uni(void);
ITA_BASE_API float *basis_matrix_overhauser_uni_l(void);
ITA_BASE_API float *basis_matrix_overhauser_uni_r(void);
ITA_BASE_API float basis_matrix_tmp(int left, int n, float mbasis[], int ndata,
float tdata[], float ydata[], float tval );
ITA_BASE_API void bc_val(int n, float t, float xcon[], float ycon[], float *xval,
float *yval );
ITA_BASE_API float bez_val(int n, float x, float a, float b, float y[]);
ITA_BASE_API float bp_approx(int n, float a, float b, float ydata[], float xval);
ITA_BASE_API float *bp01(int n, float x);
ITA_BASE_API float *bpab(int n, float a, float b, float x);
ITA_BASE_API float d_max(float x, float y);
ITA_BASE_API float d_min(float x, float y);
ITA_BASE_API float d_random(float rlo, float rhi, int *seed);
ITA_BASE_API float d_uniform_01(int *seed);
ITA_BASE_API int d3_fs(float a1[], float a2[], float a3[], int n, float b[], float x[]);
ITA_BASE_API float *d3_mxv(int n, float a[], float x[]);
ITA_BASE_API float *d3_np_fs(int n, float a[], float b[]);
ITA_BASE_API void d3_print(int n, float a[], char *title);
ITA_BASE_API void d3_print_some(int n, float a[], int ilo, int jlo, int ihi, int jhi);
ITA_BASE_API float *d3_random(int n, int *seed);
ITA_BASE_API void data_to_dif(float diftab[], int ntab, float xtab[], float ytab[]);
ITA_BASE_API void dif_val(float diftab[], int ntab, float xtab[], float xval,
float *yval );
ITA_BASE_API void dvec_bracket(int n, float x[], float xval, int *left, int *right);
ITA_BASE_API void dvec_bracket3(int n, float t[], float tval, int *left);
ITA_BASE_API float *dvec_even(int n, float alo, float ahi);
ITA_BASE_API float *dvec_indicator(int n);
ITA_BASE_API void dvec_order_type(int n, float x[], int *order);
ITA_BASE_API void dvec_print(int n, float a[], char *title);
ITA_BASE_API float *dvec_random(int n, float alo, float ahi, int *seed);
ITA_BASE_API void dvec_sort_bubble_a(int n, float a[]);
ITA_BASE_API int i_max(int i1, int i2);
ITA_BASE_API int i_min(int i1, int i2);
ITA_BASE_API void least_set(int ntab, float xtab[], float ytab[], int ndeg,
float ptab[], float b[], float c[], float d[], float *eps, int *ierror );
ITA_BASE_API float least_val(float x, int ndeg, float b[], float c[], float d[]);
ITA_BASE_API void parabola_val2(int ndim, int ndata, float tdata[], float ydata[],
int left, float tval, float yval[] );
ITA_BASE_API int s_len_trim(char* s);
ITA_BASE_API float spline_b_val(int ndata, float tdata[], float ydata[], float tval);
ITA_BASE_API float spline_beta_val(float beta1, float beta2, int ndata, float tdata[],
float ydata[], float tval );
ITA_BASE_API float spline_constant_val(int ndata, float tdata[], float ydata[], float tval);
ITA_BASE_API float* spline_cubic_set(
const int n,
const float t[],
const float y[],
const int ibcbeg,
const float ybcbeg,
const int ibcend,
const float ybcend );
ITA_BASE_API float spline_cubic_val(
const int n,
const float t[],
const float tval,
const float y[],
const float ypp[],
float *ypval,
float *yppval );
ITA_BASE_API float spline_cubic_val(
const int n,
const float t[],
const float tval,
const float y[],
const float ypp[]);
ITA_BASE_API void spline_cubic_val2(int n, float t[], float tval, int *left, float y[],
float ypp[], float *yval, float *ypval, float *yppval );
ITA_BASE_API float *spline_hermite_set(int ndata, float tdata[], float ydata[],
float ypdata[] );
ITA_BASE_API void spline_hermite_val(int ndata, float tdata[], float c[], float tval,
float *sval, float *spval );
ITA_BASE_API float spline_linear_int(int ndata, float tdata[], float ydata[], float a, float b);
ITA_BASE_API void spline_linear_intset(int int_n, float int_x[], float int_v[],
float data_x[], float data_y[] );
ITA_BASE_API void spline_linear_val(int ndata, float tdata[], float ydata[],
float tval, float *yval, float *ypval );
ITA_BASE_API float spline_overhauser_nonuni_val(int ndata, float tdata[],
float ydata[], float tval );
ITA_BASE_API float spline_overhauser_uni_val(int ndata, float tdata[], float ydata[],
float tval );
ITA_BASE_API void spline_overhauser_val(int ndim, int ndata, float tdata[], float ydata[],
float tval, float yval[] );
ITA_BASE_API void spline_quadratic_val(int ndata, float tdata[], float ydata[],
float tval, float *yval, float *ypval );
ITA_BASE_API void timestamp(void);
#endif // INCLUDE_WATCHER_SPLINE
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment