0
-
Source:monotonicMod.f90
0
-
Graph:monotonicMod.gcno
0
-
Data:monotonicMod.gcda
1
-
!! Monotonicity testing utilities for input validation
4
-
!! Provides interface to test whether an input vector is strictly monotonically increasing
10
-
MODULE PROCEDURE monotonic_sngl, monotonic_dble
11
-
END INTERFACE monotonic
15
14
FUNCTION monotonic_sngl( x, N )
16
-
!! Tests if single precision vector is monotonically increasing
18
-
LOGICAL :: monotonic_sngl
19
-
INTEGER, INTENT( IN ) :: N
20
-
REAL (KIND=4), DIMENSION( N ), INTENT( IN ) :: x
22
14
monotonic_sngl = .TRUE.
23
14
IF ( N == 1 ) RETURN
24
2008*
IF ( ANY( x( 2 : N ) <= x( 1 : N - 1 ) ) ) monotonic_sngl = .FALSE.
26
4
END FUNCTION monotonic_sngl
28
44
FUNCTION monotonic_dble( x, N )
29
-
!! Tests if double precision vector is monotonically increasing
31
-
LOGICAL :: monotonic_dble
32
-
INTEGER, INTENT( IN ) :: N
33
-
REAL (KIND=8), DIMENSION( N ), INTENT( IN ) :: x
35
44
monotonic_dble = .TRUE.
36
44*
IF ( N == 1 ) RETURN
37
157*
IF ( ANY( x( 2 : N ) <= x( 1 : N - 1 ) ) ) monotonic_dble = .FALSE.
39
44
END FUNCTION monotonic_dble
41
-
END MODULE monotonicMod