By default, floating point underflows do not raise a runtime exception. An initial call to PERMIT_UNDERFLOWS@(0_2) will cause underflows to be trapped.
SUBROUTINE PERMIT_UNDERFLOW@(opt)
INTEGER(2),INTENT(IN)::opt
Set opt=0 to trap underflows. Other values of opt cause underflows to be enabled.
When underflows are permitted, the total number of underflows can be returned by calling UNDERFLOW_COUNT@ but only after calling SET_SOFTWARE_UNDERFLOWS@(1) which adds a significant overhead and should not be used in production mode.
SUBROUTINE UNDERFLOW_COUNT@(count)
INTEGER,INTENT(OUT)::count
SUBROUTINE SET_SOFTWARE_UNDERFLOWS@(opt)
INTEGER,INTENT(IN)::opt
opt = 0 Use hardware to convert underflows to zero.
opt = 1 Use software to handle underflows - enabling underflow counting.
opt = 2 Treat underflows as errors.
The 32 bit routine MASK_UNDERFLOWS@ is not implemented for 64 bits.