@@ -200,15 +200,6 @@ pub fn iteration_count(ctx: &CheckCtx, argnum: usize) -> u64 {
200200 domain_iter_count = 100_000 ;
201201 }
202202
203- // Larger float types get more iterations.
204- if t_env. large_float_ty {
205- domain_iter_count *= 4 ;
206- }
207-
208- // Functions with more arguments get more iterations.
209- let arg_multiplier = 1 << ( t_env. input_count - 1 ) ;
210- domain_iter_count *= arg_multiplier;
211-
212203 // If we will be running tests against MPFR, we don't need to test as much against musl.
213204 // However, there are some platforms where we have to test against musl since MPFR can't be
214205 // built.
@@ -228,6 +219,24 @@ pub fn iteration_count(ctx: &CheckCtx, argnum: usize) -> u64 {
228219 }
229220 } ;
230221
222+ // Larger float types get more iterations.
223+ if t_env. large_float_ty && ctx. gen_kind != GeneratorKind :: Extensive {
224+ if ctx. gen_kind == GeneratorKind :: Extensive {
225+ total_iterations *= 2 ;
226+ } else {
227+ total_iterations *= 4 ;
228+ }
229+ }
230+
231+ // Functions with more arguments get more iterations.
232+ let arg_multiplier = 1 << ( t_env. input_count - 1 ) ;
233+ total_iterations *= arg_multiplier;
234+
235+ // FMA has a huge domain but is reasonably fast to run, so increase iterations.
236+ if ctx. base_name == BaseName :: Fma {
237+ total_iterations *= 4 ;
238+ }
239+
231240 // Some tests are significantly slower than others and need to be further reduced.
232241 if let Some ( ( _id, _gen, scale) ) = EXTEMELY_SLOW_TESTS
233242 . iter ( )
@@ -239,11 +248,6 @@ pub fn iteration_count(ctx: &CheckCtx, argnum: usize) -> u64 {
239248 }
240249 }
241250
242- // FMA has a huge domain but is reasonably fast to run, so increase iterations.
243- if ctx. base_name == BaseName :: Fma {
244- total_iterations *= 4 ;
245- }
246-
247251 if cfg ! ( optimizations_enabled) {
248252 // Always run at least 10,000 tests.
249253 total_iterations = total_iterations. max ( 10_000 ) ;
0 commit comments