shift by negative bits
in unix/fpu087.c, RegSftFloat: long RegSftFloat(x, Shift) long x; int Shift; { float f; f = em2float(x); if (Shift>0) { f *= (1<<Shift); } else { f /= (1<<Shift); } return float2em(f); } When Shift is negative, it divides by 1 left-shifted by a negative number of bits. Shouldn't this be 1 << -Shift instead? -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>
Rich,
in unix/fpu087.c, RegSftFloat:
long RegSftFloat(x, Shift) long x; int Shift; { float f; f = em2float(x); if (Shift>0) { f *= (1<<Shift); } else { f /= (1<<Shift); } return float2em(f); }
When Shift is negative, it divides by 1 left-shifted by a negative number of bits. Shouldn't this be 1 << -Shift instead?
You are correct. I didn't find any place where this routine is called. Jonathan
In article <1208053228.6210.16.camel@jonathan-desktop>, Jonathan Osuch <osuchj@avalon.net> writes:
When Shift is negative, it divides by 1 left-shifted by a negative number of bits. Shouldn't this be 1 << -Shift instead?
You are correct. I didn't find any place where this routine is called.
Its invoked by the macro fShift, which is in turn used in macro fSqrt14, both defined in fmath.h. fSqrt14 is used in common\calcfrac.c and common\mpmath_c.c. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>
participants (2)
-
Jonathan Osuch -
Richard