@@ -58,13 +58,13 @@ pure module function aggregate_diagnosis(diagnoses) result(diagnosis)
5858
5959 interface operator (.approximates. )
6060
61- pure module function approximates_real(actual, expected) result(operands)
61+ elemental module function approximates_real(actual, expected) result(operands)
6262 implicit none
6363 real , intent (in ) :: actual, expected
6464 type (operands_t) operands
6565 end function
6666
67- pure module function approximates_double_precision(actual, expected) result(operands)
67+ elemental module function approximates_double_precision(actual, expected) result(operands)
6868 implicit none
6969 double precision , intent (in ) :: actual, expected
7070#if HAVE_DERIVED_TYPE_KIND_PARAMETERS
@@ -78,7 +78,7 @@ pure module function approximates_double_precision(actual, expected) result(oper
7878
7979 interface operator (.equalsExpected. )
8080
81- pure module function equals_expected_integer(actual, expected) result(test_diagnosis)
81+ elemental module function equals_expected_integer(actual, expected) result(test_diagnosis)
8282 implicit none
8383 integer , intent (in ) :: actual, expected
8484 type (test_diagnosis_t) test_diagnosis
@@ -88,19 +88,19 @@ pure module function equals_expected_integer(actual, expected) result(test_diagn
8888
8989 interface operator (.lessThan. )
9090
91- pure module function less_than_real(actual, expected_ceiling) result(test_diagnosis)
91+ elemental module function less_than_real(actual, expected_ceiling) result(test_diagnosis)
9292 implicit none
9393 real , intent (in ) :: actual, expected_ceiling
9494 type (test_diagnosis_t) test_diagnosis
9595 end function
9696
97- pure module function less_than_double(actual, expected_ceiling) result(test_diagnosis)
97+ elemental module function less_than_double(actual, expected_ceiling) result(test_diagnosis)
9898 implicit none
9999 double precision , intent (in ) :: actual, expected_ceiling
100100 type (test_diagnosis_t) test_diagnosis
101101 end function
102102
103- pure module function less_than_integer(actual, expected_ceiling) result(test_diagnosis)
103+ elemental module function less_than_integer(actual, expected_ceiling) result(test_diagnosis)
104104 implicit none
105105 integer , intent (in ) :: actual, expected_ceiling
106106 type (test_diagnosis_t) test_diagnosis
@@ -130,19 +130,19 @@ elemental module function greater_than_or_equal_to_integer(actual, expected_min)
130130
131131 interface operator (.greaterThan. )
132132
133- pure module function greater_than_real(actual, expected_floor) result(test_diagnosis)
133+ elemental module function greater_than_real(actual, expected_floor) result(test_diagnosis)
134134 implicit none
135135 real , intent (in ) :: actual, expected_floor
136136 type (test_diagnosis_t) test_diagnosis
137137 end function
138138
139- pure module function greater_than_double(actual, expected_floor) result(test_diagnosis)
139+ elemental module function greater_than_double(actual, expected_floor) result(test_diagnosis)
140140 implicit none
141141 double precision , intent (in ) :: actual, expected_floor
142142 type (test_diagnosis_t) test_diagnosis
143143 end function
144144
145- pure module function greater_than_integer(actual, expected_floor) result(test_diagnosis)
145+ elemental module function greater_than_integer(actual, expected_floor) result(test_diagnosis)
146146 implicit none
147147 integer , intent (in ) :: actual, expected_floor
148148 type (test_diagnosis_t) test_diagnosis
@@ -152,14 +152,14 @@ pure module function greater_than_integer(actual, expected_floor) result(test_di
152152
153153 interface operator (.within. )
154154
155- pure module function within_real(operands, tolerance) result(test_diagnosis)
155+ elemental module function within_real(operands, tolerance) result(test_diagnosis)
156156 implicit none
157157 type (operands_t), intent (in ) :: operands
158158 real , intent (in ) :: tolerance
159159 type (test_diagnosis_t) test_diagnosis
160160 end function
161161
162- pure module function within_double_precision(operands, tolerance) result(test_diagnosis)
162+ elemental module function within_double_precision(operands, tolerance) result(test_diagnosis)
163163 implicit none
164164#if HAVE_DERIVED_TYPE_KIND_PARAMETERS
165165 type (operands_t(double_precision)), intent (in ) :: operands
0 commit comments