@@ -6,7 +6,9 @@ export Float128, ComplexF128, Inf128
66
77import Base: (* ), + , - , / , < , <= , == , ^ , convert,
88 reinterpret, sign_mask, exponent_mask, exponent_one, exponent_half,
9- significand_mask, exponent, significand,
9+ significand_mask, significand_bits, exponent_bits, exponent_bias,
10+ exponent_max, exponent_raw_max, uinttype, inttype, floattype,
11+ exponent, significand,
1012 promote_rule, widen,
1113 string, print, show, parse,
1214 acos, acosh, asin, asinh, atan, atanh, cosh, cos, sincos,
@@ -127,7 +129,18 @@ exponent_one(::Type{Float128}) = 0x3fff_0000_0000_0000_0000_0000_0000_0000
127129exponent_half (:: Type{Float128} ) = 0x3ffe_0000_0000_0000_0000_0000_0000_0000
128130significand_mask (:: Type{Float128} ) = 0x0000_ffff_ffff_ffff_ffff_ffff_ffff_ffff
129131
130- fpinttype (:: Type{Float128} ) = UInt128
132+ significand_bits (:: Type{Float128} ) = 112
133+ exponent_bits (:: Type{Float128} ) = 15
134+ exponent_bias (:: Type{Float128} ) = 16383
135+ exponent_max (:: Type{Float128} ) = 16383
136+ exponent_raw_max (:: Type{Float128} ) = 32767
137+
138+ uinttype (:: Type{Float128} ) = UInt128
139+ inttype (:: Type{Float128} ) = Int128
140+ # TODO : Logically speaking, we should also make the following definitions,
141+ # but this would constitute type piracy under Aqua.jl rules.
142+ # floattype(::Type{UInt128}) = Float128
143+ # floattype(::Type{Int128}) = Float128
131144
132145# conversion
133146Float128 (x:: Float128 ) = x
0 commit comments