Tail array optimization; untested

This commit is contained in:
Pavel Kirienko
2014-02-25 13:19:55 +04:00
parent a24cbcc493
commit ca277a4ef9
7 changed files with 163 additions and 91 deletions
@@ -110,7 +110,7 @@ public:
using IEEE754Limits<BitLen>::epsilon;
static std::float_round_style roundstyle() { return IEEE754Converter::roundstyle(); }
static int encode(StorageType value, ScalarCodec& codec)
static int encode(StorageType value, ScalarCodec& codec, TailArrayOptimizationMode)
{
// cppcheck-suppress duplicateExpression
if (CastMode == CastModeSaturate)
@@ -120,7 +120,7 @@ public:
return codec.encode<BitLen>(IEEE754Converter::toIeee<BitLen>(value));
}
static int decode(StorageType& out_value, ScalarCodec& codec)
static int decode(StorageType& out_value, ScalarCodec& codec, TailArrayOptimizationMode)
{
typename IntegerSpec<BitLen, SignednessUnsigned, CastModeTruncate>::StorageType ieee = 0;
const int res = codec.decode<BitLen>(ieee);