The main documentation of the Numbers Module contains additional explanation of this code listing.
!
! Author: Michael L. Hall
! P.O. Box 1663, MS-D413, LANL
! Los Alamos, NM 87545
! ph: 505-665-4312
! email: Hall at LANL dot gov
!
! Created on: 6/1/86
! CVS Info: $Id: numbers.F90,v 1.2 2006/11/03 00:44:50 hall Exp $
module Caesar_Numbers_Module
! Start up with everything untyped and public.
! Note: this module contains no private information.
implicit none
public
! Define the variables used in the place of numbers.
! Numbers 0-9.
type(real), parameter :: zero=0.d0, one=1.d0, two=2.d0, three=3.d0, &
four=4.d0, five=5.d0, six=6.d0, seven=7.d0, &
eight=8.d0, nine=9.d0
! Numbers 10-19.
type(real), parameter :: ten=10.d0, eleven=11.d0, twelve=12.d0, &
thirteen=13.d0, fourteen=14.d0, fifteen=15.d0, &
sixteen=16.d0, seventeen=17.d0, eighteen=18.d0, &
nineteen=19.d0
! Numbers 20-100, by tens.
type(real), parameter :: twenty=20.d0, thirty=30.d0, forty=40.d0, &
fifty=50.d0, sixty=60.d0, seventy=70.d0, &
eighty=80.d0, ninety=90.d0, hundred=100.d0
! Fractions.
type(real), parameter :: half=one/two, third=one/three, &
fourth=one/four, fifth=one/five, &
sixth=one/six, seventh=one/seven, &
eighth=one/eight, ninth=one/nine, &
tenth=one/ten
! Forms of pi.
type(real), parameter :: &
pi=3.141592653589793238462643383279d0, sqrtpi=1.7724538509055d0, &
invpi=one/pi, pisqr=pi*pi, fourthirdspi=four*pi/three, &
twopi=two*pi, threepi=three*pi, fourpi=four*pi, &
halfpi=pi/two, thirdpi=pi/three, fourthpi=pi/four
! Decimal multipliers.
type(real), parameter :: deca=1.d1, hecto=1.d2, kilo=1.d3, &
mega=1.d6, giga=1.d9, tera=1.d12, &
peta=1.d15, exa=1.d18, zetta=1.d21, &
yotta=1.d24, &
deci=1.d-1, centi=1.d-2, milli=1.d-3, &
micro=1.d-6, nano=1.d-9, pico=1.d-12, &
femto=1.d-15, atto=1.d-18, zepto=1.d-21, &
yocto=1.d-24
end module Caesar_Numbers_Module