Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GNU Units
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== History == GNU Units was written by Adrian Mariano as an implementation of the ''[[Units (software)#units .28Unix utility.29|units]]'' utility included with the [[Unix]] operating system. It was originally available under a permissive license. The GNU variant is distributed under the GPL although the [[FreeBSD]] 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]] versions.<ref>{{cite web|title=Unix Seventh Edition Manual|publisher=Alcatel-Lucent Bell Labs|location=Murray Hill, NJ|url=http://plan9.bell-labs.com/7thEdMan/|year=1979|author=Bell Telephone Laboratories, Incorporated|access-date=2011-04-23|archive-date=2008-10-19|archive-url=https://web.archive.org/web/20081019172747/http://plan9.bell-labs.com/7thEdMan/|url-status=dead}} Online archive of the manual pages included with the [[Seventh Edition Unix]] distribution tapes.</ref> Source code for a version very similar to the original is available from the [[Heirloom Project]].<ref>{{cite web|title=Heirloom Project CVS repository|url=http://heirloom.cvs.sourceforge.net/viewvc/heirloom/heirloom/units/|access-date=2016-02-01}}</ref> === GNU implementation === GNU ''units'' includes several extensions to the original version,<ref>{{cite web|title=Units: A Unit Conversion Program and Scientific Calculator|publisher=Free Software Foundation, Inc.|location=Boston, MA|url=https://www.gnu.org/software/units/manual/units.html|year=2014|author=Mariano, Adrian|access-date=2014-03-29}} </ref> including * Exponents can be written with <code>^</code> or <code>**</code>. * Exponents can be larger than 9 if written with <code>^</code> or <code>**</code>. * Rational and decimal exponents are supported. * Sums of units (e.g., <code>{{nowrap|btu + ft lbf}}</code>) 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., <code>S</code> to <code>megohm</code>). * Parentheses for grouping are supported. This sometimes allows more natural expressions, such as in the example given in [[#Complex units expressions|Complex units expressions]]. * Roots of units (e.g., <code>{{nowrap|sqrt((lbf/inch) / lb)}}</code> can be computed. * Affine 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 (programming language)|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 (computing)|library]] interface and date conversion abilities. UDUNITS is considered the ''de facto'' program and library for variable unit conversion for [[netCDF]] files.<ref>As specified from several [[NetCDF]] conventions, e.g.: * '''COARDS'''β{{cite web |title=Conventions for the standardization of NetCDF files |date=1995-02-10 |url=http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html |access-date=2007-04-12 |archive-url=https://web.archive.org/web/20100527095818/http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html |archive-date=2010-05-27 |url-status=dead }} * '''CF'''β{{cite web |title=NetCDF Climate and Forecast (CF) Metadata Conventions |url=http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-20010629.htm |date=2014-03-29 }}</ref> === Version history === GNU Units version 2.19 was released on 31 May 2019, to reflect the [[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]] 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.<ref>(German language) [http://www.linux-magazin.de/NEWS/GNU-Units-2.0-berechnet-Feet-und-Inches Β« GNU Units 2.0 berechnet Feet und Inches Β»], ''linux-magazin.de'', 3 July 2012.</ref> 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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)