Program x02ajfe
! X02AJF Example Program Text
! Mark 29.1 Release. NAG Copyright 2023.
! .. Use Statements ..
Use nag_library, Only: nag_wp, x02ahf, x02ajf, x02akf, x02alf, x02amf, &
x02anf, x02bbf, x02bef, x02bhf, x02bjf, x02bkf, &
x02blf
! .. Implicit None Statement ..
Implicit None
! .. Parameters ..
Integer, Parameter :: nout = 6
! .. Local Scalars ..
Real (Kind=nag_wp) :: largest_arg, largest_pos, machpr, &
safe_complex, safe_real, &
smallest_pos
Integer :: largest_pos_int, model_b, &
model_emax, model_emin, model_p, &
prec
! .. Executable Statements ..
Write (nout,*) 'X02AJF Example Program Results'
Write (nout,*)
Write (nout,*) '(results are machine-dependent)'
Write (nout,*)
Write (nout,*) 'The basic parameters of the model'
Write (nout,*)
model_b = x02bhf()
Write (nout,99999) ' X02BHF = ', model_b, ' (the model parameter B)'
model_p = x02bjf()
Write (nout,99999) ' X02BJF = ', model_p, ' (the model parameter P)'
model_emin = x02bkf()
Write (nout,99999) ' X02BKF = ', model_emin, &
' (the model parameter EMIN)'
model_emax = x02blf()
Write (nout,99999) ' X02BLF = ', model_emax, &
' (the model parameter EMAX)'
Write (nout,*)
Write (nout,*) 'Derived parameters of floating-point arithmetic'
Write (nout,*)
machpr = x02ajf()
Write (nout,99998) ' X02AJF = ', machpr, ' (the machine precision)'
smallest_pos = x02akf()
Write (nout,99998) ' X02AKF = ', smallest_pos, &
' (the smallest positive model number)'
largest_pos = x02alf()
Write (nout,99998) ' X02ALF = ', largest_pos, &
' (the largest positive model number)'
safe_real = x02amf()
Write (nout,99998) ' X02AMF = ', safe_real, &
' (the real safe range parameter)'
safe_complex = x02anf()
Write (nout,99998) ' X02ANF = ', safe_complex, &
' (the complex safe range parameter)'
Write (nout,*)
Write (nout,*) &
'Parameters of other aspects of the computing environment'
Write (nout,*)
largest_arg = x02ahf(0.0E0_nag_wp)
Write (nout,99996) ' X02AHF = ', largest_arg, &
' (largest argument for SIN and COS)'
largest_pos_int = x02bbf(0.0E0_nag_wp)
Write (nout,99997) ' X02BBF = ', largest_pos_int, &
' (largest positive integer)'
prec = x02bef(0.0E0_nag_wp)
Write (nout,99997) ' X02BEF = ', prec, ' (precision in decimal digits)'
99999 Format (1X,A,I7,1X,A)
99998 Format (1X,A,1P,E26.18e3,1X,A)
99997 Format (1X,A,I20,1X,A)
99996 Format (1X,A,1P,E20.8e3,1X,A)
End Program x02ajfe