@@ -3,6 +3,7 @@ program test_mean
33use stdlib_experimental_kinds, only: sp, dp, int32, int64
44use stdlib_experimental_io, only: loadtxt
55use stdlib_experimental_stats, only: mean
6+ use ,intrinsic :: ieee_arithmetic, only : ieee_is_nan
67implicit none
78
89real (sp), parameter :: sptol = 1000 * epsilon (1._sp )
@@ -60,9 +61,9 @@ program test_mean
6061
6162! check mask = .false.
6263
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. ))))
6667
6768! check mask of the same shape as input
6869call assert( abs (mean(d, d > 0 ) - sum (d, d > 0 )/ real (count (d > 0 ), dp)) < dptol)
@@ -125,18 +126,18 @@ program test_mean
125126
126127! check mask = .false.
127128
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. ))))
133134
134135
135136! check mask of the same shape as input
136137call 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 ))) )
140141call assert( sum (abs (mean(d4, 4 , d4 > 0 ) - sum (d4, 4 , d4 > 0 )/ real (count (d4 > 0 , 4 ), dp))) < dptol)
141142
142143end program
0 commit comments