Skip to main content

Numbers and Arithmetic

NumFu's foundation is built on powerful numeric computation with arbitrary precision arithmetic. Let's start with the basics of numbers and mathematical operations.


Number Literals​

Basic Numbers​

NumFu supports several number formats:

42;          // Integer
3.14159 // Decimal
.5 // Leading decimal point optional
-17 // Negative numbers

Scientific Notation​

For very large or small numbers:

2.5e10       // 25,000,000,000
1.23E-4 // 0.000123
-1.5e6 // -1,500,000

Arithmetic Operators​

Basic Operations​

10 + 5       // Addition: 15
10 - 5 // Subtraction: 5
10 * 5 // Multiplication: 50
10 / 5 // Division: 2
10 % 3 // Modulo: 1
2 ^ 8 // Exponentiation: 256

Unary Operators​

-42          // Negation: -42
+42 // Explicit positive: 42
--42 // Double negative: 42

Operator Precedence​

NumFu follows mathematical precedence rules:

2 + 3 * 4;           // 14 (multiplication first)
2 + 3 * 4^2; // 50 (exponentiation first)
(2 + 3) * 4; // 20 (parentheses override)

You can find more information here.


Mathematical Constants​

NumFu provides essential mathematical constants:

pi;           // π ≈ 3.14159...
e; // Euler's number ≈ 2.71828...
inf; // Infinity
nan; // Not a Number

Infinity and NaN​

NumFu implements full Inf/NaN (not a number) arithmetic according to the IEEE 754 standard:

1 / 0;        // +inf (positive infinity)
-1 / 0; // -inf (negative infinity)
0 / 0; // nan (not a number)
inf * 0 // nan
sqrt(-1) // nan
nan > 42 // false
nan <= 42 // false
// ...

For a complete, easy-to-understand reference, see this article.


Examples​

Circle Area​

import pi from "math"
let radius = 5 in pi * radius^2 // 78.53...

Quadratic Formula Discriminant​

let a = 1, b = 5, c = 6 in b^2 - 4*a*c  // 1

Compound Interest​

let principal = 1000, rate = 0.05, years = 10 in
principal * (1 + rate)^years // 1628.89...