From 5e8e2e9204c498dd53613e50335cc895950ce17e Mon Sep 17 00:00:00 2001 From: Alex Vergara Date: Tue, 7 Nov 2023 21:54:38 +0100 Subject: [PATCH 1/2] code: added a new function to the print_utils.cppm to just print a new empty line without having to flush the stdout buffer --- zero/ifc/text/print_utils.cppm | 9 ++-- zero/main.cpp | 19 +++++--- zork_config/zork_local_linux.toml | 79 ++++++++++++++++--------------- 3 files changed, 60 insertions(+), 47 deletions(-) diff --git a/zero/ifc/text/print_utils.cppm b/zero/ifc/text/print_utils.cppm index 3406a52..d81438f 100644 --- a/zero/ifc/text/print_utils.cppm +++ b/zero/ifc/text/print_utils.cppm @@ -1,18 +1,21 @@ export module print_utils; -import std; import formatter; +import std; export namespace zero::fmt { template - void print(const std::string& format, Args... args) { + constexpr void print(const std::string& format, Args... args) { std::cout << formatter(format, args...); } template - void println(const std::string& format, Args... args) { + constexpr void println(const std::string& format, Args... args) { print(format + "\n", args...); } + void newln() { + std::cout << "\n"; + } } diff --git a/zero/main.cpp b/zero/main.cpp index 1d3915c..5693430 100644 --- a/zero/main.cpp +++ b/zero/main.cpp @@ -42,7 +42,7 @@ int main() { // Register a new test case using a function pointer. TEST_CASE("Addition Test With Pointers", testPtrsAddition); - // Users can register a new test case using lambdas, avoiding to write standalone functions + // Users can register a new test case using lambdas, avoiding writing standalone functions TEST_CASE("Subtraction Test", []() { int result = 5 - 3; assertEquals(122435, result); @@ -69,9 +69,9 @@ int main() { void run_containers_examples() { using namespace zero; - constexpr auto a = collections::Array{1L, 2L, 3L, 4L, 5L}; - const Container>& b = collections::Array{1L, 2L, 3L, 4L, 5L}; - Container>* c = new collections::Array{1L, 2L, 3L, 4L, 5L}; + constexpr auto a = collections::Array {1L, 2L, 3L, 4L, 5L}; + const Container>& b = collections::Array {1L, 2L, 3L, 4L, 5L}; + Container>* c = new collections::Array {1L, 2L, 3L, 4L, 5L}; std::cout << "Iterating over the values of a constexpr zero::collection!" << std::endl; std::cout << "decltype a: " << types::type_name() << std::endl; @@ -222,7 +222,6 @@ void run_formatter_and_stylize_examples() { std::cout << reversedText << "\n"; std::cout << hiddenText << "\n"; - std::cout << "\n\n#######Check combination full text########\n\n"; std::string format_str1 = "[WARNING] {} is deprecated. Please use {} instead."; std::string warning_msg = formatter(format_str1, "methodA", "methodB"); @@ -239,6 +238,12 @@ void run_formatter_and_stylize_examples() { std::string stylized_info_msg = stylize("[INFO]", Color::GREEN, {Modifier::FAINT}); std::string info_msg = formatter(format_str3,stylized_info_msg, "192.168.1.1"); std::cout << info_msg << std::endl; + + std::cout << "\n\n#######Check unicode symbols########\n"; + std::string format_str4 = "{} Triple integral symbol: {}"; + std::string stylized_info_msg_2 = stylize("[INFO]", Color::GREEN, {Modifier::FAINT}); + std::string info_msg_2 = formatter(format_str4, stylized_info_msg_2, "∭"); + std::cout << info_msg_2 << "\n\n"; } void run_print_examples() { @@ -254,5 +259,7 @@ void run_print_examples() { // Formatting examples with print and println print("Formatted print: x = {}, y = {}, z = {}", 10, 20, 30); println("Formatted println: x = {}, y = {}, z = {}", 10, 20, 30); - println("Another formatted println: The unseen {} is the deadliest {}", "Yasuo", ", but of course, he is on the enemy team"); + println("Another formatted println: The unseen {} is the deadliest, {}", "Yasuo", "but of course, he is on the enemy team"); + + newln(); } diff --git a/zork_config/zork_local_linux.toml b/zork_config/zork_local_linux.toml index 04d7cd8..2b3fde2 100644 --- a/zork_config/zork_local_linux.toml +++ b/zork_config/zork_local_linux.toml @@ -30,35 +30,38 @@ sources = [ "tests/math/*.cpp", "tests/*.cpp" ] [modules] base_ifcs_dir = "ifc" interfaces = [ -# { file = 'commons/typedefs.cppm' }, -# { file = 'text/str_manip.cppm' }, -# { file = 'types/type_info.cppm' }, -# { file = 'types/type_traits.cppm' }, -# { file = 'commons/concepts.cppm', dependencies = ['typedefs'] }, -# + { file = 'commons/typedefs.cppm' }, + { file = 'text/str_manip.cppm' }, + { file = 'text/formatter.cppm' }, + { file = 'text/stylizer.cppm' }, + { file = 'text/print_utils.cppm' }, + { file = 'types/type_info.cppm' }, + { file = 'types/type_traits.cppm' }, + { file = 'commons/concepts.cppm', dependencies = ['typedefs'] }, + # ### The testing suite { file = 'test-suite/assertions.cppm', partition = { module = 'tsuite' } }, # Root { file = 'test-suite/suite.cppm', module_name = 'tsuite' }, -# -# ### Iterator library -# { file = 'iterators/internal/iterator_detail.cpp', partition = { module = 'iterator', partition_name = 'detail' } }, -# { file = 'iterators/iterator_concepts.cppm', partition = { module = 'iterator', partition_name = 'concepts' } }, -# # Modern -# { file = 'iterators/iterator_facade.cppm', partition = { module = 'iterator' } }, -# { file = 'iterators/input_iterator.cppm', partition = { module = 'iterator' } }, -# # Legacy -# { file = 'iterators/legacy/legacy_iterator.cppm', partition = { module = 'iterator' } }, -# { file = 'iterators/legacy/legacy_input_iterator.cppm', partition = { module = 'iterator' } }, -# { file = 'iterators/legacy/legacy_output_iterator.cppm', partition = { module = 'iterator' } }, -# # Root -# { file = 'iterators/iterator.cppm' }, -# -# # The collections/containers librar -# { file = 'collections/container.cppm', dependencies = ['type_info'] }, -# { file = 'collections/array.cppm', dependencies = ['typedefs', 'concepts', 'iterator', 'container'] }, -# # Root -# { file = 'collections/collections.cppm', dependencies = ['array'] }, + + ### Iterator library + { file = 'iterators/internal/iterator_detail.cpp', partition = { module = 'iterator', partition_name = 'detail' } }, + { file = 'iterators/iterator_concepts.cppm', partition = { module = 'iterator', partition_name = 'concepts' } }, + # Modern + { file = 'iterators/iterator_facade.cppm', partition = { module = 'iterator' } }, + { file = 'iterators/input_iterator.cppm', partition = { module = 'iterator' } }, + # Legacy + { file = 'iterators/legacy/legacy_iterator.cppm', partition = { module = 'iterator' } }, + { file = 'iterators/legacy/legacy_input_iterator.cppm', partition = { module = 'iterator' } }, + { file = 'iterators/legacy/legacy_output_iterator.cppm', partition = { module = 'iterator' } }, + # Root + { file = 'iterators/iterator.cppm' }, + + # The collections/containers librar + { file = 'collections/container.cppm', dependencies = ['type_info'] }, + { file = 'collections/array.cppm', dependencies = ['typedefs', 'concepts', 'iterator', 'container'] }, + # Root + { file = 'collections/collections.cppm', dependencies = ['array'] }, ### Math library # The operations library @@ -70,19 +73,19 @@ interfaces = [ { file = 'math/linear_algebra/root.cppm', module_name = 'math.linear_algebra' }, # Root { file = 'math/math.cppm' }, - -# ### The physics library -# # The quantities library -# { file = 'physics/quantities/internal/quantities_detail.cpp', partition = { module = 'physics.quantities', partition_name = 'quantities.detail' } }, -# -# { file = 'physics/quantities/ratios.cppm', partition = { module = 'physics.quantities' } }, -# { file = 'physics/quantities/units.symbols.cppm', module_name = 'units.symbols', partition = { module = 'physics.quantities' } }, -# { file = 'physics/quantities/dimensions.cppm', module_name = 'dimensions', partition = { module = 'physics.quantities' } }, -# { file = 'physics/quantities/units.cppm', module_name = 'units', partition = { module = 'physics.quantities' } }, -# { file = 'physics/quantities/quantity.cppm', partition = { module = 'physics.quantities' } }, -# { file = 'physics/quantities/physics.quantities.cppm' }, -# # Root -# { file = 'physics/physics.cppm' }, + + ### The physics library + # The quantities library + { file = 'physics/quantities/internal/quantities_detail.cpp', partition = { module = 'physics.quantities', partition_name = 'quantities.detail' } }, + + { file = 'physics/quantities/ratios.cppm', partition = { module = 'physics.quantities' } }, + { file = 'physics/quantities/units.symbols.cppm', module_name = 'units.symbols', partition = { module = 'physics.quantities' } }, + { file = 'physics/quantities/dimensions.cppm', module_name = 'dimensions', partition = { module = 'physics.quantities' } }, + { file = 'physics/quantities/units.cppm', module_name = 'units', partition = { module = 'physics.quantities' } }, + { file = 'physics/quantities/quantity.cppm', partition = { module = 'physics.quantities' } }, + { file = 'physics/quantities/physics.quantities.cppm' }, + # Root + { file = 'physics/physics.cppm' }, # The main interface of the project { file = 'zero.cppm' } From 54b813f2b08197900a0e33560e84d8f37dd48390 Mon Sep 17 00:00:00 2001 From: Alex Vergara Date: Thu, 9 Nov 2023 18:31:58 +0100 Subject: [PATCH 2/2] code: added a new function to the print_utils.cppm to just print a new empty line without having to flush the stdout buffer code: added a new module to have an enum that stores as compile time constants some mathematical symbols as unicode characters. Still incomplete, but there are the most useful ones. docs: started the math module documentation, but it's far from be completed --- zero/ifc/math/README.md | 164 +++++++++++++++++++++++++++- zero/ifc/math/math.cppm | 1 + zero/ifc/math/symbols.cppm | 145 ++++++++++++++++++++++++ zork_config/zork_gh_linux.toml | 2 + zork_config/zork_local_linux.toml | 2 + zork_config/zork_local_windows.toml | 2 + 6 files changed, 315 insertions(+), 1 deletion(-) create mode 100644 zero/ifc/math/symbols.cppm diff --git a/zero/ifc/math/README.md b/zero/ifc/math/README.md index b1e4378..f58bd3a 100644 --- a/zero/ifc/math/README.md +++ b/zero/ifc/math/README.md @@ -1 +1,163 @@ -# The Math library \ No newline at end of file +# The Math library + +This library aims to provide mathematical operations, operators and symbols, for being used +in standalone mathematical operations or in more complex environments, like solving problems +in diverse science fields. + +## Ops +TODO + +## Linear Algebra +TODO + +## Symbols + +This module provides the most useful mathematical symbols to be used in string representations. +Here is the list of the ones that are implemented as the variants of the enum `MathSymbol`: + +```c++ + // Basic Math Operators + Plus = 0x002B, // + + Minus = 0x2212, // - + Multiply = 0x00D7, // × + Divide = 0x00F7, // ÷ + + // General + Implies = 0x21D2, // ⇒ + NotImplies = 0x21CF, // ⇏ + IfAndOnlyIf = 0x21CF, // ⇔ + Increment = 0x2206, // ∆ + + // Relation + Equals = 0x003D, // = + NotEquals = 0x2260, // ≠ + AlmostEqualsTo = 0x2248, // ≈ + PlusMinus = 0x00B1, // ± + LessThan = 0x003C, // < + GreaterThan = 0x003E, // > + LessThanOrEqual = 0x2264, // ≤ + GreaterThanOrEqual = 0x2265, // ≥ + ProportionalTo = 0x221D, // ∝ + ApproximatelyEqual = 0x2248, // ≈ + + // Geometry + Parallel = 0x2225, // ∥ + NotParallel = 0x2226, // ∦ + + // Root Symbols + SquareRoot = 0x221A, // √ + CubeRoot = 0x221B, // ∛ + FourthRoot = 0x221C, // ∜ + + // Summation and Integral + Summation = 0x2211, // ∑ + Integral = 0x222B, // ∫ + DoubleIntegral = 0x222C, // ∬ + TripleIntegral = 0x222D, // ∭ + ContourIntegral = 0x222E, // ∮ + SurfaceIntegral = 0x222F, // ∯ + VolumeIntegral = 0x2230, // ∰ + + // Miscellaneous + Tilde = 0x223C, // ∼ + RingOperator = 0x2218, // ∘ + SineWave = 0x223F, // ∿ + + // Number Sets + NaturalNumbers = 0x2115, // ℕ + Integers = 0x2124, // ℤ + Rationals = 0x211A, // ℚ + Reals = 0x211D, // ℝ + ComplexNumbers = 0x2102, // ℂ + + // Set Notation + OpenCurlyBrace2 = 0x007B, // { + CloseCurlyBrace2 = 0x007D, // } + Exists = 0x2203, // ∃ (Exists) + ForAll = 0x2200, // ∀ (For All) + ElementOf = 0x2208, // ∈ + NotElementOf = 0x2209, // ∉ + ContainsAsMember = 0x220B, // ∋ (As member) + NotContainsAsMember = 0x220C, // ∌ (As member) + Subset = 0x2282, // ⊂ + SubsetOrEqualTo = 0x2286, // ⊆ + NotASubset = 0x2284, // ⊄ + Superset = 0x2285, // ⊃ + SupersetOrEqualTo = 0x2287, // ⊇ + NotASuperset = 0x2285, // ⊅ + EmptySet = 0x2205, // ∅ + Therefore = 0x2234, // ∴ + Because = 0x2235, // ∵ + Intersection = 0x2229, // ∩ + Union = 0x222A, // ∪ + SuchThat = 0x2223, // ∣ + DivisionSlash = 0x2044, // ⁄ (Division Slash) + OpenSquareBrace = 0x005B, // [ + CloseSquareBrace = 0x005D, // ] + + // Logical Operators + LogicalAnd = 0x2227, // ∧ + LogicalOr = 0x2228, // ∨ + LogicalNot = 0x00AC, // ¬ + + // Infinity and Special Symbols + Infinity = 0x221E, // ∞ + MinusInfinity = 0x2212, // -∞ + + // Aleph and Parentheses + Aleph = 0x2135, // ℵ + OpenParenthesis = 0x0028, // ( + CloseParenthesis = 0x0029, // ) + + // Superscript and Subscript + SuperscriptN = 0x207F, // ⁿ (Superscript n) + Superscript1 = 0x00B9, // ¹ (Superscript 1) + Superscript2 = 0x00B2, // ² (Superscript 2) + Superscript3 = 0x00B3, // ³ (Superscript 3) + SuperscriptPlus = 0x207A, // ⁺ (Superscript Plus) + SuperscriptMinus = 0x207B, // ⁻ (Superscript Minus) + Subscript1 = 0x2081, // ₁ (Subscript 1) + Subscript2 = 0x2082, // ₂ (Subscript 2) + Subscript3 = 0x2083, // ₃ (Subscript 3) + + // Derivative Symbols + Derivative = 0x2146, // ⅆ (Derivative of) + PartialDerivative = 0x2202, // ∂ (Partial Derivative) + Nabla = 0x2207, // ∇ (Nabla) + DelSquared = 0x2207, // ∇² (Del Squared) + VectorDiv = 0x2207, // ∇ · (Divergence) + Laplace = 0x2207, // ∇² (Laplace Operator) + + // Vector Symbols + VectorArrow = 0x2192, // → (Vector Arrow) + CrossProduct = 0x00D7, // × (Cross Product) + DotProduct = 0x22C5, // ⋅ (Dot Product) + + // Matrices Symbols // TODO complete + Matrix = 0x23A0, // ⎠ (Matrix) + MatrixTranspose = 0x22A4, // ⊤ (Matrix Transpose) + MatrixHermitian = 0x22B2, // ⊲ (Matrix Hermitian) + + // Degree and Greek Letters + Degree = 0x00B0, // ° + Pi = 0x03C0, // π + Sigma = 0x03A3, // Σ + Delta = 0x2206, // ∆ + Alpha = 0x03B1, // α + Beta = 0x03B2, // β + Gamma = 0x03B3, // γ + Epsilon = 0x03B5, // ε + Zeta = 0x03B6, // ζ + Eta = 0x03B7, // η + Mu = 0x03BC, // μ + Nu = 0x03BD, // ν + Xi = 0x039E, // Ξ + Rho = 0x03C1, // ρ + Tau = 0x03C4, // τ + Phi = 0x03A6, // Φ + Psi = 0x03A8, // Ψ + Omega = 0x03A9, // Ω +``` + +> Please, everytime that a new symbol is added to the enumerated type, remember to add +> it to this documentation for having the complete reference of the symbols implemented in the library. \ No newline at end of file diff --git a/zero/ifc/math/math.cppm b/zero/ifc/math/math.cppm index c331d16..253672e 100644 --- a/zero/ifc/math/math.cppm +++ b/zero/ifc/math/math.cppm @@ -8,4 +8,5 @@ export module math; export import math.ops; +export import math.symbols; export import math.linear_algebra; \ No newline at end of file diff --git a/zero/ifc/math/symbols.cppm b/zero/ifc/math/symbols.cppm new file mode 100644 index 0000000..ae92343 --- /dev/null +++ b/zero/ifc/math/symbols.cppm @@ -0,0 +1,145 @@ +export module math.symbols; + +enum class MathSymbol { + // Basic Math Operators + Plus = 0x002B, // + + Minus = 0x2212, // - + Multiply = 0x00D7, // × + Divide = 0x00F7, // ÷ + + // General + Implies = 0x21D2, // ⇒ + NotImplies = 0x21CF, // ⇏ + IfAndOnlyIf = 0x21CF, // ⇔ + Increment = 0x2206, // ∆ + + // Relation + Equals = 0x003D, // = + NotEquals = 0x2260, // ≠ + AlmostEqualsTo = 0x2248, // ≈ + PlusMinus = 0x00B1, // ± + LessThan = 0x003C, // < + GreaterThan = 0x003E, // > + LessThanOrEqual = 0x2264, // ≤ + GreaterThanOrEqual = 0x2265, // ≥ + ProportionalTo = 0x221D, // ∝ + ApproximatelyEqual = 0x2248, // ≈ + + // Geometry + Parallel = 0x2225, // ∥ + NotParallel = 0x2226, // ∦ + + // Root Symbols + SquareRoot = 0x221A, // √ + CubeRoot = 0x221B, // ∛ + FourthRoot = 0x221C, // ∜ + + // Summation and Integral + Summation = 0x2211, // ∑ + Integral = 0x222B, // ∫ + DoubleIntegral = 0x222C, // ∬ + TripleIntegral = 0x222D, // ∭ + ContourIntegral = 0x222E, // ∮ + SurfaceIntegral = 0x222F, // ∯ + VolumeIntegral = 0x2230, // ∰ + + // Miscellaneous + Tilde = 0x223C, // ∼ + RingOperator = 0x2218, // ∘ + SineWave = 0x223F, // ∿ + + // Number Sets + NaturalNumbers = 0x2115, // ℕ + Integers = 0x2124, // ℤ + Rationals = 0x211A, // ℚ + Reals = 0x211D, // ℝ + ComplexNumbers = 0x2102, // ℂ + + // Set Notation + OpenCurlyBrace2 = 0x007B, // { + CloseCurlyBrace2 = 0x007D, // } + Exists = 0x2203, // ∃ (Exists) + ForAll = 0x2200, // ∀ (For All) + ElementOf = 0x2208, // ∈ + NotElementOf = 0x2209, // ∉ + ContainsAsMember = 0x220B, // ∋ (As member) + NotContainsAsMember = 0x220C, // ∌ (As member) + Subset = 0x2282, // ⊂ + SubsetOrEqualTo = 0x2286, // ⊆ + NotASubset = 0x2284, // ⊄ + Superset = 0x2285, // ⊃ + SupersetOrEqualTo = 0x2287, // ⊇ + NotASuperset = 0x2285, // ⊅ + EmptySet = 0x2205, // ∅ + Therefore = 0x2234, // ∴ + Because = 0x2235, // ∵ + Intersection = 0x2229, // ∩ + Union = 0x222A, // ∪ + SuchThat = 0x2223, // ∣ + DivisionSlash = 0x2044, // ⁄ (Division Slash) + OpenSquareBrace = 0x005B, // [ + CloseSquareBrace = 0x005D, // ] + + // Logical Operators + LogicalAnd = 0x2227, // ∧ + LogicalOr = 0x2228, // ∨ + LogicalNot = 0x00AC, // ¬ + + // Infinity and Special Symbols + Infinity = 0x221E, // ∞ + MinusInfinity = 0x2212, // -∞ + + // Aleph and Parentheses + Aleph = 0x2135, // ℵ + OpenParenthesis = 0x0028, // ( + CloseParenthesis = 0x0029, // ) + + // Superscript and Subscript + SuperscriptN = 0x207F, // ⁿ (Superscript n) + Superscript1 = 0x00B9, // ¹ (Superscript 1) + Superscript2 = 0x00B2, // ² (Superscript 2) + Superscript3 = 0x00B3, // ³ (Superscript 3) + SuperscriptPlus = 0x207A, // ⁺ (Superscript Plus) + SuperscriptMinus = 0x207B, // ⁻ (Superscript Minus) + Subscript1 = 0x2081, // ₁ (Subscript 1) + Subscript2 = 0x2082, // ₂ (Subscript 2) + Subscript3 = 0x2083, // ₃ (Subscript 3) + + // Derivative Symbols + Derivative = 0x2146, // ⅆ (Derivative of) + PartialDerivative = 0x2202, // ∂ (Partial Derivative) + Nabla = 0x2207, // ∇ (Nabla) + DelSquared = 0x2207, // ∇² (Del Squared) + VectorDiv = 0x2207, // ∇ · (Divergence) + Laplace = 0x2207, // ∇² (Laplace Operator) + + // Vector Symbols + VectorArrow = 0x2192, // → (Vector Arrow) + CrossProduct = 0x00D7, // × (Cross Product) + DotProduct = 0x22C5, // ⋅ (Dot Product) + + // Matrices Symbols // TODO complete + Matrix = 0x23A0, // ⎠ (Matrix) + MatrixTranspose = 0x22A4, // ⊤ (Matrix Transpose) + MatrixHermitian = 0x22B2, // ⊲ (Matrix Hermitian) + + // Degree and Greek Letters + Degree = 0x00B0, // ° + Pi = 0x03C0, // π + Sigma = 0x03A3, // Σ + Delta = 0x2206, // ∆ + Alpha = 0x03B1, // α + Beta = 0x03B2, // β + Gamma = 0x03B3, // γ + Epsilon = 0x03B5, // ε + Zeta = 0x03B6, // ζ + Eta = 0x03B7, // η + Mu = 0x03BC, // μ + Nu = 0x03BD, // ν + Xi = 0x039E, // Ξ + Rho = 0x03C1, // ρ + Tau = 0x03C4, // τ + Phi = 0x03A6, // Φ + Psi = 0x03A8, // Ψ + Omega = 0x03A9, // Ω +}; diff --git a/zork_config/zork_gh_linux.toml b/zork_config/zork_gh_linux.toml index daefe32..46ad871 100644 --- a/zork_config/zork_gh_linux.toml +++ b/zork_config/zork_gh_linux.toml @@ -72,6 +72,8 @@ interfaces = [ # The linear algebra library { file = 'math/linear_algebra/matrix.cppm', partition = { module = 'math.linear_algebra', partition_name = 'matrix' } }, { file = 'math/linear_algebra/root.cppm', module_name = 'math.linear_algebra' }, + # General + { file = 'math/symbols.cppm', module_name = 'math.symbols' }, # Root { file = 'math/math.cppm' }, diff --git a/zork_config/zork_local_linux.toml b/zork_config/zork_local_linux.toml index 2b3fde2..693ce8f 100644 --- a/zork_config/zork_local_linux.toml +++ b/zork_config/zork_local_linux.toml @@ -71,6 +71,8 @@ interfaces = [ # The linear algebra library { file = 'math/linear_algebra/matrix.cppm', partition = { module = 'math.linear_algebra', partition_name = 'matrix' } }, { file = 'math/linear_algebra/root.cppm', module_name = 'math.linear_algebra' }, + # General + { file = 'math/symbols.cppm', module_name = 'math.symbols' }, # Root { file = 'math/math.cppm' }, diff --git a/zork_config/zork_local_windows.toml b/zork_config/zork_local_windows.toml index 0fcfdb9..751b473 100644 --- a/zork_config/zork_local_windows.toml +++ b/zork_config/zork_local_windows.toml @@ -71,6 +71,8 @@ interfaces = [ # The linear algebra library { file = 'math/linear_algebra/matrix.cppm', partition = { module = 'math.linear_algebra', partition_name = 'matrix' } }, { file = 'math/linear_algebra/root.cppm', module_name = 'math.linear_algebra' }, + # General + { file = 'math/symbols.cppm', module_name = 'math.symbols' }, # Root { file = 'math/math.cppm' },