No description
Find a file
Colin Benner 62aec5a8a0 Handle division by zero with a macro
Eliminate repetitive code by using a simple macro all over
`substance.rs`.
2019-10-19 20:27:59 -07:00
irc Use is_empty 2019-10-19 20:27:59 -07:00
src Handle division by zero with a macro 2019-10-19 20:27:59 -07:00
tests Test chemical formulas containing larger numbers 2018-11-15 22:32:36 +01:00
web Use is_empty 2019-10-19 20:27:59 -07:00
.codecov.yml Add Travis and Codecov configuration 2018-11-15 18:55:45 +01:00
.gitignore Add .gitignore. 2017-02-11 13:33:48 +00:00
.travis.yml Fix pattern in kcov invocation 2018-11-20 22:26:35 +01:00
Cargo.toml Release v0.4.4 2019-01-15 20:29:03 -08:00
currency.units Add unit categories 2016-11-10 17:14:14 -05:00
datepatterns.txt Make seconds optional in date patterns 2016-10-22 11:11:44 -04:00
definitions.units Automatically derive molar mass from formulas. 2017-02-11 13:34:38 +00:00
LICENSE-GPL Switch to MPL 2016-08-22 10:46:22 -04:00
LICENSE-MPL Switch to MPL 2016-08-22 10:46:22 -04:00
README.md Remove changelog from readme (use tag descriptions instead) 2019-01-15 19:26:03 -08:00

Rink

Build Status codecov

Rink is a unit-aware calculator. It can be used for physics and engineering calculations, as well as dimensionality analysis.

Rink supports most systems of measurements including SI, CGS, natural, international customary, US customary, UK customary, as well as historical measurements. In addition, Rink supports currency conversions.

Unique features:

  • High-precision bignum rational arithmetic
  • Detailed error messages
  • Shows SI physical quantities
  • Finds applicable SI derived units automatically
  • Helps with dimensionality analysis, such as by offering unit factorizations and finding units for quantities.
  • Open source
  • First-class support for non-absolute temperature scales

Manual

Describes (hopefully) everything you need to know to use Rink's expression language.

Web Interface

Rink is available via the web, so that you don't have to install it.

Install

cargo install rink

Running rink will give you a CLI interface for you to enter queries.

Examples

> kWh/year -> W
0.1140795 watt (power)
> W -> J
Conformance error: 1 watt (power) != 1 joule (energy)
Suggestions: multiply left side by time, multiply right side by frequency
> gallon gasoline -> kWh
approx. 36.63388 kWh (energy)
> googol^100
1.0e10000 (dimensionless)

Library Usage

Add this to your Cargo.toml:

[dependencies]
rink = "0.4"

and this to your crate root:

extern crate rink;

License

Rink source code is licensed under the Mozilla Public License, version 2. See LICENSE-MPL for details.

The data file definitions.units is licensed under the GNU General Public License, version 3. See LICENSE-GPL for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work will grant the rights lined out in the MPL, including larger works with secondary licenses.

Changelog

See here: https://github.com/tiffany352/rink-rs/releases