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