RedcrabX – MathBox Guide
How to enter formulas, fractions, roots, exponents, matrices, and variables | Version 1.0
Table of Contents
- 1. Overview
- 2. Basic Arithmetic
- 3. Fraction (Visual Fraction Bar)
- 4. Square Root Symbol
- 5. Exponent / Superscript
- 6. Greek Letters
- 7. Parentheses and Brackets
- 8. Matrix Input
- 9. Navigation between Elements
- 10. Variables
- 11. String Variables and Arrays
- 12. Numeric Arrays
- 13. Functions
- 14. Angle Mode (DEG / RAD)
- 15. Output Format
- 16. Definite Integral –
integral() - 17. Sets –
{}Literals and Set Functions - 18. Duration / Time –
dur()andhms() - 19. Electrical Engineering Functions
- 20. Complete Examples
1. Overview
A MathBox is a single formula line in the RedcrabX workspace. It displays expressions as a mix of text fields and visual elements (fraction bars, root symbols, matrices). Press Enter to evaluate the expression; the result appears to the right of the formula in gray.
Each MathBox evaluates independently and can store results in named variables, which are immediately available in other MathBoxes on the same workspace.
2. Basic Arithmetic
Type expressions directly into the input field using standard operators.
| Operator | Meaning | Example | Result |
|---|---|---|---|
+ | Addition | 3 + 4 | 7 |
- | Subtraction | 10 - 2.5 | 7.5 |
* | Multiplication | 6 * 7 | 42 |
/ | Division (text) | 10 / 4 | 2.5 |
^ | Power | 2^10 | 1024 |
% | Modulo | 17 % 5 | 2 |
= at the end for live evaluation: 2+2 =
3. Fraction (Visual Fraction Bar)
A visual fraction with a horizontal bar — numerator on top, denominator below —
is inserted by typing // anywhere in the expression.
| Action | Description |
|---|---|
Type // | Immediately replaces the two slashes with a visual fraction bar. The cursor moves into the numerator (top field). |
| Tab or → | Moves focus from the numerator to the denominator. |
| → after the denominator | Moves focus to the field after the fraction. |
| ← before the numerator | Moves focus to the field before the fraction. |
Examples
Type: 3 // → fraction appears, type 4 in the denominator Result: ¾ = 0.75 Type: (a+b) // → type (a-b) in the denominator Result: (a+b)/(a-b)
xfrac(numerator|denominator), which is evaluated as a division.
Text-based division with a single / also works: 3/4.
4. Square Root Symbol
A visual root symbol (√‾) is inserted with a keyboard shortcut. The radicand is entered inside the symbol's bounding box.
| Action | Description |
|---|---|
| Ctrl + 1 | Inserts a root symbol at the cursor position. Focus moves inside the radicand field. |
| Ctrl + 1 with text selected | Wraps the selected expression inside a new root symbol. |
| → at the end of the radicand | Moves focus to the field after the root. |
| ← at the start of the radicand | Moves focus to the field before the root. |
| Backspace on an empty radicand | Removes the root symbol; its contents become plain text. |
Examples
Ctrl+1, type: x+1 Result: √(x+1) Type: 2* then Ctrl+1, type: a²+b² Result: 2·√(a²+b²) Select "a+b", press Ctrl+1 Result: √(a+b)
sqrt(x) also works and evaluates identically,
but does not render as a visual symbol.
5. Exponent / Superscript
Superscript characters (⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻) are entered using a toggle mode activated by a keyboard shortcut. While the mode is active, digits and signs are automatically converted to their Unicode superscript equivalents.
| Action | Description |
|---|---|
| Ctrl + ^ | Toggles superscript input mode on/off. (On German keyboards: the ^ key is left of 1.) |
Digits 0–9 while mode is on | Inserts ⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ |
+ while mode is on | Inserts ⁺ |
- while mode is on | Inserts ⁻ |
| Ctrl + ^ again | Exits superscript mode; subsequent keystrokes are normal. |
Examples
x, then Ctrl+^, 2, then Ctrl+^ → x² a, Ctrl+^, 2, Ctrl+^, +b, Ctrl+^, 2, Ctrl+^ → a²+b² 10, Ctrl+^, -3, Ctrl+^ → 10⁻³ = 0.001
^ operator also computes powers as text:
x^2 evaluates to x², just without the visual superscript rendering.
6. Greek Letters
Greek letters can be entered directly in any MathBox input field using
Ctrl + Latin letter for lowercase, and
Ctrl + Shift + Latin letter for uppercase.
The Latin key corresponds to the first letter of the Greek name
(with a few exceptions: q → θ, w → ω, c → χ, f → φ, y → ψ, h → η).
| Key | Ctrl | Ctrl+Shift | Name | Key | Ctrl | Ctrl+Shift | Name |
|---|---|---|---|---|---|---|---|
a | α | Α | alpha | n | ν | Ν | nu |
b | β | Β | beta | x | ξ | Ξ | xi |
g | γ | Γ | gamma | o | ο | Ο | omicron |
d | δ | Δ | delta | p | π | Π | pi |
e | ε | Ε | epsilon | r | ρ | Ρ | rho |
z | ζ | Ζ | zeta | s | σ | Σ | sigma |
h | η | Η | eta | t | τ | Τ | tau |
q | θ | Θ | theta | u | υ | Υ | upsilon |
i | ι | Ι | iota | f | φ | Φ | phi |
k | κ | Κ | kappa | c | χ | Χ | chi |
l | λ | Λ | lambda | y | ψ | Ψ | psi |
m | μ | Μ | mu | w | ω | Ω | omega |
Examples
Ctrl+a, Ctrl+b → αβ Type: r := 3 Type: area := then Ctrl+p * r, Ctrl+^, 2, Ctrl+^ Result: area := π * r² → 28.274 Ctrl+Shift+s, Ctrl+Shift+w → ΣΩ
α := 5 and β := α + 2 work just like Latin variables.
Ctrl+A (select all), Ctrl+C (copy) etc.
are overridden inside MathBox input fields. Use the toolbar copy/cut buttons,
right-click context menu, or select text with the mouse instead.
7. Parentheses and Brackets
Parentheses are entered as plain text characters. They are not visual elements but are fully understood by the expression parser.
| Syntax | Description | Example | Result |
|---|---|---|---|
( … ) | Grouping / precedence | (2+3)*4 | 20 |
[ … ] | Array literal | [1, 2, 3, 4] | [1, 2, 3, 4] |
[ … ; … ] | Matrix rows (semicolon separates rows) | [1,2;3,4] | 2×2 matrix |
8. Matrix Input
Matrices can be entered as text literals or as visual grid controls inserted from the Matrix panel. The visual control renders each cell as an individual input field.
Text Literal
A := [1, 2, 3 ; 4, 5, 6 ; 7, 8, 9] → 3×3 matrix B := [0,1;1,0] → 2×2 identity swap matrix
Visual Matrix (Panel Button)
Click the matrix icon in the Physics/Matrix Panel. Choose the number of rows and columns. A grid of input fields appears inline.
| Key | Action inside matrix |
|---|---|
| Tab | Move to the next cell (left to right, top to bottom) |
| → at last cell | Move focus behind the matrix |
| ← at first cell | Move focus before the matrix |
| Enter | Evaluate the entire MathBox expression |
Matrix Operations
A := [1,2;3,4] B := [5,6;7,8] A * B = → matrix multiplication det(A) = → determinant inv(A) = → inverse tr(A) = → trace flat(A) = → flatten to 1-D array: [1,2,3,4] getAt(A,0,1) = → element at row 0, col 1: 2
9. Navigation between Elements
A MathBox can contain multiple elements (text fields, fractions, roots, matrices) in a horizontal row. Use the arrow keys to move between them.
| Key | Action |
|---|---|
| → | Move to the next element when the cursor is at the end of the current field |
| ← | Move to the previous element when the cursor is at the start of the current field |
| Tab | Jump to the next cell inside fraction or matrix |
| Enter | Evaluate the expression and display the result |
10. Variables
Variables are assigned using =. Once defined, they are available
immediately in all other MathBoxes on the same workspace.
a := 5 b := a * 2 → 10 r := 3 area := pi * r² → 28.27
a and A are different variables.
Clearing a Variable
Clear the expression (select all, delete) and press Enter. The variable is removed from the store and no longer available in other boxes.
11. String Variables and Arrays
Text values are entered in double quotes. They can be assigned to variables and used as axis labels in Plot and Chart boxes.
String Scalar
greeting := "Hello World"
String Array
months := ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
Using String Arrays as Axis Labels
In a Plot or Chart Box, enter the variable name in the X-Variable field
(optionally with a label using Label = variable):
X-variable field: Month = months
This displays Month as the axis title and uses the string array as tick labels.
12. Numeric Arrays
Numeric arrays are enclosed in square brackets with comma-separated values. They support element-wise operations and aggregation functions.
Defining Arrays
data := [10, 20, 30, 40, 50] x := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Range Literals
A compact range notation generates arrays automatically without listing every value.
The syntax is [start..end] for integer steps or
[start..end:step] for a custom step size.
| Expression | Result | Description |
|---|---|---|
[1..6] | [1, 2, 3, 4, 5, 6] | Integer range, step = 1 |
[0..10:2] | [0, 2, 4, 6, 8, 10] | Even numbers 0–10 |
[1..12:0.1] | [1.0, 1.1, 1.2, …, 12.0] | 110-element range with step 0.1 |
[5..1] | [5, 4, 3, 2, 1] | Descending range, step = −1 |
[1..1:0.1] | [1.0] | Single-element range |
x := [1..6] → [1, 2, 3, 4, 5, 6] sum(x) = 21 t := [0..2*pi:0.1] → 63-element array plot(t, sin(t)) → sine wave v := [1..12:0.1] len(v) = 111
Element-wise Operations
data * 2 → [20, 40, 60, 80, 100] data + [1,2,3,4,5] → [11, 22, 33, 42, 55] sin(x) → element-wise sine of each value
Array Construction Functions
| Function | Description | Example |
|---|---|---|
new(n) | Array of n zeros | new(5) → [0,0,0,0,0] |
new(n,v) | Array of n copies of v | new(3,7) → [7,7,7] |
fill(n,v) | Same as new(n,v) | fill(4,8) → [8,8,8,8] |
insert(a,i,e) | Insert element e at index i | insert([1,2,4],2,3) → [1,2,3,4] |
join(a,b) | Join two arrays or matrices | join([1,2],[3,4]) → 2×2 matrix |
Array Transformation Functions
| Function | Description |
|---|---|
aver(x) | Moving averages of consecutive element pairs |
diff(x) | Differences between consecutive elements (length n−1) |
clip(x) | Clamp each element to [−1, 1] |
clip(x,min,max) | Clamp each element to [min, max] |
flat(A) | Flatten a matrix to a 1-D array |
Aggregate Functions (Array → Scalar)
| Function | Description |
|---|---|
sum(x) | Sum of all elements |
mean(x) | Arithmetic mean |
median(x) | Median |
min(x) | Minimum value |
max(x) | Maximum value |
stdev(x) | Standard deviation (sample) |
var(x) | Variance (sample) |
len(x) | Number of elements |
quantile(x,p) | p-th quantile (0.0–1.0) |
skewness(x) | Skewness |
kurtosis(x) | Kurtosis (excess) |
geomean(x) | Geometric mean |
harmean(x) | Harmonic mean |
mad(x) | Median absolute deviation |
iqr(x) | Interquartile range (Q3−Q1) |
13. Functions
Functions are entered using the standard notation name(argument).
They can be typed directly or inserted by clicking the corresponding button
in one of the function panels.
Commonly Used Functions
| Function | Description | Example |
|---|---|---|
abs(x) | Absolute value | abs(-5) → 5 |
sqrt(x) | Square root (text) | sqrt(16) → 4 |
exp(x) | e to the power x | exp(1) → 2.718 |
log(x) | Natural logarithm | log(e) → 1 |
log10(x) | Base-10 logarithm | log10(100) → 2 |
sin(x) | Sine (respects DEG/RAD mode) | sin(90) → 1 (DEG) |
cos(x) | Cosine | cos(0) → 1 |
tan(x) | Tangent | tan(45) → 1 (DEG) |
round(x) | Round to nearest integer | round(3.7) → 4 |
floor(x) | Round down | floor(3.9) → 3 |
ceil(x) | Round up | ceil(3.1) → 4 |
mod(x,y) | Modulo | mod(10,3) → 1 |
dim(x) | Dimensionality: 0=scalar, 1=array, 2=matrix | dim([1,2,3]) → 1 |
Constants
| Constant | Value |
|---|---|
pi | 3.14159265… |
e | 2.71828182… |
phi | 1.61803399… (Golden ratio φ) |
inf | Positive infinity |
Inserting Functions via Panel
Click a button in any open function panel (General, Business, Special, Geometry, …).
The function text is inserted at the cursor position in the active MathBox.
If the function has parameters (e.g. clip(x,min,max)), the first
parameter is automatically selected so you can type the replacement immediately.
14. Angle Mode (DEG / RAD)
Trigonometric functions interpret their argument either in degrees or radians, depending on the active mode in the MathBox toolbar.
| Button | Mode | sin(90) result | sin(π/2) result |
|---|---|---|---|
| DEG | Degrees (default) | 1 | 0.027 (not 1) |
| RAD | Radians | 0.894 (not 1) | 1 |
Click DEG or RAD in the MathBox toolbar to switch. The expression is recalculated immediately.
15. Output Format
Use the dropdown and decimal places selector in the MathBox toolbar to control how results are displayed.
| Format | Description | Example (value = 1/3) |
|---|---|---|
| Floating Point | Standard decimal notation | 0.33 |
| Scientific | Scientific notation | 3.33e-1 |
| Fraction | Rational approximation | 1/3 |
| Hexadecimal | Integer values in hex | 0xFF |
The decimal places field limits how many digits are shown after the decimal point. Leave it blank or set it to 0 for automatic precision.
16. Complete Examples
Example 1 – Pythagorean Theorem
a := 3 b := 4 c := sqrt(a^2 + b^2) → 5
Example 2 – Visual Fraction
Type: sin(alpha) // then in denominator: cos(alpha) Result: tan(alpha) (fraction bar with sin on top, cos below)
Example 3 – Quadratic Formula with Root Symbol
p := -5 q := 6 Press Ctrl+1 to insert root, type: p^2 - 4*q inside the root Result: √(25 - 24) = 1 x1 := (-p + √(p^2 - 4*q)) / 2 → 3 x2 := (-p - √(p^2 - 4*q)) / 2 → 2
Example 4 – Superscript Exponents
E := m * c² (type: m*c, Ctrl+^, 2, Ctrl+^) m := 1 → E = 8.99e16 (c = speed of light)
Example 5 – Statistics on an Array
data := [12, 45, 23, 67, 34, 89, 11, 56] mean(data) = → 42.125 stdev(data) = → 27.38 median(data) = → 39.5 quantile(data,0.75) = → 61.75
Example 6 – Matrix Calculation
A := [1,2;3,4] B := inv(A) A * B = → identity matrix [1,0;0,1] det(A) = → -2
Example 7 – String Labels for Chart
months := ["Jan","Feb","Mar","Apr","May","Jun"] revenue := [12000, 15400, 11800, 17200, 19500, 21000]
In the Chart Box, set:
- Y-series:
Revenue = revenue - X-variable:
Month = months
The chart will display month names on the X axis and bar heights for each month.
16. Definite Integral – integral()
RedcrabX can compute a definite integral numerically using adaptive Gauss–Kronrod quadrature (provided by MathNet.Numerics). The result is a real number approximation of ∫ab f(x) dx.
Syntax
integral(expr, var, a, b)
| Parameter | Type | Description |
|---|---|---|
expr | expression | The integrand – any valid MathBox expression that uses the integration variable. May contain constants, other variables, and functions. |
var | name | The integration variable (e.g. x). Its value inside expr is set automatically per sample point. Outer variables with the same name are not modified. |
a | expression | Lower bound of integration. Can be any numeric expression. |
b | expression | Upper bound of integration. Can be any numeric expression. |
a and b negates the result, consistent with standard integral calculus
(∫ba = −∫ab).
Basic Examples
| Expression | Result | Explanation |
|---|---|---|
integral(x^2, x, 0, 1) | 0.33333… | ∫₀¹ x² dx = 1/3 |
integral(x^3, x, 0, 2) | 4 | ∫₀² x³ dx = 4 |
integral(sin(x), x, 0, pi) | 2 | Area under one half-period of sine |
integral(cos(x), x, 0, pi/2) | 1 | ∫₀^(π/2) cos(x) dx = 1 |
integral(exp(x), x, 0, 1) | 1.71828… | ∫₀¹ eˣ dx = e − 1 |
integral(1/x, x, 1, exp(1)) | 1 | ∫₁ᵉ 1/x dx = ln(e) = 1 |
integral(sqrt(1 - x^2), x, -1, 1) | 1.5708… | Area of upper half-unit circle = π/2 |
integral(exp(-x^2), x, -2, 2) | 1.7642… | Gauss bell curve, approximate √π |
Using Other Variables as Bounds or Parameters
Bounds and the integrand may reference any variable that is already defined in the worksheet:
n := 3 a := 0 b := 2 r := integral(x^n, x, a, b) → 4 (= 2⁴/4)
k := 2 f := integral(k * sin(x), x, 0, pi) → 4 (= k * 2)
Nested and Complex Integrands
expr may be any expression the MathBox can evaluate, including nested function calls:
integral(sin(x)^2, x, 0, pi) → 1.5708… (= π/2) integral(x * exp(-x), x, 0, 10) → 0.9999… (≈ 1) integral(log(x), x, 1, exp(1)) → 1 (∫₁ᵉ ln x dx = 1) integral(tan(x), x, 0, pi/4) → 0.3466… (= ½ ln 2)
Double Integral (nested calls)
A double integral ∫∫ f(x,y) dx dy can be approximated by nesting two integral() calls.
The outer integral treats the inner result as a function of the outer variable:
// ∫₀¹ ∫₀¹ (x + y) dy dx = 1 dbl := integral( integral(x + y, y, 0, 1) , x, 0, 1) → 1
Common Errors
| Error / Symptom | Likely Cause | Fix |
|---|---|---|
| Empty or NaN result | The integrand expression contains a typo or an undefined variable | Test the integrand standalone first: enter expr with a concrete value for var |
| Wrong result for trig functions | Angle mode mismatch (DEG vs. RAD) | Ensure the MathBox is set to RAD for standard calculus. Bounds like pi only make sense in radian mode. |
| Singularity / very large value | The integrand has a pole inside [a, b] (e.g. 1/x with a=−1, b=1) | Split the integral at the singularity and sum the parts, or use bounds that avoid it. |
| Syntax error | Missing comma, unmatched parenthesis | Check that all four arguments are present: integral(expr, var, a, b) |
Quick-Reference Card
integral(x^2, x, 0, 1) ∫₀¹ x² dx = 1/3 integral(sin(x), x, 0, pi) ∫₀^π sin x dx = 2 integral(cos(x), x, 0, pi/2) ∫₀^(π/2) cos x dx = 1 integral(exp(x), x, 0, 1) ∫₀¹ eˣ dx = e−1 integral(1/x, x, 1, exp(1)) ∫₁ᵉ 1/x dx = 1 integral(x^n, x, a, b) bounds / powers from variables integral(k*f(x), x, a, b) constant factor k from worksheet integral(integral(x+y,y,0,1),x,0,1) double integral ≈ ∫∫ f dA
RedcrabX | MathBox Guide | generated from source
17. Sets – {} Literals and Set Functions
RedcrabX supports mathematical sets directly inside the MathBox.
A set is written with curly braces { }, just as in standard mathematics.
Sets are always sorted and contain no duplicate elements.
Set Literals
Write a set literal by listing numeric expressions separated by commas inside { }:
{ 3, 1, 2, 1 } → {1, 2, 3} (sorted, duplicates removed)
{ 5 } → {5} (singleton)
{ } → {} (empty set)
Expressions and variables are fully supported inside the braces:
n := 4
{ n, n+1, n+2 } → {4, 5, 6}
{ sqrt(2), pi, 1 } → {1, 1.41421, 3.14159}
Assigning a Set to a Variable
Use the standard assignment operator :=:
A := {1, 2, 3}
B := {2, 3, 4}
The variable name is shown in the title bar, and the value is displayed as {1, 2, 3}.
The set variable can be used in all set functions listed below.
Set Functions
All set functions are also available as ribbon buttons in the Functions panel under the Sets expander.
| Function | Math notation | Description | Example |
|---|---|---|---|
union(A, B) |
A ∪ B | All elements that are in A or B (or both) | union(A, B) → {1, 2, 3, 4} |
intersect(A, B) |
A ∩ B | Elements that are in both A and B | intersect(A, B) → {2, 3} |
setdiff(A, B) |
A ∖ B | Elements in A that are not in B | setdiff(A, B) → {1} |
symdiff(A, B) |
A Δ B | Elements in A or B but not in both (symmetric difference) | symdiff(A, B) → {1, 4} |
card(A) |
|A| | Cardinality – the number of elements in the set | card(A) → 3 |
in(x, A) |
x ∈ A | Membership test: returns 1 if x is in A, otherwise 0 |
in(2, A) → 1 |
subset(A, B) |
A ⊆ B | Subset test: returns 1 if every element of A is in B, otherwise 0 |
subset({1,2}, A) → 1 |
toset(A) |
– | Converts an array to a set (sorts and removes duplicates) | toset([3,1,2,1]) → {1, 2, 3} |
toarray(A) |
– | Converts a set to an array (preserves the sorted order) | toarray(A) → [1, 2, 3] |
Step-by-Step Example
// Define two sets
A := {1, 2, 3} → {1, 2, 3}
B := {2, 3, 4} → {2, 3, 4}
// Set operations
union(A, B) → {1, 2, 3, 4}
intersect(A, B) → {2, 3}
setdiff(A, B) → {1}
setdiff(B, A) → {4}
symdiff(A, B) → {1, 4}
// Cardinality and membership
card(A) → 3
in(2, A) → 1
in(9, A) → 0
// Subset test
subset({1,2}, A) → 1 // {1,2} ⊆ {1,2,3} ✓
subset({1,5}, A) → 0 // 5 ∉ A ✗
// Converting between arrays and sets
data := [5, 3, 1, 3, 2]
S := toset(data) → {1, 2, 3, 5}
back := toarray(S) → [1, 2, 3, 5]
Combining Set Operations
// Chaining: union of three sets
C := {4, 5, 6}
ABC := union(union(A, B), C) → {1, 2, 3, 4, 5, 6}
// Cardinality of union (inclusion-exclusion)
card(union(A, B)) = card(A) + card(B) - card(intersect(A, B))
= 3 + 3 - 2 = 4
Important Notes
A := {1,2,3} registers A as a set.
Assigning A := [1,2,3] afterwards overwrites it as an array.
The display format ({ } vs. [ ]) always reflects the current type.
diff: The function diff(arr) computes finite differences
of a numeric array (e.g. diff([1,3,6]) → [2,3]).
For the set difference A ∖ B use setdiff(A, B).
Quick-Reference Card
A := {1,2,3} B := {2,3,4}
union(A,B) → {1, 2, 3, 4} // A ∪ B
intersect(A,B) → {2, 3} // A ∩ B
setdiff(A,B) → {1} // A \ B
setdiff(B,A) → {4} // B \ A
symdiff(A,B) → {1, 4} // A △ B
card(A) → 3 // |A|
in(2,A) → 1 // 2 ∈ A
subset({1,2},A) → 1 // {1,2} ⊆ A
toset([3,1,2,1]) → {1, 2, 3} // array → set
toarray(A) → [1, 2, 3] // set → array
18. Duration / Time – dur() and hms()
MathBox stores time durations as total seconds (double), so all
ordinary arithmetic operators work on them. The result is automatically
displayed in a human-readable format.
Output Format
Nd HH:MM:SS days present, no milliseconds Nd HH:MM:SS.mmm days present, milliseconds present HH:MM:SS less than one day, no milliseconds HH:MM:SS.mmm less than one day, milliseconds present
Syntax – dur()
Parameters are always in order: days → hours → minutes → seconds → milliseconds.
All parameters after the first are optional and default to 0.
| Call | Result | Description |
|---|---|---|
dur(3) | 3d 00:00:00 | 3 days |
dur(3,7) | 3d 07:00:00 | 3 days, 7 hours |
dur(1,2,30) | 1d 02:30:00 | 1 day, 2 h, 30 min |
dur(0,12,34,15) | 12:34:15 | 12 h 34 min 15 s |
dur(0,0,12,36,500) | 00:12:36.500 | 12 min 36.5 s |
Syntax – hms()
Shorthand starting from hours (no days parameter).
| Call | Result | Description |
|---|---|---|
hms(12,34) | 12:34:00 | 12 h 34 min |
hms(12,34,15) | 12:34:15 | 12 h 34 min 15 s |
Arithmetic with Durations
Because the internal value is seconds, normal operators apply:
dur(1) + dur(0,12) → 1d 12:00:00 // 1 day + 12 hours hms(2,30) * 2 → 05:00:00 // double 2.5 h dur(0,8) - hms(1,30) → 06:30:00 // difference dur(0,6) / 2 → 03:00:00 // half of 6 hours
dur( or hms(.
If a duration is stored in a variable and used in arithmetic, the raw
second value is shown unless the outer expression also starts with
dur( / hms(.
Storing Durations in Variables
shift := dur(0,8) // stores 28800 s break := hms(0,30) // stores 1800 s work := shift - break // stores 27000 s (7.5 h) dur(0) + work → 07:30:00 // display using dur()
Quick-Reference Card
dur(d) days only dur(d,h) days + hours dur(d,h,m) days + hours + minutes dur(d,h,m,s) days + hours + minutes + seconds dur(d,h,m,s,ms) all components incl. milliseconds hms(h,m) hours + minutes hms(h,m,s) hours + minutes + seconds
19. Electrical Engineering Functions
The Electrics & Electronics panel provides a growing collection of physics and engineering formulas covering Coulomb’s law, Ohm’s law, capacitors, inductors, power factor, and three-phase networks.
The full reference with all function tables, formulas, units, and examples has been moved to its own dedicated document:
📄 ElectricsGuide – Electrical Engineering Functions Reference
result_inputs(…) – e.g. resist_ui(U,I) calculates
resistance from voltage and current. Results of direct calls show their SI unit
automatically (W, V, A, Ω &hellip).