System.TDoubleRec

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

 TDoubleRec = packed record
 private
 aDouble: Double;
 function InternalGetBytes(Index: Cardinal): UInt8; inline;
 function InternalGetWords(Index: Cardinal): UInt16; inline;
 procedure InternalSetBytes(Index: Cardinal; const Value: UInt8); inline;
 procedure InternalSetWords(Index: Cardinal; const Value: UInt16); inline;
 function GetBytes(Index: Cardinal): UInt8; inline;
 function GetWords(Index: Cardinal): UInt16; inline;
 procedure SetBytes(Index: Cardinal; const Value: UInt8); inline;
 procedure SetWords(Index: Cardinal; const Value: UInt16); inline;
 function GetExp: UInt64; inline;
 function GetFrac: UInt64; inline;
 function GetSign: Boolean; inline;
 procedure SetExp(NewExp: UInt64);
 procedure SetFrac(NewFrac: UInt64);
 procedure SetSign(NewSign: Boolean);
 public
 function Exponent: Integer;
 function Fraction: Extended;
 function Mantissa: UInt64;
 property Sign: Boolean read GetSign write SetSign;
 property Exp: UInt64 read GetExp write SetExp;
 property Frac: UInt64 read GetFrac write SetFrac;
 function SpecialType: TFloatSpecial;
 procedure BuildUp(const SignFlag: Boolean; const Mantissa: UInt64; const Exponent: Integer);
 class operator Explicit(a: Extended): TDoubleRec; inline;
 class operator Explicit(a: TDoubleRec): Extended; inline;
 property Bytes[Index: Cardinal]: UInt8 read GetBytes write SetBytes; // 0..7
 property Words[Index: Cardinal]: UInt16 read GetWords write SetWords; // 0..3
 end deprecated 'Use TDoubleHelper';

C++

struct DECLSPEC_DRECORD TDoubleRec
{
private:
 double aDouble;
 Byte __fastcall InternalGetBytes(unsigned Index);
 Word __fastcall InternalGetWords(unsigned Index);
 void __fastcall InternalSetBytes(unsigned Index, const Byte Value);
 void __fastcall InternalSetWords(unsigned Index, const Word Value);
 Byte __fastcall GetBytes(unsigned Index);
 Word __fastcall GetWords(unsigned Index);
 void __fastcall SetBytes(unsigned Index, const Byte Value);
 void __fastcall SetWords(unsigned Index, const Word Value);
 unsigned __int64 __fastcall GetExp(void);
 unsigned __int64 __fastcall GetFrac(void);
 bool __fastcall GetSign(void);
 void __fastcall SetExp(unsigned __int64 NewExp);
 void __fastcall SetFrac(unsigned __int64 NewFrac);
 void __fastcall SetSign(bool NewSign);
public:
 int __fastcall Exponent(void);
 Extended __fastcall Fraction(void);
 unsigned __int64 __fastcall Mantissa(void);
 __property bool Sign = {read=GetSign, write=SetSign};
 __property unsigned __int64 Exp = {read=GetExp, write=SetExp};
 __property unsigned __int64 Frac = {read=GetFrac, write=SetFrac};
 TFloatSpecial __fastcall SpecialType(void);
 void __fastcall BuildUp(const bool SignFlag, const unsigned __int64 Mantissa, const int Exponent);
 static TDoubleRec __fastcall _op_Explicit(Extended a);
 __property Byte Bytes[unsigned Index] = {read=GetBytes, write=SetBytes};
 __property Word Words[unsigned Index] = {read=GetWords, write=SetWords};
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.pas
System.hpp
System System

Description

Warning: TDoubleRec is deprecated. Please use SysUtils.TDoubleHelper.

Provides support for manipulating double precision floating-point values.

A TDoubleRec can be used to perform low-level operations on a double precision floating-point value. For example, the sign, the exponent, and the mantissa can be changed separately.

Note:

  • To manipulate a double-precision floating-point data type, it is recommended that you use TDoubleHelper . However, TDoubleRec is not obsolete, and you can use TDoubleRec to allocate double-precision floating-point data.

See Also

Retrieved from "https://docwiki.embarcadero.com/Libraries/Tokyo/e/index.php?title=System.TDoubleRec&oldid=752206"