CAM
bshr_infnan_mod Module Reference

Data Types

interface  assignment(=)
 
type  shr_infnan_inf_type
 
interface  shr_infnan_isinf
 
interface  shr_infnan_isnan
 
interface  shr_infnan_isneginf
 
interface  shr_infnan_isposinf
 
type  shr_infnan_nan_type
 
interface  shr_infnan_to_r4
 
interface  shr_infnan_to_r8
 

Functions/Subroutines

elemental logical function shr_infnan_isinf_double (x)
 
elemental logical function shr_infnan_isinf_real (x)
 
elemental logical function shr_infnan_isposinf_double (x)
 
elemental logical function shr_infnan_isposinf_real (x)
 
elemental logical function shr_infnan_isneginf_double (x)
 
elemental logical function shr_infnan_isneginf_real (x)
 
pure subroutine set_nan_0d_double (output, nan)
 
pure subroutine set_nan_1d_double (output, nan)
 
pure subroutine set_nan_2d_double (output, nan)
 
pure subroutine set_nan_3d_double (output, nan)
 
pure subroutine set_nan_4d_double (output, nan)
 
pure subroutine set_nan_5d_double (output, nan)
 
pure subroutine set_nan_6d_double (output, nan)
 
pure subroutine set_nan_7d_double (output, nan)
 
pure subroutine set_nan_0d_real (output, nan)
 
pure subroutine set_nan_1d_real (output, nan)
 
pure subroutine set_nan_2d_real (output, nan)
 
pure subroutine set_nan_3d_real (output, nan)
 
pure subroutine set_nan_4d_real (output, nan)
 
pure subroutine set_nan_5d_real (output, nan)
 
pure subroutine set_nan_6d_real (output, nan)
 
pure subroutine set_nan_7d_real (output, nan)
 
pure subroutine set_inf_0d_double (output, inf)
 
pure subroutine set_inf_1d_double (output, inf)
 
pure subroutine set_inf_2d_double (output, inf)
 
pure subroutine set_inf_3d_double (output, inf)
 
pure subroutine set_inf_4d_double (output, inf)
 
pure subroutine set_inf_5d_double (output, inf)
 
pure subroutine set_inf_6d_double (output, inf)
 
pure subroutine set_inf_7d_double (output, inf)
 
pure subroutine set_inf_0d_real (output, inf)
 
pure subroutine set_inf_1d_real (output, inf)
 
pure subroutine set_inf_2d_real (output, inf)
 
pure subroutine set_inf_3d_real (output, inf)
 
pure subroutine set_inf_4d_real (output, inf)
 
pure subroutine set_inf_5d_real (output, inf)
 
pure subroutine set_inf_6d_real (output, inf)
 
pure subroutine set_inf_7d_real (output, inf)
 
pure real(r8) function nan_r8 (nan)
 
pure real(r4) function nan_r4 (nan)
 
pure real(r8) function inf_r8 (inf)
 
pure real(r4) function inf_r4 (inf)
 

Variables

character(len= *), parameter, private mod_filename = __FILE__
 
type(shr_infnan_nan_type), parameter, public shr_infnan_nan = shr_infnan_nan_type(.false.)
 
type(shr_infnan_nan_type), parameter, public shr_infnan_snan = shr_infnan_nan_type(.false.)
 
type(shr_infnan_nan_type), parameter, public shr_infnan_qnan = shr_infnan_nan_type(.true.)
 
type(shr_infnan_inf_type), parameter, public shr_infnan_inf = shr_infnan_inf_type(.true.)
 
type(shr_infnan_inf_type), parameter, public shr_infnan_posinf = shr_infnan_inf_type(.true.)
 
type(shr_infnan_inf_type), parameter, public shr_infnan_neginf = shr_infnan_inf_type(.false.)
 
integer(i4), parameter ssnan_pat = int(Z'7FA00000', i4)
 
integer(i4), parameter sqnan_pat = int(Z'7FC00000', i4)
 
integer(i4), parameter sposinf_pat = int(Z'7F800000', i4)
 
integer(i4), parameter sneginf_pat = ibset(sposinf_pat, bit_size(1_i4)-1)
 
integer(i8), parameter dsnan_pat = int(Z'7FF4000000000000', i8)
 
