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
floating_bar should decide on a default way to handle overflow for ops::Add and ops::Mul, and also include methods for different overflow-handling strategies so the user can decide which one is best for their use-case.
Strategies, in increasing order of complexity:
Lossless shift: shift out common powers of 2. Panic if not enough.
Lossy shift: shift out lowest bits until result fits in fraction field.
GCD reduce: divide by GCD. Panic if not enough.
The current plan is to use lossless shift as the default strategy since it is relatively quick and accurate, and floating_bar presents itself as a library focused on accuracy. The other behaviors will be available through a set of lossy_{add,mul}() and checked_{add,mul}() methods.
The text was updated successfully, but these errors were encountered:
floating_bar
should decide on a default way to handle overflow forops::Add
andops::Mul
, and also include methods for different overflow-handling strategies so the user can decide which one is best for their use-case.Strategies, in increasing order of complexity:
The current plan is to use lossless shift as the default strategy since it is relatively quick and accurate, and
floating_bar
presents itself as a library focused on accuracy. The other behaviors will be available through a set oflossy_{add,mul}()
andchecked_{add,mul}()
methods.The text was updated successfully, but these errors were encountered: