1! { dg-do run } 2! { dg-options "-O2 -ftree-vectorize -ffast-math" } 3! 4! Contributed by Joost VandeVondele <jv244@cam.ac.uk> 5! 6SUBROUTINE T(nsubcell,sab_max,subcells) 7 INTEGER, PARAMETER :: dp=KIND(0.0D0) 8 REAL(dp) :: sab_max(3), subcells,nsubcell(3) 9 nsubcell(:) = MIN(MAX(1,NINT(0.5_dp*subcells/sab_max(:))),20) 10END SUBROUTINE T 11 12INTEGER, PARAMETER :: dp=KIND(0.0D0) 13REAL(dp) :: sab_max(3), subcells,nsubcell(3) 14subcells=2.0_dp 15sab_max=0.590060749244805_dp 16CALL T(nsubcell,sab_max,subcells) 17IF (ANY(nsubcell.NE.2.0_dp)) CALL ABORT() 18END 19