FV3 Bundle
compare_float_numbers Module Reference

Data Types

interface  compare_float
 
interface  compares_within_tolerance
 
interface  operator(.equalto.)
 
interface  operator(.greaterthan.)
 
interface  operator(.lessthan.)
 
interface  tolerance
 

Functions/Subroutines

elemental logical function equalto_real_single (x, y)
 
elemental logical function equalto_real_double (x, y)
 
elemental logical function equalto_complex_single (x, y)
 
elemental logical function equalto_complex_double (x, y)
 
elemental logical function is_greater_than_single (x, y)
 
elemental logical function is_greater_than_double (x, y)
 
elemental logical function is_less_than_single (x, y)
 
elemental logical function is_less_than_double (x, y)
 
elemental logical function compare_real_single (x, y, ULP, Percent)
 
elemental logical function compare_real_double (x, y, ULP, Percent)
 
elemental logical function compare_complex_single (x, y, ULP, Percent)
 
elemental logical function compare_complex_double (x, y, ULP, Percent)
 
elemental real(single) function tolerance_real_single (x, n)
 
elemental real(double) function tolerance_real_double (x, n)
 
elemental complex(single) function tolerance_complex_single (x, n)
 
elemental complex(double) function tolerance_complex_double (x, n)
 
elemental logical function cwt_real_single (x, y, n, cutoff)
 
elemental logical function cwt_real_double (x, y, n, cutoff)
 
elemental logical function cwt_complex_single (x, y, n, cutoff)
 
elemental logical function cwt_complex_double (x, y, n, cutoff)
 

Variables

character(*), parameter module_version_id = '$Id: Compare_Float_Numbers.f90 60152 2015-08-13 19:19:13Z paul.vandelst@noaa.gov $'
 
real(single), parameter sp_zero = 0.0_Single
 
real(double), parameter dp_zero = 0.0_Double
 
real(single), parameter sp_one = 1.0_Single
 
real(double), parameter dp_one = 1.0_Double
 
real(single), parameter sp_ten = 10.0_Single
 
real(double), parameter dp_ten = 10.0_Double
 
real(single), parameter sp_hundred = 100.0_Single
 
real(double), parameter dp_hundred = 100.0_Double
 
real(single), parameter sp_compare_cutoff = 1.0e-15_Single
 
real(double), parameter dp_compare_cutoff = 1.0e-15_Double
 
integer, parameter, public default_n_sigfig = 6
 

Function/Subroutine Documentation

◆ compare_complex_double()

elemental logical function compare_float_numbers::compare_complex_double ( complex(double), intent(in)  x,
complex(double), intent(in)  y,
integer, intent(in), optional  ULP,
real(double), intent(in), optional  Percent 
)
private

Definition at line 497 of file Compare_Float_Numbers.f90.

Here is the call graph for this function:

◆ compare_complex_single()

elemental logical function compare_float_numbers::compare_complex_single ( complex(single), intent(in)  x,
complex(single), intent(in)  y,
integer, intent(in), optional  ULP,
real(single), intent(in), optional  Percent 
)
private

Definition at line 473 of file Compare_Float_Numbers.f90.

Here is the call graph for this function:

◆ compare_real_double()

elemental logical function compare_float_numbers::compare_real_double ( real(double), intent(in)  x,
real(double), intent(in)  y,
integer, intent(in), optional  ULP,
real(double), intent(in), optional  Percent 
)
private

Definition at line 437 of file Compare_Float_Numbers.f90.

Here is the caller graph for this function:

◆ compare_real_single()

elemental logical function compare_float_numbers::compare_real_single ( real(single), intent(in)  x,
real(single), intent(in)  y,
integer, intent(in), optional  ULP,
real(single), intent(in), optional  Percent 
)
private

Definition at line 401 of file Compare_Float_Numbers.f90.

Here is the caller graph for this function:

◆ cwt_complex_double()

elemental logical function compare_float_numbers::cwt_complex_double ( complex(double), intent(in)  x,
complex(double), intent(in)  y,
integer, intent(in)  n,
complex(double), intent(in), optional  cutoff 
)
private

Definition at line 712 of file Compare_Float_Numbers.f90.

Here is the call graph for this function:

◆ cwt_complex_single()

elemental logical function compare_float_numbers::cwt_complex_single ( complex(single), intent(in)  x,
complex(single), intent(in)  y,
integer, intent(in)  n,
complex(single), intent(in), optional  cutoff 
)
private

Definition at line 696 of file Compare_Float_Numbers.f90.

Here is the call graph for this function:

◆ cwt_real_double()

elemental logical function compare_float_numbers::cwt_real_double ( real(double), intent(in)  x,
real(double), intent(in)  y,
integer, intent(in)  n,
real(double), intent(in), optional  cutoff 
)
private

Definition at line 680 of file Compare_Float_Numbers.f90.

Here is the caller graph for this function:

◆ cwt_real_single()

elemental logical function compare_float_numbers::cwt_real_single ( real(single), intent(in)  x,
real(single), intent(in)  y,
integer, intent(in)  n,
real(single), intent(in), optional  cutoff 
)
private

Definition at line 664 of file Compare_Float_Numbers.f90.

Here is the caller graph for this function:

◆ equalto_complex_double()

