HOME

TheInfoList



OR:

GNU Units is a
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software ...
computer program A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. Computer programs are one component of software, which also includes software documentation, documentation and oth ...
for conversion of units of quantities. It has a database of measurement units, including
esoteric Western esotericism, also known as esotericism, esoterism, and sometimes the Western mystery tradition, is a term scholars use to categorise a wide range of loosely related ideas and movements that developed within Western society. These ideas ...
and historical units. This for instance allows conversion of velocities specified in furlongs per fortnight, and pressures specified in
ton Ton is the name of any one of several units of measure. It has a long history and has acquired several meanings and uses. Mainly it describes units of weight. Confusion can arise because ''ton'' can mean * the long ton, which is 2,240 pounds ...
s per
acre The acre is a unit of land area used in the imperial and US customary systems. It is traditionally defined as the area of one chain by one furlong (66 by 660 feet), which is exactly equal to 10 square chains, of a square mile, 4,840 square ...
. Output units are checked for consistency with the input, allowing verification of conversion of complex expressions.


History

GNU Units was written by Adrian Mariano as an implementation of the '' units'' utility included with the
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, ...
operating system. It was originally available under a permissive license. The GNU variant is distributed under the GPL although the
FreeBSD FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
project maintains a free fork of units from before the license change.


''units'' (Unix utility)

The original ''units'' program has been a standard part of Unix since the early
Bell Laboratories Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984), then AT&T Bell Laboratories (1984–1996) and Bell Labs Innovations (1996–2007), is an American industrial Research and development, research and scientific developm ...
versions. Source code for a version very similar to the original is available from the Heirloom Project.


The GNU implementation

GNU ''units'' includes several extensions to the original version, including * Exponents can be written with ^ or **. * Exponents can be larger than 9 if written with ^ or **. * Rational and decimal exponents are supported. * Sums of units (e.g., ) can be converted. * Conversions can be made ''to'' sums of units, termed ''unit lists'' (e.g., from degrees to degrees, minutes, and seconds). * Units that measure reciprocal dimensions can be converted (e.g., S to megohm). * Parentheses for grouping are supported. This sometimes allows more natural expressions, such as in the example given in Complex units expressions. * Roots of units (e.g., can be computed. * Nonlinear units conversions (e.g., °F to °C) are supported. * Functions such as sin, cos, ln, log, and log2 are included. * A script for updating the currency conversions is included; the script requires Python. Units definitions, including nonlinear conversions and unit lists, are user extensible. The plain text database ''definitions.units'' is a good reference in itself, as it is extensively commented and cites numerous sources.


Other implementations

''UDUNITS'' is a similar utility program, except that it has an additional programming
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
interface and date conversion abilities. UDUNITS is considered the ''de facto'' program and library for variable unit conversion for netCDF files.


Version history

GNU Units version 2.19 was released on 31 May 2019, to reflect the new 2019 revision of the SI; Version 2.14 released on 8 March 2017 fixed several minor bugs and improved support for building on Windows. Version 2.10, released on 26 March 2014, added support for rational exponents greater than one, and added the ability to save an interactive session in a file to provide a record of the conversions performed. Beginning with version 2.10, a 32-bit Windows binary distribution has been available on the project Web page (a 32-bit Windows port of version 1.87 has been available since 2008 as part of the
GnuWin32 The G''nu''W''in''32 project provides native ports in the form of executable computer programs, patches, and source code for various GNU and open source tools and software, much of it modified to run on the 32-bit Windows platform. The ports inc ...
project). Version 2.02, released on 11 July 2013, added hexadecimal floating-point output and two other options to simplify changing the output format. Version 2.0, released on 2 July 2012, added the ability to convert to sums of units, such as hours and minutes or feet and inches. In addition, this release added support for UTF-8 encoding. Provision for locale-specific unit definitions was added. The syntax for defining non-linear units was changed, and added optional domain and range specifications. The names of the standard and personal units data files were changed, and the currency definitions were placed in a separate data file; a Python script for updating the currency definitions was added. The version history is covered in detail in the NEWS file included with the source distribution.


Usage

''Units'' will output the result of the conversion in two lines. Usually, the first line (multiplication) is the desired result; the second line is the same conversion expressed as a division. ''Units'' can also function as a general-purpose scientific calculator; it includes several built-in mathematical functions such as sin,
cos Cos, COS, CoS, coS or Cos. may refer to: Mathematics, science and technology * Carbonyl sulfide * Class of service (CoS or COS), a network header field defined by the IEEE 802.1p task group * Class of service (COS), a parameter in telephone syst ...
,
atan Atan may refer to: Places * Atan, Armenia * Atan, Iran People * Atan Shansonga (born 1955), Zambian diplomat * Çağdaş Atan, Turkish footballer * Cem Atan, Turkish footballer Other * Attan, a Pashtun and Afghan traditional dance * arctang ...
, ln, exp, etc. Attempting to convert types of measurements that are incompatible will cause ''units'' to print a conformability error message and display a reduced form of each measurement.


Examples

The examples that follow show results from GNU ''units'' version 2.10.


Interactive mode

Currency exchange rates from www.timegenie.com on 2014-03-28
2729 units, 92 prefixes, 77 nonlinear units

You have: 10 furlongs
You want: miles
        * 1.25
        / 0.8
You have: 1 gallon + 3 pints
You want: quarts
        * 5.5
        / 0.18181818
You have: sqrt(meter)
                    ^
Unit not a root
You have: sqrt(acre)
You want: ft
        * 208.71033
        / 0.0047913298
You have: 21 btu + 6500 ft lbf
You want: btu
        * 29.352939
        / 0.034068139
You have: _
You want: J
        * 30968.99
        / 3.2290366e-005
You have: 3.277 hr
You want: time
        3 hr + 16 min + 37.2 sec
You have: 1, 2 inch
You want: cm
        * 1.27
        / 0.78740157
The underscore ('_') is used to indicate the result of the last successful unit conversion.


On the command line (non-interactive)

C:\>units "ten furlongs per fortnight" "kilometers per hour" * 0.0059871429 / 167.02458 % units cup ounces conformability error 0.00023658824 m^3 0.028349523 kg


Complex units expressions

One form of the Darcy–Weisbach equation for fluid flow is :\Delta P = \frac \rho fL \frac \,, where Δ''P'' is the pressure drop, ''ρ'' is the mass density, ''f'' is the (dimensionless) friction factor, ''L'' is the length of the pipe, ''Q'' is the volumetric flow rate, and ''d'' is the pipe diameter. It might be desirable to have the equation in the form :\Delta P = A_1 \,\rho fL \frac that would accept typical US units; the constant ''A''1 could be determined manually using the unit-factor method, but it could be determined more quickly and easily using ''units'': $ units "(8/pi^2)(lbm/ft^3)ft(ft^3/s)^2(1/in^5)" psi * 43.533969 / 0.022970568 Crane Technical Paper No. 410, Eq. 3-5, gives the multiplicative value as 43.5.


See also

* Unified Code for Units of Measure


Notes


References


External links

*{{Official website
Linux man page for unitsJava version of GNU unitsunits source
from the Heirloom Project
Online units converter based on GNU unitsA simple online converter based on GNU unitsUDUNITS
Cross-platform software Unix software Units Free mathematics software Units of measurement