CSharpMath.Evaluation
1.0.0-pre.1
dotnet add package CSharpMath.Evaluation --version 1.0.0-pre.1
NuGet\Install-Package CSharpMath.Evaluation -Version 1.0.0-pre.1
<PackageReference Include="CSharpMath.Evaluation" Version="1.0.0-pre.1" />
<PackageVersion Include="CSharpMath.Evaluation" Version="1.0.0-pre.1" />
<PackageReference Include="CSharpMath.Evaluation" />
paket add CSharpMath.Evaluation --version 1.0.0-pre.1
#r "nuget: CSharpMath.Evaluation, 1.0.0-pre.1"
#:package CSharpMath.Evaluation@1.0.0-pre.1
#addin nuget:?package=CSharpMath.Evaluation&version=1.0.0-pre.1&prerelease
#tool nuget:?package=CSharpMath.Evaluation&version=1.0.0-pre.1&prerelease
Can convert CSharpMath.Atom.MathList parsed from LaTeX with CSharpMath.Atom.LaTeXParser
into actual mathematical expressions that are evaluatable with AngouriMath.
Supports arithmetic, trigonometry, symbolic simplification and expansion,
as well as matrices, sets, and equation solving.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- AngouriMath (>= 1.4.0)
- CSharpMath (>= 1.0.0-pre.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-pre.1 | 29 | 2/13/2026 |
| 0.5.1 | 13,045 | 5/5/2021 |
| 0.5.0 | 558 | 4/20/2021 |
| 0.5.0-beta | 555 | 11/1/2020 |
| 0.5.0-alpha4 | 706 | 8/3/2020 |
| 0.5.0-alpha3 | 648 | 8/3/2020 |
| 0.5.0-alpha2.2 | 411 | 8/3/2020 |
# 1.0.0-pre.1 Update Uno for .NET 10
# 🌈 New Platforms!
## Uno Platform Support (#121) @MartinZikmund
CSharpMath.Uno works with both Uno's native renderer (for iOS, Android and WinUI) and Skia renderer. Browser native renderer is unsupported as there is no way to use cross-targeting to support it.
CSharpMath.Uno.Example is now published at https://verybadcat.github.io/CSharpMath
## New frontend CSharpMath.VectSharp. (#215) @arklumpus
<details><summary>PR description</summary><table><td>
Hi! Thank you for this project, I really like it!
I needed a way to render LaTeX equations for another project ([VectSharp.Markdown](https://github.com/arklumpus/VectSharp/tree/master/VectSharp.Markdown)), and this seemed like a good place to start.
To be able to make it work with my project, I have created a new front end for CSharpMath, which uses [VectSharp](https://github.com/arklumpus/VectSharp) to render the equations. As a side effect, this makes it possible to output the rendered LaTeX to SVG and PDF documents, as well as to raster images.
For example, to render an equation to an SVG file (requires the VectSharp.SVG NuGet package):
```CSharp
using VectSharp;
using VectSharp.SVG;
using CSharpMath.VectSharp;
var painter = new MathPainter();
painter.LaTeX = @\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right);
Page pag = painter.DrawToPage();
pag.SaveAsSVG(test.svg);
```
Or to a PDF file (requires the VectSharp.PDF NuGet package):
```CSharp
using VectSharp;
using VectSharp.PDF;
using CSharpMath.VectSharp;
var painter = new MathPainter();
painter.LaTeX = @\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right);
Page pag = painter.DrawToPage();
Document doc = new Document();
doc.Pages.Add(pag);
doc.SaveAsPDF(test.pdf);
```
To a raster image (using [ImageSharp](https://github.com/SixLabors/ImageSharp), requires the VectSharp.Raster.ImageSharp NuGet package):
```CSharp
using VectSharp;
using VectSharp.Raster.ImageSharp;
using CSharpMath.VectSharp;
var painter = new MathPainter();
painter.LaTeX = @\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right);
Page pag = painter.DrawToPage();
pag.SaveAsImage(test.png);
```
Currently, this implementation is very similar to the CSharpMath.SkiaSharp implementation, except that it uses VectSharp rather than SkiaSharp for rendering. Ideally, at some point in the future I would like to fork from CSharpMath.Rendering in order to directly draw the glyphs, which would have the added benefit of making text selectable in PDF files. It will take some time though, because at the very least I need to implement a parser for the `MATH` OpenType table.
I hope this can be useful! Let me know if there are any issues or you have any questions!
</td></table></details>
# Updates for .NET 10!
All packages now target net10.0 (potentially with a target OS) or netstandard2.0. The entire repo now builds cross-platform with the dotnet toolchain but only Windows can build for all target OSes. Everything should be usable out of the box for modern .NET applications now.
`CSharpMath.Evaluation` now supports a lot more math operations with AngouriMath 1.4! Check out what it can do [here](https://github.com/verybadcat/CSharpMath/blob/d6feac52d2cf4b186f1f275ca4c84fd7564cc470/CSharpMath.Evaluation.Tests/EvaluationTests.cs).
# Namespace refactor
`CSharpMath.Structures` have been merged into either `CSharpMath.Atom` or `CSharpMath.Display`. Update namespace usages accordingly.
## Contributors
@Copilot, @Happypig375, @MartinZikmund, @arklumpus, @charlesroddie, @copilot-swe-agent and @hflexgrig