8#include "tpcclibConfig.h"
35 if(isnan(v1) && isnan(v2))
return 1;
36 if(isnan(v1) || isnan(v2))
return 0;
38 if(isnan(lim) || lim<0.0)
return 0;
39 if(fabsf(v1-v2)<=lim)
return 1;
62 if(isnan(v1) && isnan(v2))
return 1;
63 if(isnan(v1) || isnan(v2))
return 0;
65 if(isnan(lim))
return 0;
67 mean=0.5*(v1+v2);
if(!isnormal(mean))
return 0;
68 if(fabsf((v1-v2)/mean)<=lim)
return 1;
85 do {macheps/=2.0;}
while((1.0+macheps/2.0)!=1.0);
103 if(t==NULL || s==NULL || n<1)
return;
104 for(i=0; i<n; i++) t[i]=s[i];
119 if(a==NULL || n<1)
return(0);
120 unsigned int i, mi=0;
122 for(i=0; i<n; i++)
if(isnan(mv) || a[i]>mv) {mv=a[i]; mi=i;}
139 if(a==NULL || n<1)
return(s);
140 for(
unsigned int i=0; i<n; i++)
if(!isnan(a[i])) s+=a[i];
156 if(a==NULL || n<1)
return(nanf(
""));
158 unsigned int i, ci=0;
159 for(i=0; i<n; i++)
if(!isnan(a[i])) {ci++; s+=a[i];}
160 if(ci<1)
return(nanf(
""));
183 if(v!=NULL) *v=nanf(
"");
185 if(s==NULL)
return 1;
186 int n=
strTokenNr(s,
" \t");
if(n==0 || n>2)
return 1;
190 *v=(float)dv;
return 0;
198 if(u==NULL)
return 0;
216 if(a==NULL || n<1)
return(0);
218 for(i=0; i<n; i++)
if(!(a[i]>0.0))
break;
234 if(a==NULL || n<1)
return(0);
236 for(i=0; i<n; i++)
if(a[i]>0.0)
break;
253 if(a==NULL || n<1)
return(0);
255 for(i=0; i<n; i++)
if(fabsf(a[i])>0.0) m++;
int atofCheck(const char *s, double *v)
float floatMean(float *a, const unsigned int n)
unsigned int floatNonzeroes(float *a, const unsigned int n)
void floatCopy(float *t, float *s, const unsigned int n)
float floatSum(float *a, const unsigned int n)
int floatGetWithUnit(const char *s, float *v, int *u)
int floatMatch(const float v1, const float v2, const float lim)
int floatCSpanPositives(float *a, const int n)
int floatMatchRel(const float v1, const float v2, const float lim)
unsigned int floatMaxIndex(float *a, const unsigned int n)
int floatSpanPositives(float *a, const int n)
int strTokenNr(const char *s1, const char *s2)
int strTokenNCpy(const char *s1, const char *s2, int i, char *s3, int count)
Header file for library libtpcextensions.
@ UNIT_UNKNOWN
Unknown unit.
int unitIdentify(const char *s)