00001 #ifndef __STAT_H
00002 #define __STAT_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #include "spltdef.h"
00034
00035
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00041
00042
00043 typedef struct _STAT {
00044 SPL_LONG _n;
00045 SPL_FLOAT _mean, _msqv, _var, _min, _max, _range;
00046 SPL_pLONG _hist;
00047 SPL_LONG _under, _over;
00048 SPL_INT _divs, _sec;
00049 } STAT, SPL_PTR pSTAT;
00050
00051
00052
00053 pSTAT API stat_construct( SPL_INT nhistdivs );
00054 SPL_VOID API stat_destruct( pSTAT st );
00055
00056 SPL_VOID API stat_first( pSTAT st );
00057 SPL_VOID API stat_second( pSTAT st );
00058 SPL_VOID API stat_setvalue( pSTAT st, SPL_FLOAT x );
00059 SPL_VOID API stat_setminmax( pSTAT st,
00060 SPL_FLOAT min, SPL_FLOAT max );
00061
00062 SPL_LONG API stat_n( pSTAT st );
00063 SPL_FLOAT API stat_mean( pSTAT st );
00064 SPL_FLOAT API stat_msqv( pSTAT st );
00065 SPL_FLOAT API stat_min( pSTAT st );
00066 SPL_FLOAT API stat_max( pSTAT st );
00067
00068 SPL_FLOAT API stat_variance( pSTAT st );
00069 SPL_FLOAT API stat_stddev( pSTAT st );
00070
00071 SPL_INT API stat_nhistdivs( pSTAT st );
00072 SPL_pLONG API stat_hists( pSTAT st );
00073 SPL_LONG API stat_histunder( pSTAT st );
00074 SPL_LONG API stat_histover( pSTAT st );
00075 SPL_FLOAT API stat_histdivwidth( pSTAT st );
00076 SPL_LONG API stat_histdivcount( pSTAT st, SPL_INT div );
00077 SPL_LONG API stat_histdivacccount( pSTAT st, SPL_INT div );
00078 SPL_FLOAT API stat_histdivprob( pSTAT st, SPL_INT div );
00079 SPL_FLOAT API stat_histdivaccprob( pSTAT st, SPL_INT div );
00080 SPL_FLOAT API stat_histdivmin( pSTAT st, SPL_INT div );
00081 SPL_FLOAT API stat_histdivmax( pSTAT st, SPL_INT div );
00082 SPL_INT API stat_histlocate( pSTAT st, SPL_FLOAT x );
00083 SPL_VOID API stat_blocklimits( pSTAT st, SPL_FLOAT blkprob,
00084 SPL_FLOAT * min, SPL_FLOAT * max );
00085
00086
00087
00088 #ifdef __cplusplus
00089 }
00090 #endif
00091
00092
00093
00094 #endif
00095