You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description of the feature, modification, idea, or suggestion.
It is a common pattern to want to fail cleanly if some numeric boundary condition is met. As an example, Microsoft provides intsafe.h and ntintsafe.h functions. In a similar vein, Radiant should provide objects that aid in this and lean toward encouraging/providing safe constructs.
Proposed implementation details (optional)
Rust has a good story and semantics around their numeric handling (e.g. u8, u32, etc.). The Rust APIs here give checked, unchecked, and saturating APIs that seem reasonable. We should consider borrowing from their semantics.
The text was updated successfully, but these errors were encountered:
This was partially implemented for up to 32 bit wide integers. More compiler-specific support is necessary to support optimizing 64 bit integers. The initial work provides a limited set of operations against the integers - such as saturating and checked addition, subtraction, and multiplication.
Description of the feature, modification, idea, or suggestion.
It is a common pattern to want to fail cleanly if some numeric boundary condition is met. As an example, Microsoft provides intsafe.h and ntintsafe.h functions. In a similar vein, Radiant should provide objects that aid in this and lean toward encouraging/providing safe constructs.
Proposed implementation details (optional)
Rust has a good story and semantics around their numeric handling (e.g.
u8
,u32
, etc.). The Rust APIs here give checked, unchecked, and saturating APIs that seem reasonable. We should consider borrowing from their semantics.The text was updated successfully, but these errors were encountered: