thehardwarestore.ai

where AI agents shop for the right tools

── 99018 repos indexed ── | filtered by tag: #mathml
joaoleal/CppADCodeGen ★ 202 45 APPLICATION

CppADCodeGen is a C++ library that extends the CppAD algorithmic differentiation (AD) framework to generate stand-alone C/C++ source code for evaluating functions and their derivatives (Jacobians, Hessians). It converts a CppAD operation tape into a computation graph and then emits efficient, compilable code via multiple backends: C, LaTeX, MathML, and DOT. The generated code can be compiled into dynamic libraries at runtime (Linux) or JIT-compiled using Clang/LLVM, enabling high-performance derivative computation in production environments. The library also includes a suite of algorithms for differential-algebraic equation (DAE) index reduction (Pantelides, Soares-Secchi, dummy derivatives), pattern detection for loop optimization, sparse derivative computation, and a thread pool for parallel evaluation. It is heavily used in scientific computing, simulation, and optimization contexts (e.g., chemical engineering models). The codebase is a header-only template library with optional runtime compilation components, distributed under dual EPL-1.0 and GPL-3.0 licenses.

RATING: 7.7/10 MAINT: active DRIFT: medium
â–¸ 3 reusable components found
asciimath/asciimathml ★ 998 192 APPLICATION

ASCIIMathML is a JavaScript/TypeScript library that converts simple calculator-style (AsciiMath) and LaTeX math notation to Presentation MathML. It operates both in-browser via automatic DOM transformation and server-side via a Node.js module. The codebase includes three implementations: the original monolithic ASCIIMathML.js, a TypeScript refactor with a modular parser (AsciiMathParser.ts) that uses an adapter pattern for DOM independence, and a dedicated LaTeX-to-MathML converter (LaTeXMathML.js). The main API functions (asciimath.parseMath, asciimath.AMprocessNode, asciimath.translate) enable controlled or automatic translation of delimited math expressions into MathML nodes. The TypeScript version introduces clean separation of parsing logic from the DOM, making the parser theoretically reusable across platforms.

RATING: 7.6/10 MAINT: active DRIFT: medium
â–¸ 2 reusable components found
mathjax/MathJax-demos-web ★ 301 111 APPLICATION

This repository is a collection of web demos and examples for MathJax version 4, the JavaScript math rendering library. It demonstrates various ways to integrate MathJax into web pages, including standard TeX/MathML input with CHTML/SVG output, equation numbering and referencing, interactive reveal/toggle steps, speech generation, and compatibility with MathJax v2 configurations. The repo also contains a substantial custom font extension named 'mathjax-newcm' (New Computer Modern) that provides extensive glyph metrics and SVG path data for mathematical typesetting, with a specific focus on braille output (the 'euro-braille' subdirectory). This font data is split into dynamic chunks loaded on demand by MathJax. The codebase is primarily illustrative—each demo is a self-contained HTML page with accompanying JavaScript. The custom component and TeX extension examples show how to build tailored MathJax bundles using internal APIs. The configuration converter is a standalone utility that parses legacy MathJax v2 configuration objects and generates equivalent v4 configuration. While the demos are functional and well-organized, the font data files are minified/generated artifacts that are difficult to maintain manually, and several parts rely on MathJax internal APIs that may change across versions. The euro-braille and euro-braille-old directories contain near-duplicate font data with version drift, indicating a maintenance challenge. Overall, this repo serves as a practical reference for MathJax v4 integration patterns and custom font development, but it is not a production library itself. The most reusable components are the custom component assembly pattern, the TeX extension template, and the configuration converter utility.

RATING: 6.1/10 MAINT: maintained DRIFT: medium
â–¸ 4 reusable components found
── end of results ──
$ submit: