File tree 4 files changed +9
-62
lines changed
lib/node_modules/@stdlib/stats/base/sdsmean
4 files changed +9
-62
lines changed Original file line number Diff line number Diff line change 20
20
21
21
// MODULES //
22
22
23
- var float64ToFloat32 = require ( '@stdlib/number/float64/ base/to-float32 ' ) ;
23
+ var sdsmeanors = require ( '@stdlib/stats/ base/sdsmeanors ' ) . ndarray ;
24
24
25
25
26
26
// MAIN //
@@ -45,23 +45,7 @@ var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
45
45
* // returns 1.25
46
46
*/
47
47
function sdsmean ( N , x , stride , offset ) {
48
- var sum ;
49
- var ix ;
50
- var i ;
51
-
52
- if ( N <= 0 ) {
53
- return NaN ;
54
- }
55
- if ( N === 1 || stride === 0 ) {
56
- return x [ offset ] ;
57
- }
58
- ix = offset ;
59
- sum = 0.0 ;
60
- for ( i = 0 ; i < N ; i ++ ) {
61
- sum += x [ ix ] ;
62
- ix += stride ;
63
- }
64
- return float64ToFloat32 ( sum / N ) ;
48
+ return sdsmeanors ( N , x , stride , offset ) ;
65
49
}
66
50
67
51
Original file line number Diff line number Diff line change 20
20
21
21
// MODULES //
22
22
23
- var float64ToFloat32 = require ( '@stdlib/number/float64/ base/to-float32 ' ) ;
23
+ var sdsmeanors = require ( '@stdlib/stats/ base/sdsmeanors ' ) ;
24
24
25
25
26
26
// MAIN //
@@ -43,27 +43,7 @@ var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
43
43
* // returns ~0.3333
44
44
*/
45
45
function sdsmean ( N , x , stride ) {
46
- var sum ;
47
- var ix ;
48
- var i ;
49
-
50
- if ( N <= 0 ) {
51
- return NaN ;
52
- }
53
- if ( N === 1 || stride === 0 ) {
54
- return x [ 0 ] ;
55
- }
56
- if ( stride < 0 ) {
57
- ix = ( 1 - N ) * stride ;
58
- } else {
59
- ix = 0 ;
60
- }
61
- sum = 0.0 ;
62
- for ( i = 0 ; i < N ; i ++ ) {
63
- sum += x [ ix ] ;
64
- ix += stride ;
65
- }
66
- return float64ToFloat32 ( sum / N ) ;
46
+ return sdsmeanors ( N , x , stride ) ;
67
47
}
68
48
69
49
Original file line number Diff line number Diff line change 34
34
" -lm"
35
35
],
36
36
"libpath" : [],
37
- "dependencies" : []
37
+ "dependencies" : [
38
+ " @stdlib/stats/base/sdsmeanors"
39
+ ]
38
40
}
39
41
]
40
42
}
Original file line number Diff line number Diff line change 17
17
*/
18
18
19
19
#include "stdlib/stats/base/sdsmean.h"
20
+ #include "stdlib/stats/base/sdsmeanors.h"
20
21
#include <stdint.h>
21
22
22
23
/**
28
29
* @return output value
29
30
*/
30
31
float stdlib_strided_sdsmean ( const int64_t N , const float * X , const int64_t stride ) {
31
- double sum ;
32
- int64_t ix ;
33
- int64_t i ;
34
-
35
- if ( N <= 0 ) {
36
- return 0.0 / 0.0 ; // NaN
37
- }
38
- if ( N == 1 || stride == 0 ) {
39
- return X [ 0 ];
40
- }
41
- if ( stride < 0 ) {
42
- ix = (1 - N ) * stride ;
43
- } else {
44
- ix = 0 ;
45
- }
46
- sum = 0.0 ;
47
- for ( i = 0 ; i < N ; i ++ ) {
48
- sum += (double )X [ ix ];
49
- ix += stride ;
50
- }
51
- return sum / N ;
32
+ return stdlib_strided_sdsmeanors ( N , X , stride );
52
33
}
You can’t perform that action at this time.
0 commit comments