Test systems
Keep measurement calculations separate from test execution code. Supply the formulas needed by each test sequence at runtime.
A .NET library for calculations that need to change without recompiling the application. Evaluate formulas supplied as text, using variables, built-in functions and your own functions.
Includes 440+ functions, 80+ units and 47 physical constants for test systems, simulations and engineering software.
When a formula is part of the source code, changing it requires a new build. Expression Parser evaluates formulas supplied at runtime, so your application can accept new calculations without recompilation. You control how formulas are loaded, validated and made available to users.
Keep measurement calculations separate from test execution code. Supply the formulas needed by each test sequence at runtime.
Evaluate formulas for signal conditioning and control calculations. Validate changes and timing requirements within your control application.
Compare mathematical models by changing formulas and input variables without rebuilding the simulation application.
The library covers general mathematics and calculations used in physics and electronics.
Trigonometry, algebra, calculus, statistics, probability, Bessel functions, gamma functions, and more.
Classical mechanics, thermodynamics, electromagnetism, quantum mechanics, optics.
Circuit analysis, power calculations, filter design, impedance, digital logic.
Boolean algebra, bitwise operations, set theory, fuzzy logic, comparisons.
Convert units of length, mass, temperature, energy, pressure and frequency.
Speed of light, Planck constant, gravitational constant, Avogadro number, and more.
using ULTRAMEGA.ExpressionParser;
var evaluator = new ExpressionEvaluator();
// Simple calculations
double result1 = evaluator.Evaluate("2 + 3 * 4"); // 14
double result2 = evaluator.Evaluate("sin(pi/4)"); // 0.7071
double result3 = evaluator.Evaluate("sqrt(25)"); // 5
// Using variables
evaluator.SetVariable("x", 5);
evaluator.SetVariable("y", 3);
double result4 = evaluator.Evaluate("x^2 + y^2"); // 34
// Beam deflection: δ = FL³/(48EI)
evaluator.SetVariable("F", 10000); // Force (N)
evaluator.SetVariable("L", 6); // Length (m)
evaluator.SetVariable("E", 200e9); // Young's modulus (Pa)
evaluator.SetVariable("I", 8.33e-6); // Second moment (m⁴)
string formula = "F * L^3 / (48 * E * I)";
double deflection = evaluator.Evaluate(formula);
// Change formula at runtime - no recompile needed
formula = "F * L^3 / (3 * E * I)"; // Cantilever beam
double newDeflection = evaluator.Evaluate(formula);
// Orbital period using built-in constants
evaluator.SetVariable("M", 5.972e24); // Earth mass (kg)
evaluator.SetVariable("r", 7000e3); // Orbital radius (m)
// G (gravitational constant) is built-in
string period = "2 * pi * sqrt(r^3 / (G * M))";
double T = evaluator.Evaluate(period);
// Orbital velocity
double v = evaluator.Evaluate("sqrt(G * M / r)");
Performance figures are from internal benchmarks, not guaranteed limits. Results depend on the expression, hardware and workload. Contact us for the benchmark conditions.
Download the .NET library from our downloads page. Contact us to discuss licensing, supported .NET versions or integration with your application.