14 #include <sys/malloc.h> 20 #include <sys/types.h> 28 alpha = fmodf( alpha, 2 * PI_F );
29 if( alpha < 0 ) alpha += 2 * PI_F;
40 return ( gamma <= PI_F ? gamma : gamma - 2 * PI_F );
42 return ( gamma >= -PI_F ? gamma : gamma + 2 * PI_F );
60 float cabs(
float Re,
float Im ){
61 return sqrt( Re*Re + Im*Im );
64 float carg(
float Re,
float Im ){
66 return atan( Im / Re );
68 return PI_F + atan( Im / Re );
75 static const char cTest[ 4 ] = { 1, 0, 0, 0 };
76 static const int iTest = *(
int* ) cTest;
83 void noswap(
void*,
size_t );
100 void( *
le2se_2byte )(
void* src,
size_t count ) = ( iTest == 1 ? &noswap : &byteswap_2byte );
101 void( *
le2se_3byte )(
void* src,
size_t count ) = ( iTest == 1 ? &noswap : &byteswap_3byte );
102 void( *
le2se_4byte )(
void* src,
size_t count ) = ( iTest == 1 ? &noswap : &byteswap_4byte );
103 void( *
le2se_8byte )(
void* src,
size_t count ) = ( iTest == 1 ? &noswap : &byteswap_8byte );
121 char* p = (
char* ) src;
124 for(
size_t i = 0; i < count; i++ ) {
136 char* p = (
char* ) src;
139 for(
size_t i = 0; i < count; i++ ) {
151 char* p = (
char* ) src;
154 for(
size_t i = 0; i < count; i++ ) {
167 char* p = (
char* ) src;
170 for(
size_t i = 0; i < count; i++ ) {
187 return _aligned_malloc( bytes, 16 );
194 return malloc(bytes);
197 return memalign(16, bytes);
203 _aligned_free( ptr );
212 void stc_sint16_to_float(
float* dest,
const short* src,
size_t count,
int input_stride,
int output_stride,
float gain )
214 float c = gain / 32767.0F;
215 for(
size_t i = 0; i < count; i++ )
216 dest[ i*output_stride ] = (
float ) src[ i*input_stride ] * c;
219 void stc_sint16_to_float_add(
float* dest,
const short* src,
size_t count,
int input_stride,
int output_stride,
float gain ) {
220 float c = gain / 32767.0F;
221 for(
size_t i = 0; i < count; i++ )
222 dest[ i*output_stride ] += (
float ) src[ i*input_stride ] * c;
225 void stc_sint24_to_float(
float* dest,
const void* src,
size_t count,
int input_stride,
int output_stride,
float gain ) {
227 const unsigned char* p = (
const unsigned char* ) src;
231 unsigned char byte[ 4 ];
234 float c = gain / 8388607.0F;
237 for(
size_t i = 0; i < count; i++ ) {
250 dest[ i*output_stride ] = ( float ) ivalue * c;
252 p = p + input_stride * 3;
256 for(
size_t i = 0; i < count; i++ ) {
269 dest[ i*output_stride ] = ( float ) ivalue * c;
271 p = p + input_stride * 3;
278 const unsigned char* p = (
const unsigned char* ) src;
282 unsigned char byte[ 4 ];
285 float c = gain / 8388607.0F;
288 for(
size_t i = 0; i < count; i++ ) {
301 dest[ i*output_stride ] += ( float ) ivalue * c;
303 p = p + input_stride * 3;
307 for(
size_t i = 0; i < count; i++ ) {
320 dest[ i*output_stride ] += ( float ) ivalue * c;
322 p = p + input_stride * 3;
332 if( sFilename.empty() )
337 struct _stat64 statinfo;
338 if( _stat64( sFilename.c_str(), &statinfo ) != 0 )
340 return ( int64_t ) statinfo.st_size;
343 struct stat statinfo;
344 if (stat(sFilename.c_str(), &statinfo) != 0)
346 return (int64_t) statinfo.st_size;
float anglef_proj_0_2PI(float alpha)
static float rad2gradf(float phi)
int64_t getFileSize(const std::string &sFilename)
Größe einer Datei in Bytes zurückgeben (Gibt im Fehlerfall -1 zurück)
float anglef_proj_0_360_DEG(float alpha)
void byteswap_3byte(void *, size_t)
void(* le2se_2byte)(void *src, size_t count)
void(* le2se_3byte)(void *src, size_t count)
float anglef_mindiff_0_360_DEG(float alpha, float beta)
float anglef_mindiff_0_2PI(float alpha, float beta)
void stc_sint16_to_float(float *dest, const short *src, size_t count, int input_stride, int output_stride, float gain)
Convert signed integer 16-Bit -> single precision floating point (32-Bit)
void stc_sint24_to_float(float *dest, const void *src, size_t count, int input_stride, int output_stride, float gain)
Convert signed integer 24-Bit -> single precision floating point (32-Bit)
float carg(float Re, float Im)
void byteswap_2byte(void *, size_t)
void stc_sint16_to_float_add(float *dest, const short *src, size_t count, int input_stride, int output_stride, float gain)
void noswap(void *, size_t)
void byteswap_8byte(void *, size_t)
float anglef_mindiff_abs_0_360_DEG(float alpha, float beta)
static float grad2radf(float phi)
void(* le2se_4byte)(void *src, size_t count)
void byteswap_4byte(void *, size_t)
float cabs(float Re, float Im)
void * malloc_aligned16(size_t bytes)
float anglef_mindiff_abs_0_2PI(float alpha, float beta)
void stc_sint24_to_float_add(float *dest, const void *src, size_t count, int input_stride, int output_stride, float gain)
void(* le2se_8byte)(void *src, size_t count)
void free_aligned16(void *ptr)