-
Notifications
You must be signed in to change notification settings - Fork 79
Home
Welcome to the AngouriMath wiki. These pages are the guide; the almanac is the per-member reference.
Getting started Parsing an expression from string · Expressions · Basic operations · Evaluation
Doing mathematics Simplification · Solvers · Differentiation · Integration · Limits · Matrices
Using it in a program Compilation · Settings · Multithreading · Exceptions
Other surfaces AngouriMath in F# · Jupyter notebooks · Terminal
The pages describe 2.1.0. Answers changed in both 2.0.0 and 2.1.0 because the old ones were wrong, and every one of them is listed with both values, under a heading per release, in BREAKING-CHANGES.md. 2.1.0 is a drop-in replacement for 2.0.0.
Every ```cs and ```fs block here is compiled against a build of the library, run, and
its stated output compared with the one produced, by a harness that reports a page and line
for anything that does not hold. So a sample that names a member the library no longer has
is caught here rather than by a reader.
Two conventions make that work, and both are worth keeping for the reader's sake anyway:
-
using AngouriMath;,using static AngouriMath.MathS;andusing static AngouriMath.Entity;are implied in every sample, along withusing System;. Anything else a sample needs, it states —using System.Numerics;forComplex,using AngouriMath.Extensions;for thestringextensions. -
What a sample prints goes in a bare fence introduced by
Output:, on its own line. Not```cs, which marks code. Short outputs may instead be trailing comments on theConsole.WriteLinelines, and then every printing line needs one.
A block that cannot be a whole program — a fragment, pseudo-code, something written against a UI, something that throws on purpose — says so in an HTML comment before the fence, which does not render:
<!-- amcheck:skip a fragment, not a whole sample -->
<!-- amcheck:compile throws on purpose -->
<!-- amcheck:continues -->
<!-- amcheck:nooutput the printed set is abbreviated on purpose -->
continues appends the block to the sample before it, which is how a page can build a value
in one block and print it in the next.
If you did not find what you were looking for, feel free to create an issue raising your problem.