#include "mmxavg.h"
Include dependency graph for mmxavg.c:
Go to the source code of this file.
Functions | |
char | __attribute__ ((unused)) ident[]="$Id |
int | mmxavgReset (MMXAVG_STRUCT *mmxavg) |
int | mmxavgAdd (MMXAVG_STRUCT *mmxavg, double num) |
double | mmxavgMin (MMXAVG_STRUCT *mmxavg) |
double | mmxavgMax (MMXAVG_STRUCT *mmxavg) |
double | mmxavgAvg (MMXAVG_STRUCT *mmxavg) |
|
Definition at line 22 of file mmxavg.c. 00022 : mmxavg.c,v 1.3 2001/06/25 15:04:11 wshackle Exp $"; 00023 00024 #ifndef MAIN 00025 /* MAIN not defined-- compile functions only, no main() */ 00026 00027 int mmxavgInit(MMXAVG_STRUCT *mmxavg, double *space, int size) 00028 { 00029 if(0 == mmxavg) 00030 { 00031 return -1; 00032 } 00033 mmxavg->nums = space; 00034 mmxavg->size = size; 00035 00036 return mmxavgReset(mmxavg); 00037 } |
|
Definition at line 55 of file mmxavg.c. 00056 { 00057 if(0 == mmxavg) 00058 { 00059 return -1; 00060 } 00061 if(mmxavg->index >= mmxavg->size || 00062 mmxavg->index < 0 ) 00063 { 00064 return -1; 00065 } 00066 if (mmxavg->in == mmxavg->size) 00067 { 00068 /* already full-- knock off oldest */ 00069 mmxavg->sum -= mmxavg->nums[mmxavg->index]; 00070 } 00071 else 00072 { 00073 mmxavg->in++; 00074 } 00075 00076 mmxavg->nums[mmxavg->index] = num; 00077 mmxavg->sum += num; 00078 mmxavg->index++; 00079 if (mmxavg->index == mmxavg->size) 00080 { 00081 mmxavg->index = 0; 00082 } 00083 00084 if (! mmxavg->inited) 00085 { 00086 mmxavg->min = num; 00087 mmxavg->max = num; 00088 mmxavg->inited = 1; 00089 } 00090 else if (num < mmxavg->min) 00091 { 00092 mmxavg->min = num; 00093 } 00094 else if (num > mmxavg->max) 00095 { 00096 mmxavg->max = num; 00097 } 00098 00099 return 0; 00100 } |
|
Definition at line 120 of file mmxavg.c. 00121 { 00122 if(0 == mmxavg) 00123 { 00124 return -1; 00125 } 00126 if (mmxavg->in > 0) 00127 { 00128 return mmxavg->sum / mmxavg->in; 00129 } 00130 else 00131 { 00132 return 0.0; 00133 } 00134 } |
|
Definition at line 111 of file mmxavg.c. 00112 { 00113 if(0 == mmxavg) 00114 { 00115 return -1; 00116 } 00117 return mmxavg->max; 00118 } |
|
Definition at line 102 of file mmxavg.c. 00103 { 00104 if(0 == mmxavg) 00105 { 00106 return -1; 00107 } 00108 return mmxavg->min; 00109 } |
|
Definition at line 39 of file mmxavg.c. 00040 { 00041 if(0 == mmxavg) 00042 { 00043 return -1; 00044 } 00045 mmxavg->sum = 0; 00046 mmxavg->index = 0; 00047 mmxavg->in = 0; 00048 mmxavg->inited = 0; 00049 mmxavg->min = 0.0; 00050 mmxavg->max = 0.0; 00051 00052 return 0; 00053 } |