...
 
Commits (10)
......@@ -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( )
......
Copyright 2015-2016 Institute of Technical Acoustics, RWTH Aachen University
Copyright 2015-2017 Institute of Technical Acoustics, RWTH Aachen University
Licensed under the Apache License, Version 2.0 (the "License");
you may not use files of this project except in compliance with the License.
......
## ITABase
ITABase is a C++ programming library with basic tools for digital audio processing.
ITABase is the fundamental component from [ITACoreLibs](https://git.rwth-aachen.de/ita/ITACoreLibs), a collection of C++ libraries for virtual acoustics.
### License
See [LICENSE](LICENSE.md) file.
### Quick build guide
Follow instructions from Wiki pages of [ITABase](https://git.rwth-aachen.de/ita/ITABase/wikis/home) project.
......@@ -49,9 +49,8 @@ namespace ITAConstants
static double HALF_PI_D_L = 1.5707963267948966192313216916397514f;
// Epsilon (distance quantization)
static float EPS_F_L = 1.0e-5f;
static double EPS_D_L = 1.0e-5f;
static float EPS_F_L = 1.0e-5f; // 10 micro meter
static double EPS_D_L = 1.0e-5f; // 10 micro meter
// Symbolische Konstante für den Verstärkungsfaktor -oo dB
/* TODO: Dies ist hardgecodet eine verdammt große Double-Zahl.
......
// 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.
cmake_minimum_required( VERSION 2.8 )
if( NOT ITABASE_COMMON_BUILD )
project( ITABaseTests )
list( APPEND CMAKE_MODULE_PATH "$ENV{VISTA_CMAKE_COMMON}" )
include( VistaCommon )
project( ITABaseTests )
list( APPEND CMAKE_MODULE_PATH "$ENV{VISTA_CMAKE_COMMON}" )
include( VistaCommon )
endif()
vista_use_package( ITABase REQUIRED FIND_DEPENDENCIES )
......@@ -32,4 +29,4 @@ if( ITA_BASE_WITH_SNDFILE )
set_property( TARGET SampleFrameTest PROPERTY FOLDER "ITACoreLibs/Tests/ITABase" )
endif( ITA_BASE_WITH_SNDFILE )
endif( )