Floating_Point_Type¶
- class Floating_Point_Type (abstract, logical)¶
This is the superclass for all C floating point types.
- Direct parents:
inherits Basic_Type
- Ancestor classes and implemented interfaces:
Basic_Type, Declarative_Node, Logical_IR_Root, Member, Named_Entity, Named_Type, Symbol, Type
- Direct child classes:
subclass C_Long_Double_Type
subclass C_Double_Type
subclass C_Float_Type
subclass C_Float_Fp16_Type
subclass C_Float_Bf16_Type
subclass Interchange_Float16_Type
subclass Interchange_Float32_Type
subclass Interchange_Float64_Type
subclass Interchange_Float128_Type
subclass Extended_Float32_Type
subclass Extended_Float64_Type
subclass C_Float80_Type
subclass C_Float128_Type
Field
Kind
Type
Description
Mantissa_Digits
attribute
builtin Integer
Precision of the mantissa, in bits. Includes the implicit mantissa bit which is not actually stored. In the range 0.5 to 1.0, the step size between neighboring floats is 2**(-Mantissa_Digits). Corresponds to
std::numeric_limits<T>::digits.Min_Exponent
attribute
builtin Integer
One more than the smallest negative power of 2 that is a valid normalized floating-point value. Corresponds to
std::numeric_limits<T>::min_exponent.Max_Exponent
attribute
builtin Integer
One more than the largest integer power of 2 that is a valid finite floating-point value. Corresponds to
std::numeric_limits<T>::max_exponent.Size (from Type)
attribute
builtin Natural
Alignment_Log (from Type)
attribute
builtin Byte
log2 of the type’s alignment
Alignment (from Type)
attribute
builtin Natural
Alignment of the type (must be a power of 2)
Size_In_Bits (from Type)
attribute
builtin UInt64
Size of the type, in bits.
Parent (from Logical_IR_Root)
semantic
class Logical_IR_Root
Physical (from Logical_IR_Root)
semantic to physical
class Physical_IR_Root
Visibility (from Member)
attribute
enum Visibility_Type
Name (from Named_Entity)
attribute
builtin String