I found a strange compiler error.
I was writing some floating point conversion program and I get a really strange error
First I''l post the code
Code: Select all
function Decode_DEC_spfp(W1,W2:word):real;
var tmpreal: real;
Expo: dword;
begin
// Mantissa
tmpreal := ((((W1 and $007F) shl 16) + W2) / 8388608)+1;
// Exp
Expo := (Hi(W1) shl 1)-129;
//tmpreal := ldexp(tmpreal,(Expo - 129));
tmpreal := tmpreal * pow (2,Expo);
// Sign
if (W1 and $8000) = $8000 then tmpreal := tmpreal * -1;
result := tmpreal;
end;
Code: Select all
//tmpreal := ldexp(tmpreal,(Expo - 129));
tmpreal := tmpreal * pow (2,Expo);
When I use the pow line I get an error:
0:0 E-0 Linker error: ?9999: label not found
Is this a known problem?
Thanks in advance