comparison maths/MathUtilities.h @ 477:fa407c1d9923

Untabify + indent
author Chris Cannam <cannam@all-day-breakfast.com>
date Thu, 30 May 2019 18:36:48 +0100
parents d583feeeed7a
children
comparison
equal deleted inserted replaced
476:2de6184b2ce0 477:fa407c1d9923
23 /** 23 /**
24 * Static helper functions for simple mathematical calculations. 24 * Static helper functions for simple mathematical calculations.
25 */ 25 */
26 class MathUtilities 26 class MathUtilities
27 { 27 {
28 public: 28 public:
29 /** 29 /**
30 * Round x to the nearest integer. 30 * Round x to the nearest integer.
31 */ 31 */
32 static double round( double x ); 32 static double round( double x );
33 33
34 /** 34 /**
35 * Return through min and max pointers the highest and lowest 35 * Return through min and max pointers the highest and lowest
36 * values in the given array of the given length. 36 * values in the given array of the given length.
37 */ 37 */
38 static void getFrameMinMax( const double* data, int len, double* min, double* max ); 38 static void getFrameMinMax( const double* data, int len,
39 double* min, double* max );
39 40
40 /** 41 /**
41 * Return the mean of the given array of the given length. 42 * Return the mean of the given array of the given length.
42 */ 43 */
43 static double mean( const double* src, int len ); 44 static double mean( const double* src, int len );
77 * The alpha norm is the alpha'th root of the mean alpha'th power 78 * The alpha norm is the alpha'th root of the mean alpha'th power
78 * magnitude. For example if alpha = 2 this corresponds to the RMS 79 * magnitude. For example if alpha = 2 this corresponds to the RMS
79 * of the input data, and when alpha = 1 this is the mean 80 * of the input data, and when alpha = 1 this is the mean
80 * magnitude. 81 * magnitude.
81 */ 82 */
82 static void getAlphaNorm(const double *data, int len, int alpha, double* ANorm); 83 static void getAlphaNorm(const double *data, int len, int alpha, double* ANorm);
83 84
84 /** 85 /**
85 * The alpha norm is the alpha'th root of the mean alpha'th power 86 * The alpha norm is the alpha'th root of the mean alpha'th power
86 * magnitude. For example if alpha = 2 this corresponds to the RMS 87 * magnitude. For example if alpha = 2 this corresponds to the RMS
87 * of the input data, and when alpha = 1 this is the mean 88 * of the input data, and when alpha = 1 this is the mean
122 * Threshold the input/output vector data against a moving-mean 123 * Threshold the input/output vector data against a moving-mean
123 * average filter. 124 * average filter.
124 */ 125 */
125 static void adaptiveThreshold(std::vector<double> &data); 126 static void adaptiveThreshold(std::vector<double> &data);
126 127
127 static void circShift( double* data, int length, int shift); 128 static void circShift( double* data, int length, int shift);
128 129
129 static int getMax( double* data, int length, double* max = 0 ); 130 static int getMax( double* data, int length, double* max = 0 );
130 static int getMax( const std::vector<double> &data, double* max = 0 ); 131 static int getMax( const std::vector<double> &data, double* max = 0 );
131 static int compareInt(const void * a, const void * b); 132 static int compareInt(const void * a, const void * b);
132 133
133 /** 134 /**
134 * Return true if x is 2^n for some integer n >= 0. 135 * Return true if x is 2^n for some integer n >= 0.
135 */ 136 */
136 static bool isPowerOfTwo(int x); 137 static bool isPowerOfTwo(int x);