MODULE Numbers_Module USE Numeric_Kinds_Module IMPLICIT NONE SAVE ! Numbers =============================================================================== INTEGER, PARAMETER :: ione = 1 INTEGER, PARAMETER :: itwo = 2 INTEGER, PARAMETER :: ithree = 3 INTEGER, PARAMETER :: ifour = 4 REAL(Kind=WP_Kind), PARAMETER :: zero = 0.0_wp_kind ! 0 REAL(Kind=WP_Kind), PARAMETER :: one = 1.0_wp_kind ! 1 REAL(Kind=WP_Kind), PARAMETER :: two = 2.0_wp_kind ! 2 REAL(Kind=WP_Kind), PARAMETER :: three = 3.0_wp_kind ! 3 REAL(Kind=WP_Kind), PARAMETER :: four = 4.0_wp_kind ! 4 REAL(Kind=WP_Kind), PARAMETER :: five = 5.0_wp_kind ! 5 REAL(Kind=WP_Kind), PARAMETER :: six = 6.0_wp_kind ! 6 REAL(Kind=WP_Kind), PARAMETER :: seven = 7.0_wp_kind ! 7 REAL(Kind=WP_Kind), PARAMETER :: eight = 8.0_wp_kind ! 8 REAL(Kind=WP_Kind), PARAMETER :: nine = 9.0_wp_kind ! 9 REAL(Kind=WP_Kind), PARAMETER :: ten = 10.0_wp_kind ! 10 REAL(Kind=WP_Kind), PARAMETER :: eleven = 11.0_wp_kind ! 11 REAL(Kind=WP_Kind), PARAMETER :: twelve = 12.0_wp_kind ! 12 REAL(Kind=WP_Kind), PARAMETER :: thirteen = 13.0_wp_kind ! 13 REAL(Kind=WP_Kind), PARAMETER :: fourteen = 14.0_wp_kind ! 14 REAL(Kind=WP_Kind), PARAMETER :: fifteen = 15.0_wp_kind ! 15 REAL(Kind=WP_Kind), PARAMETER :: Sixteen = 16.0_wp_kind ! 16 REAL(Kind=WP_Kind), PARAMETER :: thirty = 30.0_wp_kind ! 30 REAL(Kind=WP_Kind), PARAMETER :: fortyfive =45.0_wp_kind ! 45 REAL(Kind=WP_Kind), PARAMETER :: fortyeight=48.0_wp_kind ! 48 ! Fractions REAL(KIND=WP_Kind), PARAMETER :: quarter = 0.25_wp_kind ! 1/4 REAL(Kind=WP_Kind), PARAMETER :: onethird = 1.0_wp_kind/3.0_wp_kind ! 1/3 REAL(Kind=WP_Kind), PARAMETER :: half = 0.5_wp_kind ! 1/2 REAL(Kind=WP_Kind), PARAMETER :: ThreeHalves = 1.5_wp_kind ! 3/2 ! Common Reals REAL(Kind=WP_Kind), PARAMETER :: rt2=SQRT(two) REAL(Kind=WP_Kind), PARAMETER :: rt3=SQRT(three) REAL(Kind=WP_Kind), PARAMETER :: pi=four*ATAN(one) REAL(Kind=WP_Kind), PARAMETER :: FourthPi = Pi/Four ! One fourth of pi. REAL(Kind=WP_Kind), PARAMETER :: HalfPi = Pi/Two ! One half of pi. REAL(Kind=WP_Kind), PARAMETER :: TwoPi = Two*Pi ! Two times pi. ! Numerics =============================================================================== REAL(Kind=WP_Kind), PARAMETER :: wp_Small = TINY(one) ! smallest number REAL(Kind=WP_Kind), PARAMETER :: wp_Large = HUGE(one) ! largest number REAL(Kind=WP_Kind), PARAMETER :: wp_Epsilon= EPSILON(one) ! smallest difference INTEGER, PARAMETER :: wp_Prec = PRECISION(one) ! number of digits of precision INTEGER, PARAMETER :: wp_minexp = MINEXPONENT(one) ! smallest exponent INTEGER, PARAMETER :: wp_maxexp = MAXEXPONENT(one) ! largest exponent END MODULE Numbers_Module