Renderingla

numerus

Checked numerus arithmetic traps instead of wrapping on overflow.

Aliases: integer, int

Syntax: <numerus> + <numerus>

Category

type

Related

Examples

examples/corpus/intrinseca/numerus-methodi.fab (canonical · existing-home)

Primitive integer number type.

# numerus comparison and ordering intrinsics
#
# Compiler-owned numerus methodi — absolutum, signum, minimus, maximus.
#
# GRAMMAR:
#   valor.absolutum() | valor.signum()
#   valor.minimus(other) | valor.maximus(other)
#
# Integer counterpart to fractus-comparatio.fab; Wasm tier Runnable.
#
# EXPECTED OUTPUT:
#   Smoke asserts exit 0 only.

incipit {
    fixum numerus valor ← -7
    fixum _ absolutus ← valor.absolutum()
    fixum _ signum ← valor.signum()
    fixum _ minor ← valor.minimus(3)
    fixum _ maior ← valor.maximus(3)

    nota absolutus, signum, minor, maior
}

examples/corpus/operatores/numerus-overflow.fab (canonical · operator-group)

Checked numerus arithmetic traps instead of wrapping on overflow.

# numerus-overflow — checked scalar arithmetic failure
#
# POLICY:
#   Bare `numerus` is i64. Integer arithmetic traps on overflow; it does not
#   inherit Rust release wrapping.

incipit {
    fixum numerus max ← 9223372036854775807
    nota max + 1
}

Expected output:

9223372036854776000