integer(i8), parameter dqnan_pat = int(Z'7FF8000000000000', i8)
 
integer(i8), parameter dposinf_pat = int(Z'7FF0000000000000', i8)
 
integer(i8), parameter dneginf_pat = ibset(dposinf_pat, bit_size(1_i8)-1)
 

Function/Subroutine Documentation

◆ inf_r4()

pure real(r4) function bshr_infnan_mod::inf_r4 ( class(shr_infnan_inf_type), intent(in)  inf)
private

◆ inf_r8()

pure real(r8) function bshr_infnan_mod::inf_r8 ( class(shr_infnan_inf_type), intent(in)  inf)
private

◆ nan_r4()

pure real(r4) function bshr_infnan_mod::nan_r4 ( class(shr_infnan_nan_type), intent(in)  nan)
private

◆ nan_r8()

pure real(r8) function bshr_infnan_mod::nan_r8 ( class(shr_infnan_nan_type), intent(in)  nan)
private

◆ set_inf_0d_double()

pure subroutine bshr_infnan_mod::set_inf_0d_double ( real(r8), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_0d_real()

pure subroutine bshr_infnan_mod::set_inf_0d_real ( real(r4), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_1d_double()

pure subroutine bshr_infnan_mod::set_inf_1d_double ( real(r8), dimension(:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_1d_real()

pure subroutine bshr_infnan_mod::set_inf_1d_real ( real(r4), dimension(:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_2d_double()

pure subroutine bshr_infnan_mod::set_inf_2d_double ( real(r8), dimension(:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_2d_real()

pure subroutine bshr_infnan_mod::set_inf_2d_real ( real(r4), dimension(:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_3d_double()

pure subroutine bshr_infnan_mod::set_inf_3d_double ( real(r8), dimension(:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_3d_real()

pure subroutine bshr_infnan_mod::set_inf_3d_real ( real(r4), dimension(:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_4d_double()

pure subroutine bshr_infnan_mod::set_inf_4d_double ( real(r8), dimension(:,:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_4d_real()

pure subroutine bshr_infnan_mod::set_inf_4d_real ( real(r4), dimension(:,:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_5d_double()

pure subroutine bshr_infnan_mod::set_inf_5d_double ( real(r8), dimension(:,:,:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_5d_real()

pure subroutine bshr_infnan_mod::set_inf_5d_real ( real(r4), dimension(:,:,:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_6d_double()

pure subroutine bshr_infnan_mod::set_inf_6d_double ( real(r8), dimension(:,:,:,:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_6d_real()

pure subroutine bshr_infnan_mod::set_inf_6d_real ( real(r4), dimension(:,:,:,:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_7d_double()

pure subroutine bshr_infnan_mod::set_inf_7d_double ( real(r8), dimension(:,:,:,:,:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_inf_7d_real()

pure subroutine bshr_infnan_mod::set_inf_7d_real ( real(r4), dimension(:,:,:,:,:,:,:), intent(out)  output,
type(shr_infnan_inf_type), intent(in)  inf 
)
private

◆ set_nan_0d_double()

pure subroutine bshr_infnan_mod::set_nan_0d_double ( real(r8), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_0d_real()

pure subroutine bshr_infnan_mod::set_nan_0d_real ( real(r4), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_1d_double()

pure subroutine bshr_infnan_mod::set_nan_1d_double ( real(r8), dimension(:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_1d_real()

pure subroutine bshr_infnan_mod::set_nan_1d_real ( real(r4), dimension(:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_2d_double()

pure subroutine bshr_infnan_mod::set_nan_2d_double ( real(r8), dimension(:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_2d_real()

pure subroutine bshr_infnan_mod::set_nan_2d_real ( real(r4), dimension(:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_3d_double()

pure subroutine bshr_infnan_mod::set_nan_3d_double ( real(r8), dimension(:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_3d_real()

pure subroutine bshr_infnan_mod::set_nan_3d_real ( real(r4), dimension(:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_4d_double()

pure subroutine bshr_infnan_mod::set_nan_4d_double ( real(r8), dimension(:,:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_4d_real()

pure subroutine bshr_infnan_mod::set_nan_4d_real ( real(r4), dimension(:,:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_5d_double()

pure subroutine bshr_infnan_mod::set_nan_5d_double ( real(r8), dimension(:,:,:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_5d_real()

pure subroutine bshr_infnan_mod::set_nan_5d_real ( real(r4), dimension(:,:,:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_6d_double()

pure subroutine bshr_infnan_mod::set_nan_6d_double ( real(r8), dimension(:,:,:,:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_6d_real()

pure subroutine bshr_infnan_mod::set_nan_6d_real ( real(r4), dimension(:,:,:,:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_7d_double()

pure subroutine bshr_infnan_mod::set_nan_7d_double ( real(r8), dimension(:,:,:,:,:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ set_nan_7d_real()

pure subroutine bshr_infnan_mod::set_nan_7d_real ( real(r4), dimension(:,:,:,:,:,:,:), intent(out)  output,
type(shr_infnan_nan_type), intent(in)  nan 
)
private

◆ shr_infnan_isinf_double()

elemental logical function bshr_infnan_mod::shr_infnan_isinf_double ( real(r8), intent(in)  x)
private

◆ shr_infnan_isinf_real()

elemental logical function bshr_infnan_mod::shr_infnan_isinf_real ( real(r4), intent(in)  x)
private

◆ shr_infnan_isneginf_double()

elemental logical function bshr_infnan_mod::shr_infnan_isneginf_double ( real(r8), intent(in)  x)
private

◆ shr_infnan_isneginf_real()

elemental logical function bshr_infnan_mod::shr_infnan_isneginf_real ( real(r4), intent(in)  x)
private

◆ shr_infnan_isposinf_double()

elemental logical function bshr_infnan_mod::shr_infnan_isposinf_double ( real(r8), intent(in)  x)
private

◆ shr_infnan_isposinf_real()

elemental logical function bshr_infnan_mod::shr_infnan_isposinf_real ( real(r4), intent(in)  x)
private

Variable Documentation

◆ dneginf_pat

integer(i8), parameter bshr_infnan_mod::dneginf_pat = ibset(dposinf_pat, bit_size(1_i8)-1)
private

◆ dposinf_pat

integer(i8), parameter bshr_infnan_mod::dposinf_pat = int(Z'7FF0000000000000', i8)
private

◆ dqnan_pat

integer(i8), parameter bshr_infnan_mod::dqnan_pat = int(Z'7FF8000000000000', i8)
private

◆ dsnan_pat

integer(i8), parameter bshr_infnan_mod::dsnan_pat = int(Z'7FF4000000000000', i8)
private

◆ mod_filename

character(len=*), parameter, private bshr_infnan_mod::mod_filename = __FILE__
private

◆ shr_infnan_inf

type(shr_infnan_inf_type), parameter, public bshr_infnan_mod::shr_infnan_inf = shr_infnan_inf_type(.true.)

◆ shr_infnan_nan

type(shr_infnan_nan_type), parameter, public bshr_infnan_mod::shr_infnan_nan = shr_infnan_nan_type(.false.)

◆ shr_infnan_neginf

type(shr_infnan_inf_type), parameter, public bshr_infnan_mod::shr_infnan_neginf = shr_infnan_inf_type(.false.)

◆ shr_infnan_posinf

type(shr_infnan_inf_type), parameter, public bshr_infnan_mod::shr_infnan_posinf = shr_infnan_inf_type(.true.)

◆ shr_infnan_qnan

type(shr_infnan_nan_type), parameter, public bshr_infnan_mod::shr_infnan_qnan = shr_infnan_nan_type(.true.)

◆ shr_infnan_snan

type(shr_infnan_nan_type), parameter, public bshr_infnan_mod::shr_infnan_snan = shr_infnan_nan_type(.false.)

◆ sneginf_pat

integer(i4), parameter bshr_infnan_mod::sneginf_pat = ibset(sposinf_pat, bit_size(1_i4)-1)
private

◆ sposinf_pat

integer(i4), parameter bshr_infnan_mod::sposinf_pat = int(Z'7F800000', i4)
private

◆ sqnan_pat

integer(i4), parameter bshr_infnan_mod::sqnan_pat = int(Z'7FC00000', i4)
private

◆ ssnan_pat

integer(i4), parameter bshr_infnan_mod::ssnan_pat = int(Z'7FA00000', i4)
private