elemental logical function compare_float_numbers::equalto_complex_double ( complex(double), intent(in)  x,
complex(double), intent(in)  y 
)
private

Definition at line 167 of file Compare_Float_Numbers.f90.

Here is the call graph for this function:

◆ equalto_complex_single()

elemental logical function compare_float_numbers::equalto_complex_single ( complex(single), intent(in)  x,
complex(single), intent(in)  y 
)
private

Definition at line 157 of file Compare_Float_Numbers.f90.

Here is the call graph for this function:

◆ equalto_real_double()

elemental logical function compare_float_numbers::equalto_real_double ( real(double), intent(in)  x,
real(double), intent(in)  y 
)
private

Definition at line 151 of file Compare_Float_Numbers.f90.

Here is the caller graph for this function:

◆ equalto_real_single()

elemental logical function compare_float_numbers::equalto_real_single ( real(single), intent(in)  x,
real(single), intent(in)  y 
)
private

Definition at line 145 of file Compare_Float_Numbers.f90.

Here is the caller graph for this function:

◆ is_greater_than_double()

elemental logical function compare_float_numbers::is_greater_than_double ( real(double), intent(in)  x,
real(double), intent(in)  y 
)
private

Definition at line 228 of file Compare_Float_Numbers.f90.

◆ is_greater_than_single()

elemental logical function compare_float_numbers::is_greater_than_single ( real(single), intent(in)  x,
real(single), intent(in)  y 
)
private

Definition at line 217 of file Compare_Float_Numbers.f90.

◆ is_less_than_double()

elemental logical function compare_float_numbers::is_less_than_double ( real(double), intent(in)  x,
real(double), intent(in)  y 
)
private

Definition at line 289 of file Compare_Float_Numbers.f90.

◆ is_less_than_single()

elemental logical function compare_float_numbers::is_less_than_single ( real(single), intent(in)  x,
real(single), intent(in)  y 
)
private

Definition at line 278 of file Compare_Float_Numbers.f90.

◆ tolerance_complex_double()

elemental complex(double) function compare_float_numbers::tolerance_complex_double ( complex(double), intent(in)  x,
integer, intent(in)  n 
)
private

Definition at line 598 of file Compare_Float_Numbers.f90.

Here is the call graph for this function:

◆ tolerance_complex_single()

elemental complex(single) function compare_float_numbers::tolerance_complex_single ( complex(single), intent(in)  x,
integer, intent(in)  n 
)
private

Definition at line 588 of file Compare_Float_Numbers.f90.

Here is the call graph for this function:

◆ tolerance_real_double()

elemental real(double) function compare_float_numbers::tolerance_real_double ( real(double), intent(in)  x,
integer, intent(in)  n 
)
private

Definition at line 575 of file Compare_Float_Numbers.f90.

Here is the caller graph for this function:

◆ tolerance_real_single()

elemental real(single) function compare_float_numbers::tolerance_real_single ( real(single), intent(in)  x,
integer, intent(in)  n 
)
private

Definition at line 562 of file Compare_Float_Numbers.f90.

Here is the caller graph for this function:

Variable Documentation

◆ default_n_sigfig

integer, parameter, public compare_float_numbers::default_n_sigfig = 6

Definition at line 101 of file Compare_Float_Numbers.f90.

◆ dp_compare_cutoff

real(double), parameter compare_float_numbers::dp_compare_cutoff = 1.0e-15_Double
private

Definition at line 99 of file Compare_Float_Numbers.f90.

◆ dp_hundred

real(double), parameter compare_float_numbers::dp_hundred = 100.0_Double
private

Definition at line 97 of file Compare_Float_Numbers.f90.

◆ dp_one

real(double), parameter compare_float_numbers::dp_one = 1.0_Double
private

Definition at line 93 of file Compare_Float_Numbers.f90.

◆ dp_ten

real(double), parameter compare_float_numbers::dp_ten = 10.0_Double
private

Definition at line 95 of file Compare_Float_Numbers.f90.

◆ dp_zero

real(double), parameter compare_float_numbers::dp_zero = 0.0_Double
private

Definition at line 91 of file Compare_Float_Numbers.f90.

◆ module_version_id

character(*), parameter compare_float_numbers::module_version_id = '$Id: Compare_Float_Numbers.f90 60152 2015-08-13 19:19:13Z paul.vandelst@noaa.gov $'
private

Definition at line 87 of file Compare_Float_Numbers.f90.

◆ sp_compare_cutoff

real(single), parameter compare_float_numbers::sp_compare_cutoff = 1.0e-15_Single
private

Definition at line 98 of file Compare_Float_Numbers.f90.

◆ sp_hundred

real(single), parameter compare_float_numbers::sp_hundred = 100.0_Single
private

Definition at line 96 of file Compare_Float_Numbers.f90.

◆ sp_one

real(single), parameter compare_float_numbers::sp_one = 1.0_Single
private

Definition at line 92 of file Compare_Float_Numbers.f90.

◆ sp_ten

real(single), parameter compare_float_numbers::sp_ten = 10.0_Single
private

Definition at line 94 of file Compare_Float_Numbers.f90.

◆ sp_zero

real(single), parameter compare_float_numbers::sp_zero = 0.0_Single
private

Definition at line 90 of file Compare_Float_Numbers.f90.