mirror of
https://github.com/tiffany352/rink-rs
synced 2024-11-10 13:44:15 +00:00
2.3 KiB
2.3 KiB
Rink
A unit conversion tool in Rust. The name is a subset of frink
,
another unit conversion tool, to indicate that this tool implements a
subset of frink's features.
Select features:
- High-precision bignum rational arithmetic
- Detailed error messages
- IRC bot
Install
cargo install rink
Examples
> kWh/year -> W
approx. 0.1140795 W (power)
> W -> J
Conformance error
Left side: 1 watt (power)
Right side: 1 joule (energy)
Suggestion: 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.3"
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
0.3.0
- Use GNU units database instead of frink's
- Relicense under MPL
- Web interface
- Multi-server IRC in bot
- Date arithmetic
- Exact fraction printing
- Sandboxing
- Add temperature scale suffixes
- Factorize query
- Function call syntax
- Errors on division by zero
- Errors on unimplemented imaginary roots
- Inline unit definitions
- Bot name prefix is optional in private message
- Fix associativity of addition
- Rename commonly confused units
- Unit lists (hr;min;sec) in conversions
- "Units for" query
- Show unit definitions when they are the only term
- Make / lower precedence than multiplication, add | which is higher precedence
- Unit tests
- Output token symbols instead of internal names
- Canonicalize output units
- Try to find a matching derived unit for queries
0.2.0
- Errors for division by zero
- Better conversion (->) output
- Bignum arithmetic
- API docs
- IRC bot
- Addition
0.1.1
- Search for units.txt in standard directories
- Rustyline
0.1.0
- Initial release