Rulealize.Plugin.Arithmetic
1.0.0
See the version list below for details.
dotnet add package Rulealize.Plugin.Arithmetic --version 1.0.0
NuGet\Install-Package Rulealize.Plugin.Arithmetic -Version 1.0.0
<PackageReference Include="Rulealize.Plugin.Arithmetic" Version="1.0.0" />
<PackageVersion Include="Rulealize.Plugin.Arithmetic" Version="1.0.0" />
<PackageReference Include="Rulealize.Plugin.Arithmetic" />
paket add Rulealize.Plugin.Arithmetic --version 1.0.0
#r "nuget: Rulealize.Plugin.Arithmetic, 1.0.0"
#:package Rulealize.Plugin.Arithmetic@1.0.0
#addin nuget:?package=Rulealize.Plugin.Arithmetic&version=1.0.0
#tool nuget:?package=Rulealize.Plugin.Arithmetic&version=1.0.0
Rulealize.Plugin.Arithmetic
Arithmetic for Rulealize rule sets.
| Plugin id | Rulealize.Plugin.Arithmetic |
| Namespace | math |
| Reserved prefix | none |
| Depends on | Rulealize.Abstraction |
| Specification | doc/specification.md |
math.add, sub, mul, div, mod, min, max, abs. Counting the elements of a
sequence is not here; that is seq.count, and it belongs to the plugin that owns sequences.
Othello uses exactly one operation from this plugin — incrementing a pass counter — which
makes it the clearest illustration of why the standard vocabulary is cut so finely. Bundled
into an omnibus plugin, that single use would be invisible. As its own line in a rule set's
requires list it states something true: this rule set counts.
Two things the specification settles that are worth knowing before you read it. Numbers are
decimal, not binary floating point, so 0.1 + 0.2 != 0.3 cannot decide a rule's outcome —
and math.div is therefore real division, 7 / 2 being 3.5. And every operand must be a
number: null is an evaluation error rather than a zero, which is the mirror image of
cmp.eq accepting null happily.
Building
Rulealize.Abstraction is not on nuget.org yet, so NuGet.config points at a folder
feed. Produce it from the abstraction repository first:
dotnet pack path\to\Rulealize.Abstraction\src\Rulealize.Abstraction -c Release -o path\to\LocalNuGet
with LocalNuGet a sibling of this repository. Then dotnet build.
License
Apache-2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Rulealize.Abstraction (>= 0.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.