Introduce BooleanT and boolean functions #17
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "booleans"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR adds a boolean section, as well as an isNaN predicate on numbers. In a TypeDispatcher, when BooleanT is present, isNaN returns a BooleanT. However, in a numbers-only TypeDispatcher, it returns 1 or 0 instead. Moreover, when booleans are subsequently added to a numbers-only instance, isNaN properly reconfigures itself to return BooleanT.
No predicates that depend on approximate equality testing or a configuration object are implemented in this PR.
This PR also implements type matching and dispatching with implicit conversions, and adds an implicit conversion from BooleanT to NumberT.
* Defines a BooleanT type * adds options to the Type constructor, so far just to allow conversions from other types * renames Number type to NumberT * records the name of types, and puts the name in the string representation * defines a conversion fron BooleanT to NumberT, specified to be automatic * stub code for automatic conversions, not yet complete * BooleanT not yet added to nanomath Checked that the new facilities do not disrupt the prior behavior on numbers.WIP: Introduce BooleanT and boolean functionsto Introduce BooleanT and boolean functions