Rulealize.Plugin.Arithmetic
1.0.1
dotnet add package Rulealize.Plugin.Arithmetic --version 1.0.1
NuGet\Install-Package Rulealize.Plugin.Arithmetic -Version 1.0.1
<PackageReference Include="Rulealize.Plugin.Arithmetic" Version="1.0.1" />
<PackageVersion Include="Rulealize.Plugin.Arithmetic" Version="1.0.1" />
<PackageReference Include="Rulealize.Plugin.Arithmetic" />
paket add Rulealize.Plugin.Arithmetic --version 1.0.1
#r "nuget: Rulealize.Plugin.Arithmetic, 1.0.1"
#:package Rulealize.Plugin.Arithmetic@1.0.1
#addin nuget:?package=Rulealize.Plugin.Arithmetic&version=1.0.1
#tool nuget:?package=Rulealize.Plugin.Arithmetic&version=1.0.1
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.
Reversi 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
dotnet build. Rulealize.Abstraction restores from nuget.org like any other package, so
this repository builds on its own.
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.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.