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 }
|
|
|
|
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001