1 /**
2    @file
3    @ingroup wave
4 */
5 
6 #include <bpm/bpm_wf.h>
7 
wfstat_reset(wfstat_t * s)8 int wfstat_reset( wfstat_t *s ) {
9 
10   if ( ! s ) {
11     bpm_error( "Invalid pointer argument in reset_wfstats()",
12 	       __FILE__, __LINE__ );
13     return BPM_FAILURE;
14   }
15 
16   // re-initialise the structure
17   s->imax = 0;
18   s->imin = 0;
19   s->max  = -DBL_MAX;
20   s->min  =  DBL_MAX;
21   s->mean = 0.;
22   s->rms  = 0.;
23 
24   return BPM_SUCCESS;
25 }
26 
27 // ----------------------------------------------------------------------------
28 
wfstat_print(FILE * of,wfstat_t * s)29 void wfstat_print( FILE *of, wfstat_t *s ) {
30 
31   if ( ! of || ! s ) {
32     bpm_error( "Invalid pointer arguments in wfstat_print()", __FILE__, __LINE__ );
33     return;
34   }
35 
36   fprintf( of, "Basic waveform statistics:\n" );
37   fprintf( of, " - maximum ... : wf[%d] = %.14e\n", s->imax, s->max );
38   fprintf( of, " - minimum ... : wf[%d] = %.14e\n", s->imin, s->min );
39   fprintf( of, " - mean ...... : %.14e\n", s->mean );
40   fprintf( of, " - rms ....... : %.14e\n", s->rms );
41   fflush( of );
42 
43   return;
44 }
45