LA_CONSTANTS is a module for the scaling constants for the compiled Fortran single and double precisions More...
Variables | |
| integer, parameter | sp = kind(1.e0) |
| real(sp), parameter | szero = 0.0_sp |
| real(sp), parameter | shalf = 0.5_sp |
| real(sp), parameter | sone = 1.0_sp |
| real(sp), parameter | stwo = 2.0_sp |
| real(sp), parameter | sthree = 3.0_sp |
| real(sp), parameter | sfour = 4.0_sp |
| real(sp), parameter | seight = 8.0_sp |
| real(sp), parameter | sten = 10.0_sp |
| complex(sp), parameter | czero = ( 0.0_sp, 0.0_sp ) |
| complex(sp), parameter | chalf = ( 0.5_sp, 0.0_sp ) |
| complex(sp), parameter | cone = ( 1.0_sp, 0.0_sp ) |
| character *1, parameter | sprefix = 'S' |
| character *1, parameter | cprefix = 'C' |
| real(sp), parameter | sulp = epsilon(0._sp) |
| real(sp), parameter | seps = sulp * 0.5_sp |
| real(sp), parameter | ssafmin = real(radix(0._sp), sp)**max( minexponent(0._sp)-1, 1-maxexponent(0._sp) ) |
| real(sp), parameter | ssafmax = sone / ssafmin |
| real(sp), parameter | ssmlnum = ssafmin / sulp |
| real(sp), parameter | sbignum = ssafmax * sulp |
| real(sp), parameter | srtmin = sqrt(ssmlnum) |
| real(sp), parameter | srtmax = sqrt(sbignum) |
| real(sp), parameter | stsml = real(radix(0._sp), sp)**ceiling( (minexponent(0._sp) - 1) * 0.5_sp) |
| real(sp), parameter | stbig = real(radix(0._sp), sp)**floor( (maxexponent(0._sp) - digits(0._sp) + 1) * 0.5_sp) |
| real(sp), parameter | sssml = real(radix(0._sp), sp)**( - floor( (minexponent(0._sp) - digits(0._sp)) * 0.5_sp)) |
| real(sp), parameter | ssbig = real(radix(0._sp), sp)**( - ceiling( (maxexponent(0._sp) + digits(0._sp) - 1) * 0.5_sp)) |
| integer, parameter | dp = kind(1.d0) |
| real(dp), parameter | dzero = 0.0_dp |
| real(dp), parameter | dhalf = 0.5_dp |
| real(dp), parameter | done = 1.0_dp |
| real(dp), parameter | dtwo = 2.0_dp |
| real(dp), parameter | dthree = 3.0_dp |
| real(dp), parameter | dfour = 4.0_dp |
| real(dp), parameter | deight = 8.0_dp |
| real(dp), parameter | dten = 10.0_dp |
| complex(dp), parameter | zzero = ( 0.0_dp, 0.0_dp ) |
| complex(dp), parameter | zhalf = ( 0.5_dp, 0.0_dp ) |
| complex(dp), parameter | zone = ( 1.0_dp, 0.0_dp ) |
| character *1, parameter | dprefix = 'D' |
| character *1, parameter | zprefix = 'Z' |
| real(dp), parameter | dulp = epsilon(0._dp) |
| real(dp), parameter | deps = dulp * 0.5_dp |
| real(dp), parameter | dsafmin = real(radix(0._dp), dp)**max( minexponent(0._dp)-1, 1-maxexponent(0._dp) ) |
| real(dp), parameter | dsafmax = done / dsafmin |
| real(dp), parameter | dsmlnum = dsafmin / dulp |
| real(dp), parameter | dbignum = dsafmax * dulp |
| real(dp), parameter | drtmin = sqrt(dsmlnum) |
| real(dp), parameter | drtmax = sqrt(dbignum) |
| real(dp), parameter | dtsml = real(radix(0._dp), dp)**ceiling( (minexponent(0._dp) - 1) * 0.5_dp) |
| real(dp), parameter | dtbig = real(radix(0._dp), dp)**floor( (maxexponent(0._dp) - digits(0._dp) + 1) * 0.5_dp) |
| real(dp), parameter | dssml = real(radix(0._dp), dp)**( - floor( (minexponent(0._dp) - digits(0._dp)) * 0.5_dp)) |
| real(dp), parameter | dsbig = real(radix(0._dp), dp)**( - ceiling( (maxexponent(0._dp) + digits(0._dp) - 1) * 0.5_dp)) |
LA_CONSTANTS is a module for the scaling constants for the compiled Fortran single and double precisions
!> !> Anderson E. (2017) !> Algorithm 978: Safe Scaling in the Level 1 BLAS !> ACM Trans Math Softw 44:1--28 !> https://doi.org/10.1145/3061665 !> !> Blue, James L. (1978) !> A Portable Fortran Program to Find the Euclidean Norm of a Vector !> ACM Trans Math Softw 4:15--23 !> https://doi.org/10.1145/355769.355771 !> !>
Definition at line 57 of file la_constants.f90.
Definition at line 58 of file la_constants.f90.
| character*1, parameter la_constants::cprefix = 'C' |
Definition at line 60 of file la_constants.f90.
Definition at line 56 of file la_constants.f90.
Definition at line 114 of file la_constants.f90.
| real(dp), parameter la_constants::deight = 8.0_dp |
Definition at line 97 of file la_constants.f90.
Definition at line 107 of file la_constants.f90.
| real(dp), parameter la_constants::dfour = 4.0_dp |
Definition at line 96 of file la_constants.f90.
| real(dp), parameter la_constants::dhalf = 0.5_dp |
Definition at line 92 of file la_constants.f90.
| real(dp), parameter la_constants::done = 1.0_dp |
Definition at line 93 of file la_constants.f90.
| integer, parameter la_constants::dp = kind(1.d0) |
Definition at line 89 of file la_constants.f90.
| character*1, parameter la_constants::dprefix = 'D' |
Definition at line 102 of file la_constants.f90.
Definition at line 116 of file la_constants.f90.
Definition at line 115 of file la_constants.f90.
Definition at line 112 of file la_constants.f90.
| real(dp), parameter la_constants::dsafmin = real(radix(0._dp), dp)**max( minexponent(0._dp)-1, 1-maxexponent(0._dp) ) |
Definition at line 108 of file la_constants.f90.
| real(dp), parameter la_constants::dsbig = real(radix(0._dp), dp)**( - ceiling( (maxexponent(0._dp) + digits(0._dp) - 1) * 0.5_dp)) |
Definition at line 128 of file la_constants.f90.
Definition at line 113 of file la_constants.f90.
| real(dp), parameter la_constants::dssml = real(radix(0._dp), dp)**( - floor( (minexponent(0._dp) - digits(0._dp)) * 0.5_dp)) |
Definition at line 125 of file la_constants.f90.
| real(dp), parameter la_constants::dtbig = real(radix(0._dp), dp)**floor( (maxexponent(0._dp) - digits(0._dp) + 1) * 0.5_dp) |
Definition at line 121 of file la_constants.f90.
| real(dp), parameter la_constants::dten = 10.0_dp |
Definition at line 98 of file la_constants.f90.
| real(dp), parameter la_constants::dthree = 3.0_dp |
Definition at line 95 of file la_constants.f90.
| real(dp), parameter la_constants::dtsml = real(radix(0._dp), dp)**ceiling( (minexponent(0._dp) - 1) * 0.5_dp) |
Definition at line 119 of file la_constants.f90.
| real(dp), parameter la_constants::dtwo = 2.0_dp |
Definition at line 94 of file la_constants.f90.
| real(dp), parameter la_constants::dulp = epsilon(0._dp) |
Definition at line 106 of file la_constants.f90.
| real(dp), parameter la_constants::dzero = 0.0_dp |
Definition at line 91 of file la_constants.f90.
Definition at line 71 of file la_constants.f90.
| real(sp), parameter la_constants::seight = 8.0_sp |
Definition at line 54 of file la_constants.f90.
Definition at line 64 of file la_constants.f90.
| real(sp), parameter la_constants::sfour = 4.0_sp |
Definition at line 53 of file la_constants.f90.
| real(sp), parameter la_constants::shalf = 0.5_sp |
Definition at line 49 of file la_constants.f90.
| real(sp), parameter la_constants::sone = 1.0_sp |
Definition at line 50 of file la_constants.f90.
| integer, parameter la_constants::sp = kind(1.e0) |
Definition at line 46 of file la_constants.f90.
| character*1, parameter la_constants::sprefix = 'S' |
Definition at line 59 of file la_constants.f90.
Definition at line 73 of file la_constants.f90.
Definition at line 72 of file la_constants.f90.
Definition at line 69 of file la_constants.f90.
| real(sp), parameter la_constants::ssafmin = real(radix(0._sp), sp)**max( minexponent(0._sp)-1, 1-maxexponent(0._sp) ) |
Definition at line 65 of file la_constants.f90.
| real(sp), parameter la_constants::ssbig = real(radix(0._sp), sp)**( - ceiling( (maxexponent(0._sp) + digits(0._sp) - 1) * 0.5_sp)) |
Definition at line 85 of file la_constants.f90.
Definition at line 70 of file la_constants.f90.
| real(sp), parameter la_constants::sssml = real(radix(0._sp), sp)**( - floor( (minexponent(0._sp) - digits(0._sp)) * 0.5_sp)) |
Definition at line 82 of file la_constants.f90.
| real(sp), parameter la_constants::stbig = real(radix(0._sp), sp)**floor( (maxexponent(0._sp) - digits(0._sp) + 1) * 0.5_sp) |
Definition at line 78 of file la_constants.f90.
| real(sp), parameter la_constants::sten = 10.0_sp |
Definition at line 55 of file la_constants.f90.
| real(sp), parameter la_constants::sthree = 3.0_sp |
Definition at line 52 of file la_constants.f90.
| real(sp), parameter la_constants::stsml = real(radix(0._sp), sp)**ceiling( (minexponent(0._sp) - 1) * 0.5_sp) |
Definition at line 76 of file la_constants.f90.
| real(sp), parameter la_constants::stwo = 2.0_sp |
Definition at line 51 of file la_constants.f90.
| real(sp), parameter la_constants::sulp = epsilon(0._sp) |
Definition at line 63 of file la_constants.f90.
| real(sp), parameter la_constants::szero = 0.0_sp |
Definition at line 48 of file la_constants.f90.
Definition at line 100 of file la_constants.f90.
Definition at line 101 of file la_constants.f90.
| character*1, parameter la_constants::zprefix = 'Z' |
Definition at line 103 of file la_constants.f90.
Definition at line 99 of file la_constants.f90.