code wiki / (root) / nx_unicode_math.nx

nx_unicode_math.nx

buildroot/runtime/nx_unicode_math.nx

6215 B107 linesdepth 3pulls 3 transitivereach 1 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_unicode_math.nx -- Unicode math symbol library, no LaTeX needed. Per user 2026-05-14: "ability to test actually using all the algorithms in a notebook like fashion without needing latex or all that but still having all the benefits of these other systems from our ability to easily represent all the required symbols for even the most advanced mathmatician". Each symbol is a UTF-8 sequence stored as a *u8 constant. Output goes straight to stdout / browser without any LaTeX dependency. Symbol categories covered: * logic forall, exists, not, and, or, implies, iff * set theory empty, in, notin, subset, superset, union, intersect * relations le, ge, neq, approx, equiv, propto * operators sum, product, integral, partial, nabla, sqrt * sets R (reals), C (complex), Z (integers), N (naturals), Q (rationals) * arrows to, mapsto, leftarrow, leftrightarrow * greek lowercase alpha..omega * misc infinity, dagger, plus_minus

dependencies 3 imports · 1 importers

nx_syscalls.nx nx_runtime.nx nx_tier.nx nx_unicode_math.nx nx_notebook_demo.nx

imports: nx_syscalls.nxnx_runtime.nxnx_tier.nx

imported by: nx_notebook_demo.nx

structs

none

consts

none

functions

33func nx_sym_forall() -> *u8 { return "\xE2\x88\x80" as *u8 } // ∀
called by 1: main
34func nx_sym_exists() -> *u8 { return "\xE2\x88\x83" as *u8 } // ∃
called by 1: main
35func nx_sym_not() -> *u8 { return "\xC2\xAC" as *u8 } // ¬
36func nx_sym_and() -> *u8 { return "\xE2\x88\xA7" as *u8 } // ∧
37func nx_sym_or() -> *u8 { return "\xE2\x88\xA8" as *u8 } // ∨
38func nx_sym_implies() -> *u8 { return "\xE2\x87\x92" as *u8 } // ⇒
39func nx_sym_iff() -> *u8 { return "\xE2\x87\x94" as *u8 } // ⇔
called by 1: main
42func nx_sym_empty() -> *u8 { return "\xE2\x88\x85" as *u8 } // ∅
43func nx_sym_in() -> *u8 { return "\xE2\x88\x88" as *u8 } // ∈
called by 1: main
44func nx_sym_notin() -> *u8 { return "\xE2\x88\x89" as *u8 } // ∉
45func nx_sym_subset() -> *u8 { return "\xE2\x8A\x86" as *u8 } // ⊆
called by 1: main
46func nx_sym_superset() -> *u8 { return "\xE2\x8A\x87" as *u8 } // ⊇
47func nx_sym_union() -> *u8 { return "\xE2\x88\xAA" as *u8 } // ∪
48func nx_sym_intersect() -> *u8 { return "\xE2\x88\xA9" as *u8 } // ∩
51func nx_sym_le() -> *u8 { return "\xE2\x89\xA4" as *u8 } // ≤
52func nx_sym_ge() -> *u8 { return "\xE2\x89\xA5" as *u8 } // ≥
called by 1: main
53func nx_sym_neq() -> *u8 { return "\xE2\x89\xA0" as *u8 } // ≠
54func nx_sym_approx() -> *u8 { return "\xE2\x89\x88" as *u8 } // ≈
55func nx_sym_equiv() -> *u8 { return "\xE2\x89\xA1" as *u8 } // ≡
56func nx_sym_propto() -> *u8 { return "\xE2\x88\x9D" as *u8 } // ∝
59func nx_sym_sum() -> *u8 { return "\xE2\x88\x91" as *u8 } // ∑
called by 1: main
60func nx_sym_product() -> *u8 { return "\xE2\x88\x8F" as *u8 } // ∏
61func nx_sym_integral() -> *u8 { return "\xE2\x88\xAB" as *u8 } // ∫
called by 1: main
62func nx_sym_partial() -> *u8 { return "\xE2\x88\x82" as *u8 } // ∂
called by 1: main
63func nx_sym_nabla() -> *u8 { return "\xE2\x88\x87" as *u8 } // ∇
called by 1: main
64func nx_sym_sqrt() -> *u8 { return "\xE2\x88\x9A" as *u8 } // √
called by 1: main
65func nx_sym_infinity() -> *u8 { return "\xE2\x88\x9E" as *u8 } // ∞
called by 1: main
68func nx_sym_reals() -> *u8 { return "\xE2\x84\x9D" as *u8 } // ℝ
called by 1: main
69func nx_sym_complex() -> *u8 { return "\xE2\x84\x82" as *u8 } // ℂ
called by 1: main
70func nx_sym_integers() -> *u8 { return "\xE2\x84\xA4" as *u8 } // ℤ
called by 1: main
71func nx_sym_naturals() -> *u8 { return "\xE2\x84\x95" as *u8 } // ℕ
called by 1: main
72func nx_sym_rationals() -> *u8 { return "\xE2\x84\x9A" as *u8 } // ℚ
75func nx_sym_to() -> *u8 { return "\xE2\x86\x92" as *u8 } // →
76func nx_sym_mapsto() -> *u8 { return "\xE2\x86\xA6" as *u8 } // ↦
77func nx_sym_leftarrow() -> *u8 { return "\xE2\x86\x90" as *u8 } // ←
80func nx_sym_alpha() -> *u8 { return "\xCE\xB1" as *u8 } // α
called by 1: main
81func nx_sym_beta() -> *u8 { return "\xCE\xB2" as *u8 } // β
called by 1: main
82func nx_sym_gamma() -> *u8 { return "\xCE\xB3" as *u8 } // γ
83func nx_sym_delta() -> *u8 { return "\xCE\xB4" as *u8 } // δ
84func nx_sym_epsilon() -> *u8 { return "\xCE\xB5" as *u8 } // ε
85func nx_sym_theta() -> *u8 { return "\xCE\xB8" as *u8 } // θ
86func nx_sym_lambda() -> *u8 { return "\xCE\xBB" as *u8 } // λ
87func nx_sym_mu() -> *u8 { return "\xCE\xBC" as *u8 } // μ
88func nx_sym_pi() -> *u8 { return "\xCF\x80" as *u8 } // π
called by 1: main
89func nx_sym_rho() -> *u8 { return "\xCF\x81" as *u8 } // ρ
90func nx_sym_sigma() -> *u8 { return "\xCF\x83" as *u8 } // σ
called by 1: main
91func nx_sym_phi() -> *u8 { return "\xCF\x86" as *u8 } // φ
92func nx_sym_omega() -> *u8 { return "\xCF\x89" as *u8 } // ω
called by 1: main
95func nx_sym_plus_minus() -> *u8 { return "\xC2\xB1" as *u8 } // ±
96func nx_sym_times() -> *u8 { return "\xC3\x97" as *u8 } // ×
called by 1: main
97func nx_sym_divide() -> *u8 { return "\xC3\xB7" as *u8 } // ÷
98func nx_sym_dot() -> *u8 { return "\xE2\x8B\x85" as *u8 } // ⋅
99func nx_sym_degree() -> *u8 { return "\xC2\xB0" as *u8 } // °