Universal number system Command Line Tools
The universal library contains a collection of command line tools that help investigate
bit-level attributes of the number systems and the values they encode. These command line
tools get installed with the make install build target.
The following segments presents short description of their use.
Compare the three IEEE formats on a given real number value:
$ ieeeShow the truncated value and (sign/scale/fraction) components of different floating point types.Usage: ieee floating_point_valueExample: ieee 0.03124999input value: 0.03124999 float: 0.0312499907 (+,-6,11111111111111111111011) double: 0.031249989999999998 (+,-6,1111111111111111111101010100001100111000100011101110)long double: 0.0312499899999999983247 (+,-6,111111111111111111101001011110100011111111111110001111111001111)quarter
Section titled “quarter”Show the sign/scale/fraction components of an IEEE-754 quarter-precision floating-point.
$ quarterquarter : components of an IEEE-754 quarter-precision float : 8 bits with 2 exponent bitsShow the sign/scale/fraction components of a quarter-precision IEEE-754 floating-point.Usage: quarter valueExample: quarter 0.03124999scientific : 0.031triple form : (+, -5, 0b01.0'0000)binary form : 0b0.00.0'0001color coded : 00000001
Number Traits of quarter-precision IEEE-754 floating-pointstd::numeric_limits< N2sw9universal6cfloatILj8ELj2EhLb1ELb0ELb0EEE >min exponent -2max exponent 2radix 2radix digits 6min 1max 3.9375lowest -3.9375epsilon (1+1ULP-1) 0.03125round_error 0.5smallest value 0.03125infinity infquiet_NAN nansignaling_NAN nan
smallest normal number0b0.01.00000 : 1smallest denormalized number0b0.00.00001 : 0.03125Show the sign/scale/fraction components of an IEEE-754 half-precision floating-point.
$ halfhalf : components of an IEEE-754 half-precision floating-point: 16 bits with 5 exponent bitsShow the sign/scale/fraction components of a half-precision IEEE-754 floating-point.Usage: half valueExample: half 0.03124999scientific : 0.03125triple form : (+, -5, 0b01.00'0000'0000)binary form : 0b0.0'1010.00'0000'0000color coded : 0010100000000000
Number Traits of half-precision IEEE-754 floating-pointstd::numeric_limits< N2sw9universal6cfloatILj16ELj5EtLb1ELb0ELb0EEE >min exponent -16max exponent 16radix 2radix digits 11min 6.10352e-05max 65504lowest -65504epsilon (1+1ULP-1) 0.000976562round_error 0.5smallest value 5.96046e-08infinity infquiet_NAN nansignaling_NAN nan
smallest normal number0b0.00001.0000000000 : 6.10352e-05smallest denormalized number0b0.00000.0000000001 : 5.96046e-08single
Section titled “single”Show the sign/scale/fraction components of an IEEE-754 single-precision floating-point.
$ singlesingle : components of an IEEE-754 single-precision floating_point: 32 bits with 8 exponent bitsShow the sign/scale/fraction components of a single-precision IEEE-754 floating-point.Usage: single valueExample: single 0.03124999scientific : 0.0312499907triple form : (+,-6,0b11111111111111111111011)binary form : 0b0.0111'1001.111'1111'1111'1111'1111'1011color coded : 0b0.0111'1001.111'1111'1111'1111'1111'1011
Number Traits of IEEE-754 floatstd::numeric_limits< f >min exponent -125max exponent 128radix 2radix digits 24min 1.17549e-38max 3.40282e+38lowest -3.40282e+38epsilon (1+1ULP-1) 1.19209e-07round_error 0.5smallest value 1.4013e-45infinity infquiet_NAN nansignaling_NAN nan
smallest normal number0b0.00000001.00000000000000000000000 : 1.17549e-38smallest denormalized number0b0.00000000.00000000000000000000001 : 1.4013e-45
Universal parameterization of IEEE-754 fieldsTotal number of bits : 32number of exponent bits : 8number of fraction bits : 23exponent bias : 127sign field mask : 0b1000'0000'0000'0000'0000'0000'0000'0000exponent field mask : 0b0111'1111'1000'0000'0000'0000'0000'0000mask of exponent value : 0b1111'1111mask of hidden bit : 0b0000'0000'1000'0000'0000'0000'0000'0000fraction field mask : 0b0000'0000'0111'1111'1111'1111'1111'1111significant field mask : 0b0000'0000'1111'1111'1111'1111'1111'1111MSB fraction bit mask : 0b0000'0000'0100'0000'0000'0000'0000'0000qNaN pattern : 0b0111'1111'1100'0000'0000'0000'0000'0000sNaN pattern : 0b0111'1111'1010'0000'0000'0000'0000'0000smallest normal value : 1.17549e-38 : 0b0.00000001.00000000000000000000000smallest subnormal value : 1.4013e-45 : 0b0.00000000.00000000000000000000001exponent smallest normal : -126exponent smallest subnormal : -149double
Section titled “double”Show the sign/scale/fraction components of an IEEE-754 double-precision floating-point.
$ doubledouble : components of an IEEE double-precision floatShow the sign/scale/fraction components of an IEEE double.Usage: double double_valueExample: double 0.03124999scientific : 0.031249989999999998triple form : (+,-6,1111111111111111111101010100001100111000100011101110)binary form : 0b0.011'1111'1001.1111'1111'1111'1111'1111'0101'0100'0011'0011'1000'1000'1110'1110color coded : 0b0.011'1111'1001.1111'1111'1111'1111'1111'0101'0100'0011'0011'1000'1000'1110'1110Number Traits of IEEE-754 doublestd::numeric_limits< d >min exponent -1021max exponent 1024radix 2radix digits 53min 2.22507e-308max 1.79769e+308lowest -1.79769e+308epsilon (1+1ULP-1) 2.22045e-16round_error 0.5smallest value 4.94066e-324infinity infquiet_NAN nansignaling_NAN nan
smallest normal number0b0.00000000001.0000000000000000000000000000000000000000000000000000smallest denormalized number0b0.00000000000.0000000000000000000000000000000000000000000000000001
Universal parameterization of IEEE-754 fieldsTotal number of bits : 64number of exponent bits : 11number of fraction bits : 52exponent bias : 1023sign field mask : 0b1000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000exponent field mask : 0b0111'1111'1111'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000mask of exponent value : 0b111'1111'1111mask of hidden bit : 0b0000'0000'0001'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000fraction field mask : 0b0000'0000'0000'1111'1111'1111'1111'1111'1111'1111'1111'1111'1111'1111'1111'1111significant field mask : 0b0000'0000'0001'1111'1111'1111'1111'1111'1111'1111'1111'1111'1111'1111'1111'1111MSB fraction bit mask : 0b0000'0000'0000'1000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000qNaN pattern : 0b0111'1111'1111'1000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000sNaN pattern : 0b0111'1111'1111'0100'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000smallest normal value : 2.22507e-308 : 0b0.00000000001.0000000000000000000000000000000000000000000000000000smallest subnormal value : 4.94066e-324 : 0b0.00000000000.0000000000000000000000000000000000000000000000000001exponent smallest normal : -1022exponent smallest subnormal : -1074longdouble
Section titled “longdouble”Show the sign/scale/fraction components of an IEEE-754 long double.
On Windows using the Microsoft Visual Studio environment, the long double is aliased to double.
$ longdoublelongdouble: components of an IEEE long-double (compiler dependent, 80-bit extended precision on x86 and ARM, 128-bit on RISC-VShow the sign/scale/fraction components of an IEEE long double.Usage: longdouble long_double_valueExample: longdouble 0.03124999scientific : 0.0312499899999999983247triple form : (+,-6,111111111111111111110101010000110011100010001110111000000000000)binary form : 0b0.011'1111'1111'1001.1111'1111'1111'1111'1111'1010'1010'0001'1001'1100'0100'0111'0111'0000'0000'0000color coded : 0b0.0011'1111'1111'1001.111'1111'1111'1111'1111'1010'1010'0001'1001'1100'0100'0111'0111'0000'0000'0000Number Traits of IEEE-754 long doublestd::numeric_limits< e >min exponent -16381max exponent 16384radix 2radix digits 64min 3.3621e-4932max 1.18973e+4932lowest -1.18973e+4932epsilon (1+1ULP-1) 1.0842e-19round_error 0.5smallest value 3.6452e-4951infinity infquiet_NAN nansignaling_NAN nan
smallest normal number0b0.000000000000001.1000000000000000000000000000000000000000000000000000000000000000smallest denormalized number0b0.000000000000000.0000000000000000000000000000000000000000000000000000000000000001
Universal parameterization of IEEE-754 fieldsTotal number of bits : 80number of exponent bits : 15number of fraction bits : 63exponent bias : 16383sign field mask : 0b0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000exponent field mask : 0b0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000mask of exponent value : 0b111'1111'1111'1111mask of hidden bit : 0b0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000fraction field mask : 0b0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000significant field mask : 0b0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000MSB fraction bit mask : 0b0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000qNaN pattern : 0b0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000sNaN pattern : 0b0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000smallest normal value : 3.3621e-4932 : 0b0.000000000000001.1000000000000000000000000000000000000000000000000000000000000000smallest subnormal value : 3.6452e-4951 : 0b0.000000000000000.0000000000000000000000000000000000000000000000000000000000000001exponent smallest normal : -16382exponent smallest subnormal : -16445Show the sign/scale/fraction components of an IEEE-754 quad-precision floating-point.
$ quadquad : components of an IEEE-754 quad-precision float : 128 bits total with 15 exponent bitsShow the sign/scale/fraction components of a quad-precision IEEE-754 floating-point.Usage: quad valueExample: quad 0.03124999scientific : 0.03124999068677425384521484375triple form : (+, -6, 0b01'1111'1111'1111'1111'1111'0110'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000)binary form : 0b0.011'1111'1111'1001.1111'1111'1111'1111'1111'0110'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000'0000color coded : 00111111111110011111111111111111111101100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Number Traits of quad-precision IEEE-754 floating-pointstd::numeric_limits< N2sw9universal6cfloatILj128ELj15EjLb1ELb0ELb0EEE >min exponent -16384max exponent 16384radix 2radix digits 113min 0max inflowest -infepsilon (1+1ULP-1) 1.92593e-34round_error 0.5smallest value 0infinity infquiet_NAN nansignaling_NAN nan
smallest normal number0b0.000000000000001.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 : 0smallest denormalized number0b0.000000000000000.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 : 0fixpnt
Section titled “fixpnt”Show the sign/scale/fraction components of a fixed-point value.
$ fixpntfixpnt : components of a fixed-point valueShow the sign/scale/fraction components of a fixed-point value.Usage: fixpnt float_valueExample: fixpnt 1.0625
class sw::universal::fixpnt < 8, 4, 1, unsigned char>1.0625b0001.0001 class sw::universal::fixpnt < 12, 4, 1, unsigned char>1.0625b0000'0001.0001 class sw::universal::fixpnt < 16, 8, 1, unsigned char>1.06250000b0000'0001.0001'0000 class sw::universal::fixpnt < 32, 16, 1, unsigned char>1.0625000000000000b0000'0000'0000'0001.0001'0000'0000'0000 class sw::universal::fixpnt < 64, 32, 1, unsigned char>1.06250000000000000000000000000000b0000'0000'0000'0000'0000'0000'0000'0001.0001'0000'0000'0000'0000'0000'0000'0000signedint
Section titled “signedint”Show the sign/scale/fraction components of a signed integer.
$ signedintsignedint : components of a signed integerShow the sign/scale/fraction components of a signed integer.Usage: signedint valueExample: signedint 1234567890123456789012345class sw::universal::integer<128,unsigned int> : 1234567890123456789012345 (+,80,00000101011011100000111100110110101001100100010000111101111000101101111101111001)unsignedint
Section titled “unsignedint”Show the sign/scale/fraction components of an unsigned integer.
$ unsignedintShow the sign/scale/regime/exponent/fraction components of a posit.
$ positposit : posit componentsShow the sign/scale/regime/exponent/fraction components of a posit.Usage: posit value
Example: posit 3.1415926535897932384626433832795028841971posit< 8,0> = 01101001 : 3.125posit< 8, 1> = 01011001 : 3.125posit< 8, 2> = 01001101 : 3.25posit< 8, 3> = 01000110 : 3posit<16, 1> = 0101100100100010 : 3.1416posit<16, 2> = 0100110010010001 : 3.1416posit<16, 3> = 0100011001001000 : 3.1406posit<24, 1> = 010110010010000111111011 : 3.141592posit<24, 2> = 010011001001000011111110 : 3.141594posit<24, 3> = 010001100100100001111111 : 3.141594posit<32, 1> = 01011001001000011111101101010100 : 3.14159265posit<32, 2> = 01001100100100001111110110101010 : 3.14159265posit<32, 3> = 01000110010010000111111011010101 : 3.14159265posit<48, 1> = 010110010010000111111011010101000100010000101101 : 3.1415926535898posit<48, 2> = 010011001001000011111101101010100010001000010111 : 3.1415926535899posit<48, 3> = 010001100100100001111110110101010001000100001011 : 3.1415926535897posit<64, 1> = 0101100100100001111110110101010001000100001011010001100000000000 : 3.14159265358979312posit<64, 2> = 0100110010010000111111011010101000100010000101101000110000000000 : 3.14159265358979312posit<64, 3> = 0100011001001000011111101101010100010001000010110100011000000000 : 3.14159265358979312posit<64, 4> = 0100001100100100001111110110101010001000100001011010001100000000 : 3.14159265358979312float2posit
Section titled “float2posit”Show the conversion of a float to a posit step-by-step.
$ float2positShow the conversion of a float to a posit step-by-step.Usage: float2posit floating_point_value posit_size_in_bits[one of 8|16|32|48|64|80|96|128|256]Example: convert -1.123456789e17 32
$ float2posit 1.234567890 321.23456789 input valueTest for ZERO(+, 0, 0011110000001100101001000010100000111101111000011011) input value is NOT zeroTest for NaR(+, 0, 0011110000001100101001000010100000111101111000011011) input value is NOT NaRconstruct the posit0011'1100'0000'1100'1010'0100'0010'1000'0011'1101'1110'0001'1011 full fraction bits0000'0000'0000'0000'0000'0000'0000'0111'1111'1111'1111'1111'1111 mask of remainder bits0'0000'0000'0000'0000'0000'0000'0000'0000'0000 unconstrained posit : length = nbits(32) + es(2) + 3 guard bits : 370'0001'0000'0000'0000'0000'0000'0000'0000'0000 runlength = 10'0000'0000'0000'0000'0000'0000'0000'0000'0000 exponent value = 00'0000'0000'0111'1000'0001'1001'0100'1000'0100 most significant 28 fraction bits(nbits - 1 - run - es)0'0000'0000'0000'0000'0000'0000'0000'0000'0001 sticky bit representing the truncated fraction bits0'0001'0000'0111'1000'0001'1001'0100'1000'0101 unconstrained posit bits length = 340'0000'0000'0000'0000'0000'0000'0000'0000'0100 last bit mask0'0000'0000'0000'0000'0000'0000'0000'0000'0010 bit after last bit mask0'0000'0000'0000'0000'0000'0000'0000'0000'0001 sticky bit maskrounding decision(blast & bafter) | (bafter & bsticky) : round down0'1000'0011'1100'0000'1100'1010'0100'0010'1000 shifted posit0100'0001'1110'0000'0110'0101'0010'0001 truncated posit0100'0001'1110'0000'0110'0101'0010'0001 rounded posit0100'0001'1110'0000'0110'0101'0010'0001 final positpropenv
Section titled “propenv”Show the storage properties of the native, standard, and extended posits.
$ propenvBit sizes for native typesunsigned char 8 bitsunsigned short 16 bitsunsigned int 32 bitsunsigned long long 64 bits signed char 7 bits signed short 15 bits signed int 31 bits signed long long 63 bits float 24 bits double 53 bits long double 53 bits
Min-Max range for floats and posit<32,2> comparison float min 1.17549e-38 max 3.40282e+38 class sw::unum::posit<32,2> min 7.52316e-37 max 1.32923e+36
Bit sizes for standard posit configurationsposit<8,0> 8 bitsposit<16,1> 16 bitsposit<32,2> 32 bitsposit<64,3> 64 bitsposit<128,4> 128 bitsposit<256,5> 256 bits
Bit sizes for extended posit configurationsposit<4,0> 8 bitsposit<8,0> 8 bitsposit<16,1> 16 bitsposit<20,1> 32 bitsposit<24,1> 32 bitsposit<28,1> 32 bitsposit<32,2> 32 bitsposit<40,2> 64 bitsposit<48,2> 64 bitsposit<56,2> 64 bitsposit<64,3> 64 bitsposit<80,3> 128 bitsposit<96,3> 128 bitsposit<112,3> 128 bitsposit<128,4> 128 bitsposit<256,5> 256 bits
Long double propertiesvalue 1.2345678901234567hex 00 00 00 00 00 00 00 04 3f f3 c0 ca 42 8c 59 fbsign +scale 1fraction 1056399862553083Show the arithmetic properties of a posit environment, including its quire.
$ proppShow the arithmetic properties of a posit.Usage: propp [nbits es capacity]Example: propp 16 1 8arithmetic properties of a posit<16, 1> environment posit< 16, 1> useed scale 2 minpos scale - 28 maxpos scale 28 minpos : 16.1x0001p + 3.72529e-09 maxpos : 16.1x7fffp + 2.68435e+08Properties of a quire<16, 1, 8> dynamic range of product : 112 radix point of accumulator : 56 full quire size in bits : 120 lower quire size in bits : 56 upper quire size in bits : 57 capacity bits : 8Quire segments+ : 00000000_000000000000000000000000000000000000000000000000000000000.00000000000000000000000000000000000000000000000000000000plimits
Section titled “plimits”Show the numeric_limits<> of the standard posits.
$ plimitsplimits: numeric_limits<> of standard positsNumeric limits for posit< 8, 0>numeric_limits< sw::universal::posit<8, 0> >::min() : 0.015625numeric_limits< sw::universal::posit<8, 0> >::max() : 64numeric_limits< sw::universal::posit<8, 0> >::lowest() : -64numeric_limits< sw::universal::posit<8, 0> >::epsilon() : 0.03125numeric_limits< sw::universal::posit<8, 0> >::digits : 6numeric_limits< sw::universal::posit<8, 0> >::digits10 : 1numeric_limits< sw::universal::posit<8, 0> >::max_digits10 : 2numeric_limits< sw::universal::posit<8, 0> >::is_signed : 1numeric_limits< sw::universal::posit<8, 0> >::is_integer : 0numeric_limits< sw::universal::posit<8, 0> >::is_exact : 0numeric_limits< sw::universal::posit<8, 0> >::min_exponent : -6numeric_limits< sw::universal::posit<8, 0> >::min_exponent10 : -1numeric_limits< sw::universal::posit<8, 0> >::max_exponent : 6numeric_limits< sw::universal::posit<8, 0> >::max_exponent10 : 1numeric_limits< sw::universal::posit<8, 0> >::has_infinity : 1numeric_limits< sw::universal::posit<8, 0> >::has_quiet_NaN : 1numeric_limits< sw::universal::posit<8, 0> >::has_signaling_NaN : 1numeric_limits< sw::universal::posit<8, 0> >::has_denorm : 0numeric_limits< sw::universal::posit<8, 0> >::has_denorm_loss : 0numeric_limits< sw::universal::posit<8, 0> >::is_iec559 : 0numeric_limits< sw::universal::posit<8, 0> >::is_bounded : 0numeric_limits< sw::universal::posit<8, 0> >::is_modulo : 0numeric_limits< sw::universal::posit<8, 0> >::traps : 0numeric_limits< sw::universal::posit<8, 0> >::tinyness_before : 0numeric_limits< sw::universal::posit<8, 0> >::round_style : 1Numeric limits for posit< 16, 1>numeric_limits< sw::universal::posit<16, 1> >::min() : 3.72529e-09numeric_limits< sw::universal::posit<16, 1> >::max() : 2.68435e+08numeric_limits< sw::universal::posit<16, 1> >::lowest() : -2.68435e+08numeric_limits< sw::universal::posit<16, 1> >::epsilon() : 0.000244141numeric_limits< sw::universal::posit<16, 1> >::digits : 13numeric_limits< sw::universal::posit<16, 1> >::digits10 : 3numeric_limits< sw::universal::posit<16, 1> >::max_digits10 : 4numeric_limits< sw::universal::posit<16, 1> >::is_signed : 1numeric_limits< sw::universal::posit<16, 1> >::is_integer : 0numeric_limits< sw::universal::posit<16, 1> >::is_exact : 0numeric_limits< sw::universal::posit<16, 1> >::min_exponent : -28numeric_limits< sw::universal::posit<16, 1> >::min_exponent10 : -8numeric_limits< sw::universal::posit<16, 1> >::max_exponent : 28numeric_limits< sw::universal::posit<16, 1> >::max_exponent10 : 8numeric_limits< sw::universal::posit<16, 1> >::has_infinity : 1numeric_limits< sw::universal::posit<16, 1> >::has_quiet_NaN : 1numeric_limits< sw::universal::posit<16, 1> >::has_signaling_NaN : 1numeric_limits< sw::universal::posit<16, 1> >::has_denorm : 0numeric_limits< sw::universal::posit<16, 1> >::has_denorm_loss : 0numeric_limits< sw::universal::posit<16, 1> >::is_iec559 : 0numeric_limits< sw::universal::posit<16, 1> >::is_bounded : 0numeric_limits< sw::universal::posit<16, 1> >::is_modulo : 0numeric_limits< sw::universal::posit<16, 1> >::traps : 0numeric_limits< sw::universal::posit<16, 1> >::tinyness_before : 0numeric_limits< sw::universal::posit<16, 1> >::round_style : 1Numeric limits for posit< 32, 2>numeric_limits< sw::universal::posit<32, 2> >::min() : 7.52316e-37numeric_limits< sw::universal::posit<32, 2> >::max() : 1.32923e+36numeric_limits< sw::universal::posit<32, 2> >::lowest() : -1.32923e+36numeric_limits< sw::universal::posit<32, 2> >::epsilon() : 7.45058e-09numeric_limits< sw::universal::posit<32, 2> >::digits : 28numeric_limits< sw::universal::posit<32, 2> >::digits10 : 8numeric_limits< sw::universal::posit<32, 2> >::max_digits10 : 9numeric_limits< sw::universal::posit<32, 2> >::is_signed : 1numeric_limits< sw::universal::posit<32, 2> >::is_integer : 0numeric_limits< sw::universal::posit<32, 2> >::is_exact : 0numeric_limits< sw::universal::posit<32, 2> >::min_exponent : -120numeric_limits< sw::universal::posit<32, 2> >::min_exponent10 : -36numeric_limits< sw::universal::posit<32, 2> >::max_exponent : 120numeric_limits< sw::universal::posit<32, 2> >::max_exponent10 : 36numeric_limits< sw::universal::posit<32, 2> >::has_infinity : 1numeric_limits< sw::universal::posit<32, 2> >::has_quiet_NaN : 1numeric_limits< sw::universal::posit<32, 2> >::has_signaling_NaN : 1numeric_limits< sw::universal::posit<32, 2> >::has_denorm : 0numeric_limits< sw::universal::posit<32, 2> >::has_denorm_loss : 0numeric_limits< sw::universal::posit<32, 2> >::is_iec559 : 0numeric_limits< sw::universal::posit<32, 2> >::is_bounded : 0numeric_limits< sw::universal::posit<32, 2> >::is_modulo : 0numeric_limits< sw::universal::posit<32, 2> >::traps : 0numeric_limits< sw::universal::posit<32, 2> >::tinyness_before : 0numeric_limits< sw::universal::posit<32, 2> >::round_style : 1Numeric limits for posit< 64, 3>numeric_limits< sw::universal::posit<64, 3> >::min() : 4.8879e-150numeric_limits< sw::universal::posit<64, 3> >::max() : 2.04587e+149numeric_limits< sw::universal::posit<64, 3> >::lowest() : -2.04587e+149numeric_limits< sw::universal::posit<64, 3> >::epsilon() : 3.46945e-18numeric_limits< sw::universal::posit<64, 3> >::digits : 59numeric_limits< sw::universal::posit<64, 3> >::digits10 : 17numeric_limits< sw::universal::posit<64, 3> >::max_digits10 : 18numeric_limits< sw::universal::posit<64, 3> >::is_signed : 1numeric_limits< sw::universal::posit<64, 3> >::is_integer : 0numeric_limits< sw::universal::posit<64, 3> >::is_exact : 0numeric_limits< sw::universal::posit<64, 3> >::min_exponent : -496numeric_limits< sw::universal::posit<64, 3> >::min_exponent10 : -150numeric_limits< sw::universal::posit<64, 3> >::max_exponent : 496numeric_limits< sw::universal::posit<64, 3> >::max_exponent10 : 150numeric_limits< sw::universal::posit<64, 3> >::has_infinity : 1numeric_limits< sw::universal::posit<64, 3> >::has_quiet_NaN : 1numeric_limits< sw::universal::posit<64, 3> >::has_signaling_NaN : 1numeric_limits< sw::universal::posit<64, 3> >::has_denorm : 0numeric_limits< sw::universal::posit<64, 3> >::has_denorm_loss : 0numeric_limits< sw::universal::posit<64, 3> >::is_iec559 : 0numeric_limits< sw::universal::posit<64, 3> >::is_bounded : 0numeric_limits< sw::universal::posit<64, 3> >::is_modulo : 0numeric_limits< sw::universal::posit<64, 3> >::traps : 0numeric_limits< sw::universal::posit<64, 3> >::tinyness_before : 0numeric_limits< sw::universal::posit<64, 3> >::round_style : 1>>>>>>>>>>>>>>>>>> posit<128,4> does not render correctly due to limits of native floating point typesNumeric limits for posit< 128, 4>numeric_limits< sw::universal::posit<128, 4> >::min() : 1.32901e-607numeric_limits< sw::universal::posit<128, 4> >::max() : 7.52439e+606numeric_limits< sw::universal::posit<128, 4> >::lowest() : -7.52439e+606numeric_limits< sw::universal::posit<128, 4> >::epsilon() : 3.76158e-37numeric_limits< sw::universal::posit<128, 4> >::digits : 122numeric_limits< sw::universal::posit<128, 4> >::digits10 : 36numeric_limits< sw::universal::posit<128, 4> >::max_digits10 : 37numeric_limits< sw::universal::posit<128, 4> >::is_signed : 1numeric_limits< sw::universal::posit<128, 4> >::is_integer : 0numeric_limits< sw::universal::posit<128, 4> >::is_exact : 0numeric_limits< sw::universal::posit<128, 4> >::min_exponent : -2016numeric_limits< sw::universal::posit<128, 4> >::min_exponent10 : -610numeric_limits< sw::universal::posit<128, 4> >::max_exponent : 2016numeric_limits< sw::universal::posit<128, 4> >::max_exponent10 : 610numeric_limits< sw::universal::posit<128, 4> >::has_infinity : 1numeric_limits< sw::universal::posit<128, 4> >::has_quiet_NaN : 1numeric_limits< sw::universal::posit<128, 4> >::has_signaling_NaN : 1numeric_limits< sw::universal::posit<128, 4> >::has_denorm : 0numeric_limits< sw::universal::posit<128, 4> >::has_denorm_loss : 0numeric_limits< sw::universal::posit<128, 4> >::is_iec559 : 0numeric_limits< sw::universal::posit<128, 4> >::is_bounded : 0numeric_limits< sw::universal::posit<128, 4> >::is_modulo : 0numeric_limits< sw::universal::posit<128, 4> >::traps : 0numeric_limits< sw::universal::posit<128, 4> >::tinyness_before : 0numeric_limits< sw::universal::posit<128, 4> >::round_style : 1>>>>>>>>>>>>>>>>>> posit<256,5> does not render correctly due to limits of native floating point typesNumeric limits for posit< 256, 5>numeric_limits< sw::universal::posit<256, 5> >::min() : 1.6912e-2447numeric_limits< sw::universal::posit<256, 5> >::max() : 5.91296e+2446numeric_limits< sw::universal::posit<256, 5> >::lowest() : -5.91296e+2446numeric_limits< sw::universal::posit<256, 5> >::epsilon() : 2.21086e-75numeric_limits< sw::universal::posit<256, 5> >::digits : 249numeric_limits< sw::universal::posit<256, 5> >::digits10 : 75numeric_limits< sw::universal::posit<256, 5> >::max_digits10 : 76numeric_limits< sw::universal::posit<256, 5> >::is_signed : 1numeric_limits< sw::universal::posit<256, 5> >::is_integer : 0numeric_limits< sw::universal::posit<256, 5> >::is_exact : 0numeric_limits< sw::universal::posit<256, 5> >::min_exponent : -8128numeric_limits< sw::universal::posit<256, 5> >::min_exponent10 : -2463numeric_limits< sw::universal::posit<256, 5> >::max_exponent : 8128numeric_limits< sw::universal::posit<256, 5> >::max_exponent10 : 2463numeric_limits< sw::universal::posit<256, 5> >::has_infinity : 1numeric_limits< sw::universal::posit<256, 5> >::has_quiet_NaN : 1numeric_limits< sw::universal::posit<256, 5> >::has_signaling_NaN : 1numeric_limits< sw::universal::posit<256, 5> >::has_denorm : 0numeric_limits< sw::universal::posit<256, 5> >::has_denorm_loss : 0numeric_limits< sw::universal::posit<256, 5> >::is_iec559 : 0numeric_limits< sw::universal::posit<256, 5> >::is_bounded : 0numeric_limits< sw::universal::posit<256, 5> >::is_modulo : 0numeric_limits< sw::universal::posit<256, 5> >::traps : 0numeric_limits< sw::universal::posit<256, 5> >::tinyness_before : 0numeric_limits< sw::universal::posit<256, 5> >::round_style : 1Show size tables of quires.
$ propqprint quire size tablesQuire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 4 18 26 42 74 138 266 522 1034 2058 4106 5 22 34 58 106 202 394 778 1546 3082 6154 6 26 42 74 138 266 522 1034 2058 4106 8202 7 30 50 90 170 330 650 1290 2570 5130 10250 8 34 58 106 202 394 778 1546 3082 6154 12298 9 38 66 122 234 458 906 1802 3594 7178 14346 10 42 74 138 266 522 1034 2058 4106 8202 16394 11 46 82 154 298 586 1162 2314 4618 9226 18442 12 50 90 170 330 650 1290 2570 5130 10250 20490
Quire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 8 34 58 106 202 394 778 1546 3082 6154 12298 9 38 66 122 234 458 906 1802 3594 7178 14346 10 42 74 138 266 522 1034 2058 4106 8202 16394 11 46 82 154 298 586 1162 2314 4618 9226 18442 12 50 90 170 330 650 1290 2570 5130 10250 20490 13 54 98 186 362 714 1418 2826 5642 11274 22538 14 58 106 202 394 778 1546 3082 6154 12298 24586 15 62 114 218 426 842 1674 3338 6666 13322 26634 16 66 122 234 458 906 1802 3594 7178 14346 28682
Quire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 16 66 122 234 458 906 1802 3594 7178 14346 28682 17 70 130 250 490 970 1930 3850 7690 15370 30730 18 74 138 266 522 1034 2058 4106 8202 16394 32778 19 78 146 282 554 1098 2186 4362 8714 17418 34826 20 82 154 298 586 1162 2314 4618 9226 18442 36874 21 86 162 314 618 1226 2442 4874 9738 19466 38922 22 90 170 330 650 1290 2570 5130 10250 20490 40970 23 94 178 346 682 1354 2698 5386 10762 21514 43018 24 98 186 362 714 1418 2826 5642 11274 22538 45066
Quire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 24 98 186 362 714 1418 2826 5642 11274 22538 45066 25 102 194 378 746 1482 2954 5898 11786 23562 47114 26 106 202 394 778 1546 3082 6154 12298 24586 49162 27 110 210 410 810 1610 3210 6410 12810 25610 51210 28 114 218 426 842 1674 3338 6666 13322 26634 53258 29 118 226 442 874 1738 3466 6922 13834 27658 55306 30 122 234 458 906 1802 3594 7178 14346 28682 57354 31 126 242 474 938 1866 3722 7434 14858 29706 59402 32 130 250 490 970 1930 3850 7690 15370 30730 61450
Quire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 32 130 250 490 970 1930 3850 7690 15370 30730 61450 33 134 258 506 1002 1994 3978 7946 15882 31754 63498 34 138 266 522 1034 2058 4106 8202 16394 32778 65546 35 142 274 538 1066 2122 4234 8458 16906 33802 67594 36 146 282 554 1098 2186 4362 8714 17418 34826 69642 37 150 290 570 1130 2250 4490 8970 17930 35850 71690 38 154 298 586 1162 2314 4618 9226 18442 36874 73738 39 158 306 602 1194 2378 4746 9482 18954 37898 75786 40 162 314 618 1226 2442 4874 9738 19466 38922 77834
Quire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 40 162 314 618 1226 2442 4874 9738 19466 38922 77834 41 166 322 634 1258 2506 5002 9994 19978 39946 79882 42 170 330 650 1290 2570 5130 10250 20490 40970 81930 43 174 338 666 1322 2634 5258 10506 21002 41994 83978 44 178 346 682 1354 2698 5386 10762 21514 43018 86026 45 182 354 698 1386 2762 5514 11018 22026 44042 88074 46 186 362 714 1418 2826 5642 11274 22538 45066 90122 47 190 370 730 1450 2890 5770 11530 23050 46090 92170 48 194 378 746 1482 2954 5898 11786 23562 47114 94218
Quire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 48 194 378 746 1482 2954 5898 11786 23562 47114 94218 49 198 386 762 1514 3018 6026 12042 24074 48138 96266 50 202 394 778 1546 3082 6154 12298 24586 49162 98314 51 206 402 794 1578 3146 6282 12554 25098 50186 100362 52 210 410 810 1610 3210 6410 12810 25610 51210 102410 53 214 418 826 1642 3274 6538 13066 26122 52234 104458 54 218 426 842 1674 3338 6666 13322 26634 53258 106506 55 222 434 858 1706 3402 6794 13578 27146 54282 108554 56 226 442 874 1738 3466 6922 13834 27658 55306 110602
Quire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 56 226 442 874 1738 3466 6922 13834 27658 55306 110602 57 230 450 890 1770 3530 7050 14090 28170 56330 112650 58 234 458 906 1802 3594 7178 14346 28682 57354 114698 59 238 466 922 1834 3658 7306 14602 29194 58378 116746 60 242 474 938 1866 3722 7434 14858 29706 59402 118794 61 246 482 954 1898 3786 7562 15114 30218 60426 120842 62 250 490 970 1930 3850 7690 15370 30730 61450 122890 63 254 498 986 1962 3914 7818 15626 31242 62474 124938 64 258 506 1002 1994 3978 7946 15882 31754 63498 126986
Quire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 64 258 506 1002 1994 3978 7946 15882 31754 63498 126986 65 262 514 1018 2026 4042 8074 16138 32266 64522 129034 66 266 522 1034 2058 4106 8202 16394 32778 65546 131082 67 270 530 1050 2090 4170 8330 16650 33290 66570 133130 68 274 538 1066 2122 4234 8458 16906 33802 67594 135178 69 278 546 1082 2154 4298 8586 17162 34314 68618 137226 70 282 554 1098 2186 4362 8714 17418 34826 69642 139274 71 286 562 1114 2218 4426 8842 17674 35338 70666 141322 72 290 570 1130 2250 4490 8970 17930 35850 71690 143370
Quire size table as a function of <nbits, es, capacity = 10>Capacity is 2^10 accumulations of max_pos^2 nbits es value + 0 1 2 3 4 5 6 7 8 9 80 322 634 1258 2506 5002 9994 19978 39946 79882 159754 81 326 642 1274 2538 5066 10122 20234 40458 80906 161802 82 330 650 1290 2570 5130 10250 20490 40970 81930 163850 83 334 658 1306 2602 5194 10378 20746 41482 82954 165898 84 338 666 1322 2634 5258 10506 21002 41994 83978 167946 85 342 674 1338 2666 5322 10634 21258 42506 85002 169994 86 346 682 1354 2698 5386 10762 21514 43018 86026 172042 87 350 690 1370 2730 5450 10890 21770 43530 87050 174090 88 354 698 1386 2762 5514 11018 22026 44042 88074 176138