diff options
Diffstat (limited to 'usr.bin/units/units.1')
-rw-r--r-- | usr.bin/units/units.1 | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/usr.bin/units/units.1 b/usr.bin/units/units.1 new file mode 100644 index 0000000..a7371c1 --- /dev/null +++ b/usr.bin/units/units.1 @@ -0,0 +1,183 @@ +.\" $FreeBSD$ +.Dd July 14, 1993 +.Dt UNITS 1 +.Os +.Sh NAME +.Nm units +.Nd conversion program +.Sh SYNOPSIS +.Nm +.Op Fl f Ar filename +.Op Fl qv +.Op Ar from-unit to-unit +.Sh OPTIONS +The following options are available: +.Bl -tag -width indent +.It Fl f Ar filename +Specify the name of the units data file to load. +.It Fl q +Suppress prompting of the user for units and the display of statistics +about the number of units loaded. +.It Fl v +Print the version number. +.It Ar from-unit to-unit +Allow a single unit conversion to be done directly from the command +line. +The program will not print prompts. +It will print out the +result of the single specified conversion. +.El +.Sh DESCRIPTION +The +.Nm +program converts quantities expressed in various scales to +their equivalents in other scales. +The +.Nm +program can only +handle multiplicative or affine scale changes. +It works interactively by prompting +the user for input: +.Bd -literal + You have: meters + You want: feet + * 3.2808399 + / 0.3048 + + You have: cm^3 + You want: gallons + * 0.00026417205 + / 3785.4118 + + You have: meters/s + You want: furlongs/fortnight + * 6012.8848 + / 0.00016630952 + + You have: 1|2 inch + You want: cm + * 1.27 + / 0.78740157 + + You have: 85 degF + You want: degC + 29.444444 +.Ed +.Pp +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'. +Division of numbers +must be indicated using the vertical bar ('|'). +To convert half a +meter, you would write '1|2 meter'. +If you write '1/2 meter' then the +units program would interpret that as equivalent to '0.5/meter'. +If you enter 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: +.Bd -literal + 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 +.Ed +.Pp +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: +.Pp +.Bl -column -offset indent -compact "mercury" +.It "pi ratio of circumference to diameter" +.It "c speed of light" +.It "e charge on an electron" +.It "g acceleration of gravity" +.It "force same as g" +.It "mole Avogadro's number" +.It "water pressure per unit height of water" +.It "mercury pressure per unit height of mercury" +.It "au astronomical unit" +.El +.Pp +The unit 'pound' is a unit of mass. +Compound names are run together +so 'pound force' is a unit of force. +The unit 'ounce' is also a unit +of mass. +The fluid ounce is 'floz'. +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 +.Nm +will try to remove a trailing 's' or a +trailing 'es' and check again for a match. +.Pp +To find out what units are available read the standard units file. +If you want to add your own units you can supply your own file. +A unit is specified on a single line by +giving its name and an equivalence. +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 +.Nm +program will not detect infinite loops that could be caused +by careless unit definitions. +Comments in the unit definition file +begin with a '/' character at the beginning of a line. +.Pp +Prefixes are defined in the same was as standard units, but with +a trailing dash at the end of the prefix name. +If a unit is not found +even after removing trailing 's' or 'es', then it will be checked +against the list of prefixes. +Prefixes will be removed until a legal +base unit is identified. +.Pp +Here is an example of a short units file that defines some basic +units. +.Pp +.Bl -column -offset indent -compact "minute" +.It "m !a!" +.It "sec !b!" +.It "micro- 1e-6" +.It "minute 60 sec" +.It "hour 60 min" +.It "inch 0.0254 m" +.It "ft 12 inches" +.It "mile 5280 ft" +.El +.Sh FILES +.Bl -tag -width /usr/share/misc/units.lib -compact +.It Pa /usr/share/misc/units.lib +the standard units library +.El +.Sh AUTHORS +.An Adrian Mariano Aq adrian@cam.cornell.edu +.Sh BUGS +The effect of including a '/' in a prefix is surprising. +.Pp +Exponents entered by the user can be only one digit. +You can work around this by multiplying several terms. +.Pp +The user must use | to indicate division of numbers and / to +indicate division of symbols. +This distinction should not +be necessary. +.Pp +The program contains various arbitrary limits on the length +of the units converted and on the length of the data file. +.Pp +The program should use a hash table to store units so that +it does not take so long to load the units list and check +for duplication. |