Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. fend

fend

MITRustv1.5.8

An arbitrary-precision unit-aware calculator with support for complex numbers, dice rolls, and multiple unit systems.

Visit WebsiteGitHubGitHub
988 stars64 forks0 contributors

What is fend?

Fend is an arbitrary-precision unit-aware calculator that performs exact calculations using rational numbers and supports complex numbers. It automatically handles unit conversions across SI, US/UK customary, and historical units, and includes features like dice rolls and multi-base arithmetic. It provides both a command-line interface and a web version for mathematical and practical computations.

Target Audience

Developers, engineers, scientists, and students who need precise calculations with unit conversions, especially those working in fields like physics, engineering, or data analysis. It's also suitable for tabletop gamers needing dice roll simulations and programmers dealing with multiple numeric bases.

Value Proposition

Developers choose fend for its combination of arbitrary-precision arithmetic, automatic unit tracking with conversions, and support for complex numbers—all in a single tool. Its unique selling points include D&D-style dice rolling, lambda calculus support, and versatile CLI shortcuts, distinguishing it from basic calculators.

Overview

Arbitrary-precision unit-aware calculator

Use Cases

Best For

  • Performing exact mathematical calculations with rational numbers to avoid floating-point errors.
  • Converting between units automatically in scientific, engineering, or everyday measurements (e.g., temperature, length).
  • Simulating dice rolls for tabletop gaming or probabilistic modeling.
  • Working with numbers in various bases like binary, octal, or hexadecimal for programming tasks.
  • Handling complex number operations in mathematical or electrical engineering contexts.
  • Storing and reusing variables with units for repeated calculations in scripts or interactive sessions.

Not Ideal For

  • Real-time applications requiring fast, simple arithmetic without unit tracking
  • Projects needing advanced graphical plotting or data visualization capabilities
  • Symbolic mathematics tasks like equation solving or integral calculus
  • Embedded systems with strict memory and processing constraints

Pros & Cons

Pros

Exact Arithmetic with Rationals

Uses rational numbers for arbitrary-precision calculations, ensuring exact results without floating-point errors, as demonstrated in examples like 'cos (pi/4)' providing precise values.

Automatic Unit Conversion

Supports SI, US/UK customary, and historical units with automatic conversions, shown in examples such as '1 ft to cm' and '100 C to F' for seamless real-world calculations.

Multi-Base Number Support

Handles binary, octal, hexadecimal, and all bases from 2 to 36, useful for programming tasks, e.g., '0b1001 + 3' and '0xffff to decimal' in the README examples.

Niche Features for Specific Uses

Includes D&D-style dice rolls ('roll d20') and lambda calculus support, catering to tabletop gamers and functional programming enthusiasts, as highlighted in the feature list.

Cons

No Advanced Mathematical Functions

Lacks built-in support for matrices, statistics, or symbolic algebra, limiting its use for complex mathematical modeling beyond basic trigonometric operations and unit conversions.

CLI-Centric with Limited GUI

Primarily a command-line tool with a basic web interface; there's no native graphical application for rich interactions or visualization, which might deter users seeking GUI-based calculators.

Setup Complexity for Some Platforms

Installation via Cargo requires the Rust toolchain, which can be cumbersome for users not familiar with Rust, compared to simpler package managers like Homebrew or winget.

Frequently Asked Questions

Quick Stats

Stars988
Forks64
Contributors0
Open Issues60
Last commit23 days ago
CreatedSince 2020

Tags

#calculator#unit-conversion#webassembly#cli-tool#complex-numbers#arbitrary-precision#rust#units-of-measure

Built With

W
WebAssembly
R
Rust

Links & Resources

Website

Included in

Rust56.6k
Auto-fetched 1 day ago

Related Projects

clash-verge-revclash-verge-rev

A modern GUI client based on Tauri, designed to run in Windows, macOS and Linux for tailored proxy experience

Stars114,999
Forks8,403
Last commit1 day ago
denodeno

A modern runtime for JavaScript and TypeScript.

Stars106,574
Forks6,039
Last commit1 day ago
AlacrittyAlacritty

A cross-platform, OpenGL terminal emulator.

Stars63,795
Forks3,441
Last commit4 days ago
TypstTypst

A markup-based typesetting system that is powerful and easy to learn.

Stars53,209
Forks1,556
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub