#include <libminifloat.h>
Definition at line 9 of file libminifloat.h.
MiniFloatConverter::MiniFloatConverter |
( |
| ) |
|
static float MiniFloatConverter::denorm_min |
( |
| ) |
|
|
inlinestatic |
Definition at line 136 of file libminifloat.h.
References conv.
137 union {
float flt; uint32_t i32; }
conv;
138 conv.i32 = 0x33800000;
static HepMC::IO_HEPEVT conv
void MiniFloatConverter::filltables |
( |
| ) |
|
|
staticprivate |
static float MiniFloatConverter::float16to32 |
( |
uint16_t |
h | ) |
|
|
inlinestatic |
static uint16_t MiniFloatConverter::float32to16 |
( |
float |
x | ) |
|
|
inlinestatic |
static uint16_t MiniFloatConverter::float32to16crop |
( |
float |
x | ) |
|
|
inlinestatic |
Fast implementation, but it crops the number so it biases low.
Definition at line 21 of file libminifloat.h.
References basetable, conv, shifttable, and x.
22 union {
float flt; uint32_t i32; }
conv;
static HepMC::IO_HEPEVT conv
static uint16_t basetable[512]
static uint8_t shifttable[512]
static uint16_t MiniFloatConverter::float32to16round |
( |
float |
x | ) |
|
|
inlinestatic |
static bool MiniFloatConverter::isdenorm |
( |
uint16_t |
h | ) |
|
|
inlinestatic |
Definition at line 142 of file libminifloat.h.
144 return ((
h >> 10) & 0x1f) == 0 && (
h & 0x3ff) != 0;
static float MiniFloatConverter::max |
( |
| ) |
|
|
inlinestatic |
Definition at line 106 of file libminifloat.h.
References conv.
107 union {
float flt; uint32_t i32; }
conv;
108 conv.i32 = 0x477fe000;
static HepMC::IO_HEPEVT conv
static float MiniFloatConverter::max32RoundedToMax16 |
( |
| ) |
|
|
inlinestatic |
Definition at line 113 of file libminifloat.h.
References conv.
114 union {
float flt; uint32_t i32; }
conv;
117 conv.i32 = (0x8f<<23) - 1;
static HepMC::IO_HEPEVT conv
static float MiniFloatConverter::min |
( |
| ) |
|
|
inlinestatic |
Definition at line 121 of file libminifloat.h.
References conv.
122 union {
float flt; uint32_t i32; }
conv;
123 conv.i32 = 0x38800000;
static HepMC::IO_HEPEVT conv
static float MiniFloatConverter::min32RoundedToMin16 |
( |
| ) |
|
|
inlinestatic |
Definition at line 128 of file libminifloat.h.
References conv.
129 union {
float flt; uint32_t i32; }
conv;
132 conv.i32 = (0x71<<23);
static HepMC::IO_HEPEVT conv
template<int bits>
static float MiniFloatConverter::reduceMantissaToNbits |
( |
const float & |
f | ) |
|
|
inlinestatic |
Definition at line 41 of file libminifloat.h.
References bits, constexpr, conv, f, and RecoTauDiscriminantConfiguration::mask.
Referenced by CompressionElement::pack().
43 static_assert(
bits <= 23,
"max mantissa size is 23 bits");
45 union {
float flt; uint32_t i32; }
conv;
static HepMC::IO_HEPEVT conv
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
static float MiniFloatConverter::reduceMantissaToNbits |
( |
const float & |
f, |
|
|
int |
bits |
|
) |
| |
|
inlinestatic |
Definition at line 50 of file libminifloat.h.
References bits, conv, f, and RecoTauDiscriminantConfiguration::mask.
53 union {
float flt; uint32_t i32; }
conv;
static HepMC::IO_HEPEVT conv
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
template<int bits>
static float MiniFloatConverter::reduceMantissaToNbitsRounding |
( |
const float & |
f | ) |
|
|
inlinestatic |
static float MiniFloatConverter::reduceMantissaToNbitsRounding |
( |
float |
f, |
|
|
int |
bits |
|
) |
| |
|
inlinestatic |
Definition at line 94 of file libminifloat.h.
References f, and MiniFloatConverter::ReduceMantissaToNbitsRounding::ReduceMantissaToNbitsRounding().
96 return ReduceMantissaToNbitsRounding(
bits)(
f);
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision bits
template<typename InItr , typename OutItr >
static void MiniFloatConverter::reduceMantissaToNbitsRounding |
( |
int |
bits, |
|
|
InItr |
begin, |
|
|
InItr |
end, |
|
|
OutItr |
out |
|
) |
| |
|
inlinestatic |
uint16_t MiniFloatConverter::basetable |
|
staticprivate |
uint32_t MiniFloatConverter::exponenttable |
|
staticprivate |
uint32_t MiniFloatConverter::mantissatable |
|
staticprivate |
uint16_t MiniFloatConverter::offsettable |
|
staticprivate |
uint8_t MiniFloatConverter::shifttable |
|
staticprivate |