Spar

Jul 20, 2023

Modular math parser

Spar is a modular math parser that comes with a fully featured text frontend, something like an interactive calculator. It also provides a simple but complete API for C/C++ programmers. This API provide a complete interface to a top down parser that supports variables, constants, functions, modules and a libc based math library. This math library overrides standard functions with a “custom” version such as. deg, rad auto conversion, infinite symbol, function domain….

Spar, can be easily extended with modules. A module is a “user” extensions, written in C/C++, to the basic features of the Simple Parser. Here you can find the module definition is a C structure that contains only few data member - module name - module version - module description - a pointer to the module main function

The modules are loaded at run-time by the module loader that is a high level layer of the module manager you can load your modules, simply, coping theirs paths into the .spar_modules or any other file, with the -c option.



Checkout these related ports:
  • Zn_poly - C library for polynomial arithmetic
  • Zimpl - Language to translate the LP models into .lp or .mps
  • Zegrapher - Software for plotting mathematical objects
  • Zarray - Dynamically typed N-D expression system based on xtensor
  • Z3 - Z3 Theorem Prover
  • Yices - SMT solver
  • Yacas - Yet Another Computer Algebra System
  • Xtensor - Multi-dimensional arrays with broadcasting and lazy computing
  • Xtensor-python - Python bindings for xtensor
  • Xtensor-io - Xtensor plugin to read/write images, audio files, numpy npz and HDF5
  • Xtensor-blas - BLAS extension to xtensor
  • Xspread - Spreadsheet program for X and terminals
  • Xppaut - Graphical tool for solving differential equations, etc
  • Xplot - X11 plotting package
  • Xlife++ - XLiFE++ eXtended Library of Finite Elements in C++