@@ -3,6 +3,7 @@ program test_mean
3
3
use stdlib_experimental_kinds, only: sp, dp, int32, int64
4
4
use stdlib_experimental_io, only: loadtxt
5
5
use stdlib_experimental_stats, only: mean
6
+ use ,intrinsic :: ieee_arithmetic, only : ieee_is_nan
6
7
implicit none
7
8
8
9
real (sp), parameter :: sptol = 1000 * epsilon (1._sp )
@@ -60,9 +61,9 @@ program test_mean
60
61
61
62
! check mask = .false.
62
63
63
- call assert( isnan (mean(d, .false. )))
64
- call assert( any (isnan (mean(d, 1 , .false. ))))
65
- call assert( any (isnan (mean(d, 2 , .false. ))))
64
+ call assert( ieee_is_nan (mean(d, .false. )))
65
+ call assert( any (ieee_is_nan (mean(d, 1 , .false. ))))
66
+ call assert( any (ieee_is_nan (mean(d, 2 , .false. ))))
66
67
67
68
! check mask of the same shape as input
68
69
call assert( abs (mean(d, d > 0 ) - sum (d, d > 0 )/ real (count (d > 0 ), dp)) < dptol)
@@ -125,18 +126,18 @@ program test_mean
125
126
126
127
! check mask = .false.
127
128
128
- call assert( isnan (mean(d4, .false. )))
129
- call assert( any (isnan (mean(d4, 1 , .false. ))))
130
- call assert( any (isnan (mean(d4, 2 , .false. ))))
131
- call assert( any (isnan (mean(d4, 3 , .false. ))))
132
- call assert( any (isnan (mean(d4, 4 , .false. ))))
129
+ call assert( ieee_is_nan (mean(d4, .false. )))
130
+ call assert( any (ieee_is_nan (mean(d4, 1 , .false. ))))
131
+ call assert( any (ieee_is_nan (mean(d4, 2 , .false. ))))
132
+ call assert( any (ieee_is_nan (mean(d4, 3 , .false. ))))
133
+ call assert( any (ieee_is_nan (mean(d4, 4 , .false. ))))
133
134
134
135
135
136
! check mask of the same shape as input
136
137
call assert( abs (mean(d4, d4 > 0 ) - sum (d4, d4 > 0 )/ real (count (d4 > 0 ), dp)) < dptol)
137
- call assert( any (isnan (mean(d4, 1 , d4 > 0 ))) )
138
- call assert( any (isnan (mean(d4, 2 , d4 > 0 ))) )
139
- call assert( any (isnan (mean(d4, 3 , d4 > 0 ))) )
138
+ call assert( any (ieee_is_nan (mean(d4, 1 , d4 > 0 ))) )
139
+ call assert( any (ieee_is_nan (mean(d4, 2 , d4 > 0 ))) )
140
+ call assert( any (ieee_is_nan (mean(d4, 3 , d4 > 0 ))) )
140
141
call assert( sum (abs (mean(d4, 4 , d4 > 0 ) - sum (d4, 4 , d4 > 0 )/ real (count (d4 > 0 , 4 ), dp))) < dptol)
141
142
142
143
end program
0 commit comments