I see the implment of shift_right_correctly_by. Is it because:
For negative a, the value of a >> b is implementation-defined (until C++20)
But in multiply<1>, why you don't care to use fpValue1>>P?
And in the implment of operator /=. Why you use left shift directly? Because:
For negative a, the behavior of a << b is undefined.
Looks like it is worse than implementation-defined
I see the implment of
shift_right_correctly_by. Is it because:But in
multiply<1>, why you don't care to usefpValue1>>P?And in the implment of
operator /=. Why you use left shift directly? Because:Looks like it is worse than implementation-defined