Rink
Rink is a unit-aware calculator for the command line and the browser.
Start the Rink REPL with rink, or run a calculation with rink '10 pounds to kilograms'.
Rink values are numbers with units:
> 123 kilometers 123 kilometer (length) > 1.5 radians 1.5 radian (angle)
You don't need units, though. Values can be "dimensionless":
> 123 123 (dimensionless) > -456.78 -456.78 (dimensionless)
Rink supports arbitrary precision:
> 2/3 * 1/6 0.[1]... (dimensionless) > 1e20000 / 2e20001 0.05 (dimensionless)
Convert units, including currencies:
> 10 pounds to kilograms approx. 4.535923 kilogram (mass) > 32 degF to degC 0 °C (temperature) > 1 KiB to B 1024 byte (information) > 2 halfnotes to wholenote 1 wholenote (musical_note_length) > 1 EUR to INR 97.4838 INR (money) > 52 weeks to seconds 31449600 second (time)
You can use -> instead of to, which can be easier to read:
> 52 weeks -> seconds 31449600 second (time)
Do math with units:
> 1.5 hours + 30 minutes 2 hour, 0 second (time) > 100 GB / 25 mbps 8 hour, 53 minute, 20 second (time)
Combine math with unit conversion:
> 12 megabytes + 34 kilobytes + 56 bytes -> bytes 12034056 byte (information)
Convert a time to another time zone:
> #2025-04-20T18:09 America/Chicago# -> "Africa/Lagos" 2025-04-21 00:09:00 WAT > #01:23# -> "America/Sao_Paulo" 2019-01-23 05:23:00 -02 > now -> "Asia/Yangon" 2019-01-23 17:26:00 +0630
Compute time deltas:
> #2025-01-23# - #2024-02-10# 49 week, 5 day, 0 second (time) > #2025-01-23# - #2024-02-10# -> day 348 day (time) > #2025-01-23# - #2024-02-10# -> hour 8352 hour (time) > now - #2025-01-01# -> day 109 day (time)
Math with time deltas:
> now + 3 days 2020-01-26 01:23:00 +00:00 > now - (four score years + seven years) 1933-01-22 23:40:20.182200 +00:00 (92 years ago)
Remember that months and years are weird (at no fault of Rink). Compare Rink's default year and month units to alternate ones:
> 1 year -> days approx. 365.2421 day (time) > 1 calendaryear -> days 365 day (time) > 1 month -> days approx. 30.43684 day (time) > 1 lunarmonth -> days approx. 29.53058 day (time)
Work with percentages:
> 0.25 -> percent 25 percent (dimensionless) > 25 percent 0.25 (dimensionless) > 100 meters * 25 percent 25 meter (length)
Use helpers like "billion" and "thousand":
> 1 billion / 1 million 1000 (dimensionless) > 1 billion kilograms / 1 million pounds approx. 2204.622 (dimensionless)
Convert numbers between bases, such as hexadecimal and binary:
> 0x45 69 (dimensionless) > 0b1010011010 666 (dimensionless) > 420 -> base 16 1a4 (dimensionless) > 420 -> hex 1a4 (dimensionless) > 420 -> base 2 110100100 (dimensionless) > 420 -> bin 110100100 (dimensionless)
Use simple math functions, like square root. Note that these do not use arbitrary precision.
> sqrt(4) approx. 2 (dimensionless) > sqrt(4) meters approx. 2 meter (length)
Rink supports a number of constants, such as the volume of celestial bodies:
> volume of uranus / volume of moon approx. 3111.849 (dimensionless)
Comments
Add a comment