diff --git a/ethosu/regor/architecture/ethosu85/ethos_u85_scaling.cpp b/ethosu/regor/architecture/ethosu85/ethos_u85_scaling.cpp index b7171177340d18dd534b6e66de3eb51769c2c125..166774d02ec5f0dd30228c1f44170c008617ec42 100644 --- a/ethosu/regor/architecture/ethosu85/ethos_u85_scaling.cpp +++ b/ethosu/regor/architecture/ethosu85/ethos_u85_scaling.cpp @@ -99,7 +99,7 @@ void RescaleConvolution(HLCOperation *op) } else { - outScale = ElementwiseMulScale(ifm1Scale, ifm2Scale, ofmScale); + outScale = ElementwiseMulScale(ifm1Scale, ifm2Scale, ofmScale); } } diff --git a/ethosu/regor/common/scaling.hpp b/ethosu/regor/common/scaling.hpp index 0b4d0360af3209bb9fb76809abf24ae717c5e026..f288dd540a75999166c8f46fdb6f0f3467d2976e 100644 --- a/ethosu/regor/common/scaling.hpp +++ b/ethosu/regor/common/scaling.hpp @@ -50,15 +50,15 @@ public: }; /* Calculate elementwise Mul OFM QuantizedScale */ -template +template QuantizedScale ElementwiseMulScale(double inputScale, double input2Scale, double outputScale) { // clamp to single-point precision T ifm1Scale = ClampToType(inputScale); T ifm2Scale = ClampToType(input2Scale); - T outScale = ClampToType(outputScale); + TDIV outScale = ClampToType(outputScale); - T outputRescale = (ifm1Scale * ifm2Scale) / outScale; + TDIV outputRescale = (ifm1Scale * ifm2Scale) / outScale; return QuantizedScale(outputRescale); }