FV3 Bundle
mpp_efp.F90 File Reference
#include <fms_platform.h>
Include dependency graph for mpp_efp.F90:

Go to the source code of this file.

Data Types

interface  mpp_efp_mod::mpp_reproducing_sum
 
type  mpp_efp_mod::mpp_efp_type
 
interface  mpp_efp_mod::operator(+)
 
interface  mpp_efp_mod::operator(-)
 
interface  mpp_efp_mod::assignment(=)
 

Modules

module  mpp_efp_mod
 

Functions/Subroutines

real(double_kind) function mpp_efp_mod::mpp_reproducing_sum_r8_2d (array, isr, ier, jsr, jer, EFP_sum, reproducing, overflow_check, err)
 
real(float_kind) function mpp_efp_mod::mpp_reproducing_sum_r4_2d (array, isr, ier, jsr, jer, EFP_sum, reproducing, overflow_check, err)
 
real(double_kind) function mpp_efp_mod::mpp_reproducing_sum_r8_3d (array, isr, ier, jsr, jer, sums, EFP_sum, err)
 
integer(long_kind) function, dimension(numint) mpp_efp_mod::real_to_ints (r, prec_error, overflow)
 
real(double_kind) function mpp_efp_mod::ints_to_real (ints)
 
subroutine mpp_efp_mod::increment_ints (int_sum, int2, prec_error)
 
subroutine mpp_efp_mod::increment_ints_faster (int_sum, r, max_mag_term)
 
subroutine mpp_efp_mod::carry_overflow (int_sum, prec_error)
 
subroutine mpp_efp_mod::regularize_ints (int_sum)
 
logical function, public mpp_efp_mod::mpp_query_efp_overflow_error ()
 
subroutine, public mpp_efp_mod::mpp_reset_efp_overlow_error ()
 
type(mpp_efp_type) function, public mpp_efp_mod::mpp_efp_plus (EFP1, EFP2)
 
type(mpp_efp_type) function, public mpp_efp_mod::mpp_efp_minus (EFP1, EFP2)
 
subroutine mpp_efp_mod::mpp_efp_assign (EFP1, EFP2)
 
real(double_kind) function, public mpp_efp_mod::mpp_efp_to_real (EFP1)
 
real(double_kind) function, public mpp_efp_mod::mpp_efp_real_diff (EFP1, EFP2)
 
type(mpp_efp_type) function, public mpp_efp_mod::mpp_real_to_efp (val, overflow)
 
subroutine, public mpp_efp_mod::mpp_efp_list_sum_across_pes (EFPs, nval, errors)
 

Variables

integer, parameter mpp_efp_mod::numbit = 46
 
integer, parameter mpp_efp_mod::numint = 6
 
integer(long_kind), parameter mpp_efp_mod::prec =2_8**NUMBIT
 
real(double_kind), parameter mpp_efp_mod::r_prec =2.0_8**NUMBIT
 
real(double_kind), parameter mpp_efp_mod::i_prec =1.0_8/(2.0_8**NUMBIT)
 
integer, parameter mpp_efp_mod::max_count_prec =2**(63-NUMBIT)-1
 
real(double_kind), dimension(numint), parameter mpp_efp_mod::pr = (/ r_prec**2, r_prec, 1.0_8, 1.0_8/r_prec, 1.0_8/r_prec**2, 1.0_8/r_prec**3 /)
 
real(double_kind), dimension(numint), parameter mpp_efp_mod::i_pr = (/ 1.0_8/r_prec**2, 1.0_8/r_prec, 1.0_8, r_prec, r_prec**2, r_prec**3 /)
 
logical mpp_efp_mod::overflow_error = .false.
 
logical mpp_efp_mod::nan_error = .false.
 
logical mpp_efp_mod::debug = .false.