|
@@ -262,11 +262,20 @@ begin
|
|
|
((TSplitExtended(d).cards[1] and $7fffffff) = 0);
|
|
|
{$else SUPPORT_EXTENDED}
|
|
|
{$ifdef SUPPORT_DOUBLE}
|
|
|
+{$ifdef CPUARM}
|
|
|
+ { double, format (MSB): 1 Sign bit, 11 bit exponent, 52 bit mantissa }
|
|
|
+ { high and low dword are swapped when using the arm fpa }
|
|
|
+ sign := ((TSplitDouble(d).cards[0] shr 20) and $800) <> 0;
|
|
|
+ expMaximal := ((TSplitDouble(d).cards[0] shr 20) and $7ff) = 2047;
|
|
|
+ fraczero:= (TSplitDouble(d).cards[0] and $fffff = 0) and
|
|
|
+ (TSplitDouble(d).cards[1] = 0);
|
|
|
+{$else CPUARM}
|
|
|
{ double, format (MSB): 1 Sign bit, 11 bit exponent, 52 bit mantissa }
|
|
|
sign := ((TSplitDouble(d).cards[1] shr 20) and $800) <> 0;
|
|
|
expMaximal := ((TSplitDouble(d).cards[1] shr 20) and $7ff) = 2047;
|
|
|
fraczero := (TSplitDouble(d).cards[1] and $fffff = 0) and
|
|
|
(TSplitDouble(d).cards[0] = 0);
|
|
|
+{$endif CPUARM}
|
|
|
{$else SUPPORT_DOUBLE}
|
|
|
{$ifdef SUPPORT_SINGLE}
|
|
|
{ single, format (MSB): 1 Sign bit, 8 bit exponent, 23 bit mantissa }
|
|
@@ -283,19 +292,11 @@ begin
|
|
|
{$error sign/NaN/Inf not yet supported for big endian CPU's in str_real}
|
|
|
{$else SUPPORT_EXTENDED}
|
|
|
{$ifdef SUPPORT_DOUBLE}
|
|
|
-{$ifdef CPUARM}
|
|
|
- { double, format (MSB): 1 Sign bit, 11 bit exponent, 52 bit mantissa }
|
|
|
- sign := ((TSplitDouble(d).cards[1] shr 20) and $800) <> 0;
|
|
|
- expMaximal := ((TSplitDouble(d).cards[1] shr 20) and $7ff) = 2047;
|
|
|
- fraczero := (TSplitDouble(d).cards[1] and $fffff = 0) and
|
|
|
- (TSplitDouble(d).cards[0] = 0);
|
|
|
-{$else CPUARM}
|
|
|
{ double, format (MSB): 1 Sign bit, 11 bit exponent, 52 bit mantissa }
|
|
|
sign := ((TSplitDouble(d).cards[0] shr 20) and $800) <> 0;
|
|
|
expMaximal := ((TSplitDouble(d).cards[0] shr 20) and $7ff) = 2047;
|
|
|
fraczero:= (TSplitDouble(d).cards[0] and $fffff = 0) and
|
|
|
(TSplitDouble(d).cards[1] = 0);
|
|
|
-{$endif CPUARM}
|
|
|
{$else SUPPORT_DOUBLE}
|
|
|
{$ifdef SUPPORT_SINGLE}
|
|
|
{ single, format (MSB): 1 Sign bit, 8 bit exponent, 23 bit mantissa }
|
|
@@ -460,7 +461,10 @@ end;
|
|
|
|
|
|
{
|
|
|
$Log$
|
|
|
- Revision 1.14 2004-03-13 18:33:52 florian
|
|
|
+ Revision 1.15 2004-03-13 18:47:57 florian
|
|
|
+ * "improved" behavior of real2str for arm, still needs fixing
|
|
|
+
|
|
|
+ Revision 1.14 2004/03/13 18:33:52 florian
|
|
|
* fixed some arm related real stuff
|
|
|
|
|
|
Revision 1.13 2003/12/29 19:19:21 jonas
|