123 lines
3.9 KiB
Groff
123 lines
3.9 KiB
Groff
/*
|
|
* $Id: units.1,v 1.1 1993/10/27 03:31:52 cgd Exp $
|
|
*/
|
|
.TH UNITS 1 "14 July 1993"
|
|
.SH NAME
|
|
units - conversion program
|
|
.SH SYNTAX
|
|
.B units
|
|
[-f filename] [-q] [to-unit from-unit]
|
|
.SH SUMMARY
|
|
.TP 4
|
|
.B -f filename
|
|
Specifies the name of the units data file to load.
|
|
.LP
|
|
.TP 4
|
|
.B -q
|
|
Supresses prompting of the user for units and the display of statistics
|
|
about the number of units loaded.
|
|
.LP
|
|
.TP 4
|
|
.B from-unit to-unit
|
|
Allows a single unit converstion to be done directly from the command
|
|
line. No prompting will occur. The units program will print out
|
|
only the result of this single conversion.
|
|
|
|
.SH DESCRIPTION
|
|
The units program converts quantities expression in various scales to
|
|
their equivalents in other scales. The units program can only
|
|
handle multiplicative scale changes. It cannot convert Centigrade
|
|
to Fahrenheit, for example. It works interactively by prompting
|
|
the user for input:
|
|
.nf
|
|
|
|
You have: meters
|
|
You want: feet
|
|
* 3.2808399
|
|
/ 0.3048
|
|
|
|
You have: cm^3
|
|
You want: gallons
|
|
* 0.00026417205
|
|
/ 3785.4118
|
|
|
|
.fi
|
|
Powers of units can be specified using the '^' character as shown in
|
|
the example, or by simple concatenation: 'cm3' is equivalent to 'cm^3'.
|
|
Multiplication of units can be specified by using spaces, a dash or
|
|
an asterisk. Division of units is indicated by the slash ('/').
|
|
Note that multiplication has a higher precedence than division,
|
|
so 'm/s/s' is the same as 'm/s^2' or 'm/s s'.
|
|
If the user enters incompatible unit types, the units program will
|
|
print a message indicating that the units are not conformable and
|
|
it will display the reduced form for each unit:
|
|
.nf
|
|
|
|
You have: ergs/hour
|
|
You want: fathoms kg^2 / day
|
|
conformability error
|
|
2.7777778e-11 kg m^2 / sec^3
|
|
2.1166667e-05 kg^2 m / sec
|
|
|
|
.fi
|
|
.LP
|
|
The conversion information is read from a units data file. The default
|
|
file includes definitions for most familiar units, abbreviations and
|
|
metric prefixes. Some constants of nature included are:
|
|
.in +4m
|
|
.ta
|
|
.ta 9m +
|
|
.nf
|
|
|
|
pi ratio of circumference to diameter
|
|
c speed of light
|
|
e charge on an electron
|
|
g acceleration of gravity
|
|
force same as g
|
|
mole Avogadro's number
|
|
water pressure per unit height of water
|
|
mercury pressure per unit height of mercury
|
|
au astronomical unit
|
|
|
|
.fi
|
|
.in -4m
|
|
\'Pound' is a unit of mass. Compound names are run together
|
|
so 'poundforce' is a unit of force. British units that differ from their
|
|
US counterparts are prefixed with 'br', and currency is prefixed with
|
|
its country name: 'belgiumfranc', 'britainpound'. When searching for
|
|
a unit, if the specified string does not appear exactly as a unit
|
|
name, then the units program will try to remove a trailing 's' or
|
|
a trailing 'es' and check again for a match.
|
|
.LP
|
|
All of these definitions can be read in the standard units file, or you
|
|
can supply your own file. A unit is specified on a single line by
|
|
giving its name and an equivalence. One should be careful to define
|
|
new units in terms of old ones so that a reduction leads to the
|
|
primitive units which are marked with '!' characters.
|
|
The units program will not detect infinite loops that could be caused
|
|
by careless unit definitions.
|
|
.LP
|
|
Prefixes are defined in the same was as standard units, but with
|
|
a trailing dash at the end of the prefix name.
|
|
.SH BUGS
|
|
.LP
|
|
The effect of including a '/' in a prefix is surprising.
|
|
.LP
|
|
Exponents entered by the user can be only one digit.
|
|
You can work around this by multiplying several terms.
|
|
.LP
|
|
The user must use | to indicate division of numbers and / to
|
|
indicate division of symbols. This distinction should not
|
|
be necessary.
|
|
.LP
|
|
The program contains various arbitrary limits on the length
|
|
of the units converted and on the length of the data file.
|
|
.LP
|
|
The program should use a hash table to store units so that
|
|
it doesn't take so long to load the units list and check
|
|
for duplication.
|
|
.SH FILES
|
|
units.lib - the standard units library
|
|
.SH AUTHOR
|
|
Adrian Mariano (adrian@cam.cornell.edu or mariano@geom.umn.edu)
|