![]() |
ATLAS Offline Software
|
Bit-exact software emulator of the TilePPr neural-network energy reconstruction. More...
#include <TileNNEmulator.h>
Classes | |
| struct | FixSpec |
| struct | Layer |
Public Member Functions | |
| bool | load (const std::string &jsonText, std::string &error) |
| int | nSamples () const |
| float | sValue (float hg, float lg) const |
| Combined dual-gain input sample S = (hg + lgScale*lg) / denominator. | |
| int64_t | run (const float *s) const |
| int | outFracBits () const |
| Fractional bits of the output word (code * 2^-outFracBits() = value). | |
| double | amplitudeScale () const |
Private Types | |
| enum class | Round { RND_CONV , TRN } |
| enum class | Sat { SAT , SAT_SYM , WRAP } |
| enum class | Op { Dense , LeakyRelu } |
Static Private Member Functions | |
| static int64_t | rshiftRoundHalfEven (int64_t v, int k) |
| static int64_t | castTo (int64_t v, int fracFrom, const FixSpec &spec) |
Private Attributes | |
| int | m_nSamples = 0 |
| double | m_lgScale = 0.0 |
| double | m_denominator = 0.0 |
| double | m_ampScale = 0.0 |
| FixSpec | m_inT |
| FixSpec | m_castT |
| std::vector< Layer > | m_layers |
Bit-exact software emulator of the TilePPr neural-network energy reconstruction.
Definition at line 15 of file TileNNEmulator.h.
|
strongprivate |
|
strongprivate |
|
strongprivate |
| Enumerator | |
|---|---|
| SAT | |
| SAT_SYM | |
| WRAP | |
Definition at line 43 of file TileNNEmulator.h.
|
inline |
Definition at line 39 of file TileNNEmulator.h.
Definition at line 20 of file TileNNEmulator.cxx.
| bool TileNNEmulator::load | ( | const std::string & | jsonText, |
| std::string & | error ) |
| jsonText | the JSON document itself (not a file name, so the payload can later come from the conditions database) |
| error | filled with a diagnostic on failure |
Definition at line 98 of file TileNNEmulator.cxx.
|
inline |
Definition at line 27 of file TileNNEmulator.h.
|
inline |
Fractional bits of the output word (code * 2^-outFracBits() = value).
Definition at line 38 of file TileNNEmulator.h.
|
staticprivate |
Definition at line 10 of file TileNNEmulator.cxx.
| int64_t TileNNEmulator::run | ( | const float * | s | ) | const |
Definition at line 50 of file TileNNEmulator.cxx.
| float TileNNEmulator::sValue | ( | float | hg, |
| float | lg ) const |
Combined dual-gain input sample S = (hg + lgScale*lg) / denominator.
Definition at line 46 of file TileNNEmulator.cxx.
|
private |
Definition at line 69 of file TileNNEmulator.h.
|
private |
Definition at line 70 of file TileNNEmulator.h.
|
private |
Definition at line 68 of file TileNNEmulator.h.
|
private |
Definition at line 70 of file TileNNEmulator.h.
|
private |
Definition at line 71 of file TileNNEmulator.h.
|
private |
Definition at line 67 of file TileNNEmulator.h.
|
private |
Definition at line 66 of file TileNNEmulator.h.