Merge pull request #731 from FioraAeterna/fixquanttable
Fix quant/dequant table bug
This commit is contained in:
commit
b6dac8f0b1
|
@ -9,43 +9,43 @@
|
||||||
// dequantize table
|
// dequantize table
|
||||||
const float m_dequantizeTable[] =
|
const float m_dequantizeTable[] =
|
||||||
{
|
{
|
||||||
1.0 / (1 << 0), 1.0 / (1 << 1), 1.0 / (1 << 2), 1.0 / (1 << 3),
|
1.0 / (1ULL << 0), 1.0 / (1ULL << 1), 1.0 / (1ULL << 2), 1.0 / (1ULL << 3),
|
||||||
1.0 / (1 << 4), 1.0 / (1 << 5), 1.0 / (1 << 6), 1.0 / (1 << 7),
|
1.0 / (1ULL << 4), 1.0 / (1ULL << 5), 1.0 / (1ULL << 6), 1.0 / (1ULL << 7),
|
||||||
1.0 / (1 << 8), 1.0 / (1 << 9), 1.0 / (1 << 10), 1.0 / (1 << 11),
|
1.0 / (1ULL << 8), 1.0 / (1ULL << 9), 1.0 / (1ULL << 10), 1.0 / (1ULL << 11),
|
||||||
1.0 / (1 << 12), 1.0 / (1 << 13), 1.0 / (1 << 14), 1.0 / (1 << 15),
|
1.0 / (1ULL << 12), 1.0 / (1ULL << 13), 1.0 / (1ULL << 14), 1.0 / (1ULL << 15),
|
||||||
1.0 / (1 << 16), 1.0 / (1 << 17), 1.0 / (1 << 18), 1.0 / (1 << 19),
|
1.0 / (1ULL << 16), 1.0 / (1ULL << 17), 1.0 / (1ULL << 18), 1.0 / (1ULL << 19),
|
||||||
1.0 / (1 << 20), 1.0 / (1 << 21), 1.0 / (1 << 22), 1.0 / (1 << 23),
|
1.0 / (1ULL << 20), 1.0 / (1ULL << 21), 1.0 / (1ULL << 22), 1.0 / (1ULL << 23),
|
||||||
1.0 / (1 << 24), 1.0 / (1 << 25), 1.0 / (1 << 26), 1.0 / (1 << 27),
|
1.0 / (1ULL << 24), 1.0 / (1ULL << 25), 1.0 / (1ULL << 26), 1.0 / (1ULL << 27),
|
||||||
1.0 / (1 << 28), 1.0 / (1 << 29), 1.0 / (1 << 30), 1.0 / (1 << 31),
|
1.0 / (1ULL << 28), 1.0 / (1ULL << 29), 1.0 / (1ULL << 30), 1.0 / (1ULL << 31),
|
||||||
(1ULL << 32), (1 << 31), (1 << 30), (1 << 29),
|
(1ULL << 32), (1ULL << 31), (1ULL << 30), (1ULL << 29),
|
||||||
(1 << 28), (1 << 27), (1 << 26), (1 << 25),
|
(1ULL << 28), (1ULL << 27), (1ULL << 26), (1ULL << 25),
|
||||||
(1 << 24), (1 << 23), (1 << 22), (1 << 21),
|
(1ULL << 24), (1ULL << 23), (1ULL << 22), (1ULL << 21),
|
||||||
(1 << 20), (1 << 19), (1 << 18), (1 << 17),
|
(1ULL << 20), (1ULL << 19), (1ULL << 18), (1ULL << 17),
|
||||||
(1 << 16), (1 << 15), (1 << 14), (1 << 13),
|
(1ULL << 16), (1ULL << 15), (1ULL << 14), (1ULL << 13),
|
||||||
(1 << 12), (1 << 11), (1 << 10), (1 << 9),
|
(1ULL << 12), (1ULL << 11), (1ULL << 10), (1ULL << 9),
|
||||||
(1 << 8), (1 << 7), (1 << 6), (1 << 5),
|
(1ULL << 8), (1ULL << 7), (1ULL << 6), (1ULL << 5),
|
||||||
(1 << 4), (1 << 3), (1 << 2), (1 << 1),
|
(1ULL << 4), (1ULL << 3), (1ULL << 2), (1ULL << 1),
|
||||||
};
|
};
|
||||||
|
|
||||||
// quantize table
|
// quantize table
|
||||||
const float m_quantizeTable[] =
|
const float m_quantizeTable[] =
|
||||||
{
|
{
|
||||||
(1 << 0), (1 << 1), (1 << 2), (1 << 3),
|
(1ULL << 0), (1ULL << 1), (1ULL << 2), (1ULL << 3),
|
||||||
(1 << 4), (1 << 5), (1 << 6), (1 << 7),
|
(1ULL << 4), (1ULL << 5), (1ULL << 6), (1ULL << 7),
|
||||||
(1 << 8), (1 << 9), (1 << 10), (1 << 11),
|
(1ULL << 8), (1ULL << 9), (1ULL << 10), (1ULL << 11),
|
||||||
(1 << 12), (1 << 13), (1 << 14), (1 << 15),
|
(1ULL << 12), (1ULL << 13), (1ULL << 14), (1ULL << 15),
|
||||||
(1 << 16), (1 << 17), (1 << 18), (1 << 19),
|
(1ULL << 16), (1ULL << 17), (1ULL << 18), (1ULL << 19),
|
||||||
(1 << 20), (1 << 21), (1 << 22), (1 << 23),
|
(1ULL << 20), (1ULL << 21), (1ULL << 22), (1ULL << 23),
|
||||||
(1 << 24), (1 << 25), (1 << 26), (1 << 27),
|
(1ULL << 24), (1ULL << 25), (1ULL << 26), (1ULL << 27),
|
||||||
(1 << 28), (1 << 29), (1 << 30), (1 << 31),
|
(1ULL << 28), (1ULL << 29), (1ULL << 30), (1ULL << 31),
|
||||||
1.0 / (1ULL << 32), 1.0 / (1 << 31), 1.0 / (1 << 30), 1.0 / (1 << 29),
|
1.0 / (1ULL << 32), 1.0 / (1ULL << 31), 1.0 / (1ULL << 30), 1.0 / (1ULL << 29),
|
||||||
1.0 / (1 << 28), 1.0 / (1 << 27), 1.0 / (1 << 26), 1.0 / (1 << 25),
|
1.0 / (1ULL << 28), 1.0 / (1ULL << 27), 1.0 / (1ULL << 26), 1.0 / (1ULL << 25),
|
||||||
1.0 / (1 << 24), 1.0 / (1 << 23), 1.0 / (1 << 22), 1.0 / (1 << 21),
|
1.0 / (1ULL << 24), 1.0 / (1ULL << 23), 1.0 / (1ULL << 22), 1.0 / (1ULL << 21),
|
||||||
1.0 / (1 << 20), 1.0 / (1 << 19), 1.0 / (1 << 18), 1.0 / (1 << 17),
|
1.0 / (1ULL << 20), 1.0 / (1ULL << 19), 1.0 / (1ULL << 18), 1.0 / (1ULL << 17),
|
||||||
1.0 / (1 << 16), 1.0 / (1 << 15), 1.0 / (1 << 14), 1.0 / (1 << 13),
|
1.0 / (1ULL << 16), 1.0 / (1ULL << 15), 1.0 / (1ULL << 14), 1.0 / (1ULL << 13),
|
||||||
1.0 / (1 << 12), 1.0 / (1 << 11), 1.0 / (1 << 10), 1.0 / (1 << 9),
|
1.0 / (1ULL << 12), 1.0 / (1ULL << 11), 1.0 / (1ULL << 10), 1.0 / (1ULL << 9),
|
||||||
1.0 / (1 << 8), 1.0 / (1 << 7), 1.0 / (1 << 6), 1.0 / (1 << 5),
|
1.0 / (1ULL << 8), 1.0 / (1ULL << 7), 1.0 / (1ULL << 6), 1.0 / (1ULL << 5),
|
||||||
1.0 / (1 << 4), 1.0 / (1 << 3), 1.0 / (1 << 2), 1.0 / (1 << 1),
|
1.0 / (1ULL << 4), 1.0 / (1ULL << 3), 1.0 / (1ULL << 2), 1.0 / (1ULL << 1),
|
||||||
};
|
};
|
||||||
|
|
||||||
void Interpreter::Helper_Quantize(const u32 _Addr, const double _fValue, const EQuantizeType _quantizeType, const unsigned int _uScale)
|
void Interpreter::Helper_Quantize(const u32 _Addr, const double _fValue, const EQuantizeType _quantizeType, const unsigned int _uScale)
|
||||||
|
|
|
@ -58,42 +58,42 @@ static const u8 GC_ALIGNED16(pbswapShuffle2x4[16]) = {3, 2, 1, 0, 7, 6, 5, 4, 8,
|
||||||
|
|
||||||
static const float GC_ALIGNED16(m_quantizeTableS[]) =
|
static const float GC_ALIGNED16(m_quantizeTableS[]) =
|
||||||
{
|
{
|
||||||
(1 << 0), (1 << 1), (1 << 2), (1 << 3),
|
(1ULL << 0), (1ULL << 1), (1ULL << 2), (1ULL << 3),
|
||||||
(1 << 4), (1 << 5), (1 << 6), (1 << 7),
|
(1ULL << 4), (1ULL << 5), (1ULL << 6), (1ULL << 7),
|
||||||
(1 << 8), (1 << 9), (1 << 10), (1 << 11),
|
(1ULL << 8), (1ULL << 9), (1ULL << 10), (1ULL << 11),
|
||||||
(1 << 12), (1 << 13), (1 << 14), (1 << 15),
|
(1ULL << 12), (1ULL << 13), (1ULL << 14), (1ULL << 15),
|
||||||
(1 << 16), (1 << 17), (1 << 18), (1 << 19),
|
(1ULL << 16), (1ULL << 17), (1ULL << 18), (1ULL << 19),
|
||||||
(1 << 20), (1 << 21), (1 << 22), (1 << 23),
|
(1ULL << 20), (1ULL << 21), (1ULL << 22), (1ULL << 23),
|
||||||
(1 << 24), (1 << 25), (1 << 26), (1 << 27),
|
(1ULL << 24), (1ULL << 25), (1ULL << 26), (1ULL << 27),
|
||||||
(1 << 28), (1 << 29), (1 << 30), (1 << 31),
|
(1ULL << 28), (1ULL << 29), (1ULL << 30), (1ULL << 31),
|
||||||
1.0 / (1ULL << 32), 1.0 / (1 << 31), 1.0 / (1 << 30), 1.0 / (1 << 29),
|
1.0 / (1ULL << 32), 1.0 / (1ULL << 31), 1.0 / (1ULL << 30), 1.0 / (1ULL << 29),
|
||||||
1.0 / (1 << 28), 1.0 / (1 << 27), 1.0 / (1 << 26), 1.0 / (1 << 25),
|
1.0 / (1ULL << 28), 1.0 / (1ULL << 27), 1.0 / (1ULL << 26), 1.0 / (1ULL << 25),
|
||||||
1.0 / (1 << 24), 1.0 / (1 << 23), 1.0 / (1 << 22), 1.0 / (1 << 21),
|
1.0 / (1ULL << 24), 1.0 / (1ULL << 23), 1.0 / (1ULL << 22), 1.0 / (1ULL << 21),
|
||||||
1.0 / (1 << 20), 1.0 / (1 << 19), 1.0 / (1 << 18), 1.0 / (1 << 17),
|
1.0 / (1ULL << 20), 1.0 / (1ULL << 19), 1.0 / (1ULL << 18), 1.0 / (1ULL << 17),
|
||||||
1.0 / (1 << 16), 1.0 / (1 << 15), 1.0 / (1 << 14), 1.0 / (1 << 13),
|
1.0 / (1ULL << 16), 1.0 / (1ULL << 15), 1.0 / (1ULL << 14), 1.0 / (1ULL << 13),
|
||||||
1.0 / (1 << 12), 1.0 / (1 << 11), 1.0 / (1 << 10), 1.0 / (1 << 9),
|
1.0 / (1ULL << 12), 1.0 / (1ULL << 11), 1.0 / (1ULL << 10), 1.0 / (1ULL << 9),
|
||||||
1.0 / (1 << 8), 1.0 / (1 << 7), 1.0 / (1 << 6), 1.0 / (1 << 5),
|
1.0 / (1ULL << 8), 1.0 / (1ULL << 7), 1.0 / (1ULL << 6), 1.0 / (1ULL << 5),
|
||||||
1.0 / (1 << 4), 1.0 / (1 << 3), 1.0 / (1 << 2), 1.0 / (1 << 1),
|
1.0 / (1ULL << 4), 1.0 / (1ULL << 3), 1.0 / (1ULL << 2), 1.0 / (1ULL << 1),
|
||||||
};
|
};
|
||||||
|
|
||||||
static const float GC_ALIGNED16(m_dequantizeTableS[]) =
|
static const float GC_ALIGNED16(m_dequantizeTableS[]) =
|
||||||
{
|
{
|
||||||
1.0 / (1 << 0), 1.0 / (1 << 1), 1.0 / (1 << 2), 1.0 / (1 << 3),
|
1.0 / (1ULL << 0), 1.0 / (1ULL << 1), 1.0 / (1ULL << 2), 1.0 / (1ULL << 3),
|
||||||
1.0 / (1 << 4), 1.0 / (1 << 5), 1.0 / (1 << 6), 1.0 / (1 << 7),
|
1.0 / (1ULL << 4), 1.0 / (1ULL << 5), 1.0 / (1ULL << 6), 1.0 / (1ULL << 7),
|
||||||
1.0 / (1 << 8), 1.0 / (1 << 9), 1.0 / (1 << 10), 1.0 / (1 << 11),
|
1.0 / (1ULL << 8), 1.0 / (1ULL << 9), 1.0 / (1ULL << 10), 1.0 / (1ULL << 11),
|
||||||
1.0 / (1 << 12), 1.0 / (1 << 13), 1.0 / (1 << 14), 1.0 / (1 << 15),
|
1.0 / (1ULL << 12), 1.0 / (1ULL << 13), 1.0 / (1ULL << 14), 1.0 / (1ULL << 15),
|
||||||
1.0 / (1 << 16), 1.0 / (1 << 17), 1.0 / (1 << 18), 1.0 / (1 << 19),
|
1.0 / (1ULL << 16), 1.0 / (1ULL << 17), 1.0 / (1ULL << 18), 1.0 / (1ULL << 19),
|
||||||
1.0 / (1 << 20), 1.0 / (1 << 21), 1.0 / (1 << 22), 1.0 / (1 << 23),
|
1.0 / (1ULL << 20), 1.0 / (1ULL << 21), 1.0 / (1ULL << 22), 1.0 / (1ULL << 23),
|
||||||
1.0 / (1 << 24), 1.0 / (1 << 25), 1.0 / (1 << 26), 1.0 / (1 << 27),
|
1.0 / (1ULL << 24), 1.0 / (1ULL << 25), 1.0 / (1ULL << 26), 1.0 / (1ULL << 27),
|
||||||
1.0 / (1 << 28), 1.0 / (1 << 29), 1.0 / (1 << 30), 1.0 / (1 << 31),
|
1.0 / (1ULL << 28), 1.0 / (1ULL << 29), 1.0 / (1ULL << 30), 1.0 / (1ULL << 31),
|
||||||
(1ULL << 32), (1 << 31), (1 << 30), (1 << 29),
|
(1ULL << 32), (1ULL << 31), (1ULL << 30), (1ULL << 29),
|
||||||
(1 << 28), (1 << 27), (1 << 26), (1 << 25),
|
(1ULL << 28), (1ULL << 27), (1ULL << 26), (1ULL << 25),
|
||||||
(1 << 24), (1 << 23), (1 << 22), (1 << 21),
|
(1ULL << 24), (1ULL << 23), (1ULL << 22), (1ULL << 21),
|
||||||
(1 << 20), (1 << 19), (1 << 18), (1 << 17),
|
(1ULL << 20), (1ULL << 19), (1ULL << 18), (1ULL << 17),
|
||||||
(1 << 16), (1 << 15), (1 << 14), (1 << 13),
|
(1ULL << 16), (1ULL << 15), (1ULL << 14), (1ULL << 13),
|
||||||
(1 << 12), (1 << 11), (1 << 10), (1 << 9),
|
(1ULL << 12), (1ULL << 11), (1ULL << 10), (1ULL << 9),
|
||||||
(1 << 8), (1 << 7), (1 << 6), (1 << 5),
|
(1ULL << 8), (1ULL << 7), (1ULL << 6), (1ULL << 5),
|
||||||
(1 << 4), (1 << 3), (1 << 2), (1 << 1),
|
(1ULL << 4), (1ULL << 3), (1ULL << 2), (1ULL << 1),
|
||||||
};
|
};
|
||||||
|
|
||||||
static float GC_ALIGNED16(psTemp[4]);
|
static float GC_ALIGNED16(psTemp[4]);
|
||||||
|
|
Loading…
Reference in New Issue