module precision_grillix_m !! Definition of precision for GRILLIX ! Import precision from PARALLAX use precision_m, only : FP, MPI_FP, NF90_FP, FP_EPS, FP_NAN, FP_SMALLEST_EXP, FP_LARGEST implicit none save integer, public, parameter :: GP = FP !! GRILLIX precision integer, public, parameter :: MPI_GP = MPI_FP !! GRILLIX MPI precision real(GP), public, parameter :: GP_EPS = FP_EPS !! Machine epsilon for GRILLIX precision real(GP), public, parameter :: GP_NAN = FP_NAN !! NaN for GRILLIX precision real(GP), public, parameter :: GP_SMALLEST_EXP = FP_SMALLEST_EXP !! Smallest allowable exponent for the exp function for GRILLIX precision real(GP), public, parameter :: GP_LARGEST = FP_LARGEST !! Largest allowable number for GRILLIX precision real(GP), public, parameter :: GP_LARGE = GP_LARGEST*(10.0_GP**(-log10(GP_LARGEST)*0.7_GP)) !! A large number that still allows floating point operations (For double precision, roughly 10^92) end module precision_grillix_m