• Stars
    star
    418
  • Rank 103,100 (Top 3 %)
  • Language
    Rust
  • License
    GNU General Publi...
  • Created about 8 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Unit conversion tool and library written in rust

Rink

Build Status codecov crates.io downloads

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: rinkcalc.app

Rink is available via a web interface in addition to the terminal-based interface. Useful for doing calculations on mobile.

Install

The most common version of Rink is the command line interface rink.

Package Manager Command
Cargo cargo install rink
Pacman pacman -S rink
Nix nix-env -i rink
Scoop scoop install rink

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

docs.rs

[dependencies]
rink-core = "0.6"

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

Contribution guide can be found on the wiki: https://github.com/tiffany352/rink-rs/wiki#contribution-guide

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

More Repositories

1

moxie-native

A webrender-based UI framework with a moxie frontend
Rust
127
star
2

twitter-archive-browser

Desktop app for browsing your Twitter Archive
JavaScript
64
star
3

Roblox-Tag-Editor

A plugin for manipulating CollectionService in Roblox Studio.
Lua
60
star
4

godot-starlight

Render 100,000 stars in 3D space in realtime
GDScript
32
star
5

unicode-visualizer-web

Web tool for inspecting Unicode strings
HTML
29
star
6

RobloxComponentSystem

An Entity Component System for Roblox.
Lua
28
star
7

Roblox-Terrain-Generator

A terrain generator framework for Roblox
Lua
11
star
8

frscript

A concatenative scripting language with a type system
Rust
11
star
9

recycle-list-view

Recycle list view implementation for Roact
Lua
8
star
10

RoactStudioWidgets

A reimplementation of the Terrain Tools Studio widgets using Roact.
Lua
7
star
11

react-rs

Experiment in creating a react-like in rust
Rust
6
star
12

frp-rust

Implementing FRP in Rust
Rust
6
star
13

tifflang

A toy programming language
Rust
6
star
14

Roact-Editor

My December 2018 Hack Week project
Lua
5
star
15

InvisibleItemFrames

A Spigot plugin for invisible item frames in survival.
Java
4
star
16

is-same

A trait for comparing object identities
Rust
4
star
17

tiffbot-2

This might be the first project I ever wrote in Rust, probably built using rustc 0.4.
Rust
2
star
18

permuto

Permuto Programming Language
Haskell
2
star
19

roblox-lenses

A library for creating dynamically updating mappings from the data model into arbitrarily shaped tables
Lua
2
star
20

personal-organizer

A personal organizer web app
TypeScript
2
star
21

sui

The Sane User Interface Library
C
2
star
22

susurrus

Noise implementation in Rust
Rust
2
star
23

tiffcolors

VS code theme for people with deuteranopia (red-green colorblindness)
2
star
24

wasm-rs

WebAssembly binary format parser in Rust
Rust
1
star
25

tiffbot

An IRC bot in neat (https://github.com/FeepingCreature/fcc) using std.irc (my IRC library)
Lua
1
star
26

nobility

NBT decoder in Rust
Rust
1
star
27

typescript-node-template

A template app for building a web app written in Typescript for both frontend and backend, using Node.JS + React
TypeScript
1
star