This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Defines | |
#define | __attribute__(x) |
Functions | |
char | __attribute__ ((unused)) mmxavg_h[]="$Id |
int | mmxavgInit (MMXAVG_STRUCT *mmxavg, double *space, int size) |
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) |
Variables | |
MMXAVG_STRUCT |
|
|
|
Definition at line 21 of file mmxavg.h. 00021 : mmxavg.h,v 1.2 2000/10/27 20:34:42 terrylr Exp $"; 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 typedef struct 00028 { 00029 double sum; /* total */ 00030 double *nums; /* array for stored values */ 00031 int index; /* index into array for next spot */ 00032 int in; /* how many in array */ 00033 int size; /* size of array; 0 <= index < max */ 00034 int inited; /* non-zero means at least one value in */ 00035 double min, max; /* saved min, max values */ 00036 } MMXAVG_STRUCT; |
|
Definition at line 55 of file mmxavg.c. Referenced by emcmotController().
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. Referenced by emcmotController().
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 } |
|
Referenced by init_module().
|
|
Definition at line 111 of file mmxavg.c. Referenced by emcmotController().
00112 { 00113 if(0 == mmxavg) 00114 { 00115 return -1; 00116 } 00117 return mmxavg->max; 00118 } |
|
Definition at line 102 of file mmxavg.c. Referenced by emcmotController().
00103 { 00104 if(0 == mmxavg) 00105 { 00106 return -1; 00107 } 00108 return mmxavg->min; 00109 } |
|
Definition at line 39 of file mmxavg.c. Referenced by __attribute__().
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 } |
|
|