Main Page | Data Structures | Directories | File List | Globals

mqstat.h

Go to the documentation of this file.
00001 #ifndef _MQSTAT_H_
00002 #define _MQSTAT_H_
00003 
00004 /* Copyright (c) Kyriacos Leptos and the President and Fellows of Harvard University
00005    Release Date: 2004-11-01
00006    Part of the MapQuant suite library "mqbasic.lib" 
00007 */
00008 
00018 enum { EXCLUDE_ZEROS = 0, 
00019        INCLUDE_ZEROS = 1};
00020 
00021 enum { MQDESCRIPTIVE_STATISTICS_DATA_TYPE_VECTOR = 0, 
00022        MQDESCRIPTIVE_STATISTICS_DATA_TYPE_MATRIX = 1};
00023 
00028 struct MQDescriptiveStatistics
00029 {
00030     unsigned data_type:2;
00031     unsigned is_median_set: 1;
00032     unsigned is_mean_set: 1;
00033     unsigned is_data_set: 1;
00034 
00035     float mean;
00036     float median;
00037     float sample_variance;
00038     float avg_absolute_deviation_from_median;
00039     float median_absolute_deviation_from_median;
00040     void* data;
00041     int   start_index_vector[2];
00042     int   stop_index_vector[2];
00043     int   N;
00044 };
00045 
00046 typedef struct MQDescriptiveStatistics MQDescriptiveStatistics;
00047 
00048 void MQDescriptiveStatistics_init(MQDescriptiveStatistics* stat);
00049 void MQDescriptiveStatistics_setDataAsVector(MQDescriptiveStatistics* stat, float* vector, int start_index, int stop_index);
00050 void MQDescriptiveStatistics_setDataAsMatrix(MQDescriptiveStatistics* stat, float** matrix, int row_start, int row_end, int col_start, int col_stop);
00051 
00052 void MQDescriptiveStatistics_fprint(FILE* fp, MQDescriptiveStatistics* stat);
00053 
00054 int MQDescriptiveStatistics_calc(MQDescriptiveStatistics* stat);
00055 int MQDescriptiveStatistics_calcAboveMinimum(MQDescriptiveStatistics* stat, float minimum_value);
00056 int MQDescriptiveStatistics_calcWithExclusion(MQDescriptiveStatistics* stat, float exclusion_value);
00057 
00058 float MQDescriptiveStatistics_getMedian(MQDescriptiveStatistics* stat);
00059 float MQDescriptiveStatistics_getMedianAboveMinimum(MQDescriptiveStatistics* stat, float minimum_value);
00060 float MQDescriptiveStatistics_getMedianWithExclusion(MQDescriptiveStatistics* stat, float exclude_value);
00061 
00062 float MQDescriptiveStatistics_getMean             (MQDescriptiveStatistics* stat);
00063 float MQDescriptiveStatistics_getMeanAboveMinimum (MQDescriptiveStatistics* stat, float minimum_value);
00064 float MQDescriptiveStatistics_getMeanWithExclusion(MQDescriptiveStatistics* stat, float exclusion_value);
00065 
00066 float MQDescriptiveStatistics_getSumOfSquareDeviation(MQDescriptiveStatistics* stat, float value);
00067 float MQDescriptiveStatistics_getSumOfSquareDeviationAboveMinimum(MQDescriptiveStatistics* stat, float value, float minimum_value, int* new_size);
00068 float MQDescriptiveStatistics_getSumOfSquareDeviationWithExclusion(MQDescriptiveStatistics* stat, float value, float exclusion_value, int* new_size);
00069 
00070 float MQDescriptiveStatistics_getSumOfAbsoluteDeviation(MQDescriptiveStatistics* stat, float value);
00071 float MQDescriptiveStatistics_getSumOfAbsoluteDeviationAboveMinimum(MQDescriptiveStatistics* stat, float value, float minimum_value, int* new_size);
00072 float MQDescriptiveStatistics_getSumOfAbsoluteDeviationWithExclusion(MQDescriptiveStatistics* stat, float value, float exclusion_value, int* new_size);
00073 
00074 float* MQDescriptiveStatistics_getAbsoluteDeviationVector(MQDescriptiveStatistics* stat, float value);
00075 float* MQDescriptiveStatistics_getAbsoluteDeviationVectorAboveMinimum(MQDescriptiveStatistics* stat, float value, float minimum_value, int* new_size);
00076 float* MQDescriptiveStatistics_getAbsoluteDeviationVectorWithExclusion(MQDescriptiveStatistics* stat, float value, float exclusion_value, int* new_size);
00077 
00078 float MQDescriptiveStatistics_getStandardDeviation(MQDescriptiveStatistics* stat);
00079 float MQDescriptiveStatistics_getStandardDeviationAboveMinimum(MQDescriptiveStatistics* stat, float value);
00080 float MQDescriptiveStatistics_getStandardDeviationWithExclusion(MQDescriptiveStatistics* stat, float value);
00081 
00082 float MQDescriptiveStatistics_getMADM(MQDescriptiveStatistics* stat);
00083 float MQDescriptiveStatistics_getAADM(MQDescriptiveStatistics* stat);
00084 
00085 #endif
00086 

Generated on Tue Feb 7 03:25:43 2006 for libmqbasic by  doxygen 1.4.4