summaryrefslogtreecommitdiffstats
path: root/fortran/test/tf.f90
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2014-04-08 00:18:20 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2014-04-08 00:18:20 (GMT)
commitff9a10cfdacfd30fc1720b7c82bc28d204b76ce2 (patch)
tree2e7c07b41caace92775d8162012d94e79b4df029 /fortran/test/tf.f90
parent67a61ed22f31b9af0ace476b0cc58d7236bb9ac3 (diff)
downloadhdf5-ff9a10cfdacfd30fc1720b7c82bc28d204b76ce2.zip
hdf5-ff9a10cfdacfd30fc1720b7c82bc28d204b76ce2.tar.gz
hdf5-ff9a10cfdacfd30fc1720b7c82bc28d204b76ce2.tar.bz2
[svn-r24984] Added overload operatorZ to compare REALs for tests.
Tested on jam (gfortran, (-r8))
Diffstat (limited to 'fortran/test/tf.f90')
-rw-r--r--fortran/test/tf.f9058
1 files changed, 54 insertions, 4 deletions
diff --git a/fortran/test/tf.f90 b/fortran/test/tf.f90
index cfa403a..78c7034 100644
--- a/fortran/test/tf.f90
+++ b/fortran/test/tf.f90
@@ -28,13 +28,63 @@
!
!*****
+! Define single, double and quadprecision
+
+MODULE h5_kinds
+ INTEGER, PARAMETER :: sp = SELECTED_REAL_KIND(6, 37)
+ INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(15, 307)
+ INTEGER, PARAMETER :: qp = SELECTED_REAL_KIND(33, 4931)
+END MODULE h5_kinds
+
+! Functions for Comparing two REAL numbers that
+! are quad, double and single precision.
+
+MODULE single_test_eqv
+ USE h5_kinds, ONLY: wp => sp
+ IMPLICIT NONE
+CONTAINS
+ INCLUDE 'tf_include.f90'
+END MODULE single_test_eqv
+
+MODULE double_test_eqv
+ USE h5_kinds, ONLY: wp => dp
+ IMPLICIT NONE
+CONTAINS
+ INCLUDE 'tf_include.f90'
+END MODULE double_test_eqv
+
+MODULE quad_test_eqv
+ USE h5_kinds, ONLY: wp => qp
+ IMPLICIT NONE
+CONTAINS
+ INCLUDE 'tf_include.f90'
+END MODULE quad_test_eqv
+
+! Interface operator for comparing reals
+
+MODULE generic_eqv
+
+ USE single_test_eqv, ONLY: test_eqv_1 => test_eqv
+ USE double_test_eqv, ONLY: test_eqv_2 => test_eqv
+ USE quad_test_eqv , ONLY: test_eqv_3 => test_eqv
+ IMPLICIT NONE
+ PRIVATE
+ PUBLIC OPERATOR(.realeq.)
+
+ INTERFACE OPERATOR(.realeq.)
+ MODULE PROCEDURE test_eqv_1, test_eqv_2, test_eqv_3
+ END INTERFACE
+
+END MODULE generic_eqv
+
MODULE TH5_MISC
+ USE generic_eqv
-INTERFACE compare_floats
- MODULE PROCEDURE compare_floats_4
- MODULE PROCEDURE compare_floats_8
-END INTERFACE
+ INTERFACE compare_floats
+ MODULE PROCEDURE compare_floats_4
+ MODULE PROCEDURE compare_floats_8
+ END INTERFACE
CONTAINS