MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / vquantize_internal

Function vquantize_internal

src/core/NEON/NEAsymm.h:663–681  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

661}
662
663inline int32x4x4_t vquantize_internal(const float32x4x4_t &qv, float scale, int32_t offset)
664{
665 const int32x4_t voffset = vdupq_n_s32(offset);
666 const float32x4_t vinvscale = vdupq_n_f32(1.f / scale);
667 const int32x4x4_t rf = {{
668#ifdef __aarch64__
669 vaddq_s32(vcvtnq_s32_f32(vmulq_f32(qv.val[0], vinvscale)), voffset),
670 vaddq_s32(vcvtnq_s32_f32(vmulq_f32(qv.val[1], vinvscale)), voffset),
671 vaddq_s32(vcvtnq_s32_f32(vmulq_f32(qv.val[2], vinvscale)), voffset),
672 vaddq_s32(vcvtnq_s32_f32(vmulq_f32(qv.val[3], vinvscale)), voffset),
673#else //__aarch64__
674 vaddq_s32(vcvtq_s32_f32(vmulq_f32(qv.val[0], vinvscale)), voffset),
675 vaddq_s32(vcvtq_s32_f32(vmulq_f32(qv.val[1], vinvscale)), voffset),
676 vaddq_s32(vcvtq_s32_f32(vmulq_f32(qv.val[2], vinvscale)), voffset),
677 vaddq_s32(vcvtq_s32_f32(vmulq_f32(qv.val[3], vinvscale)), voffset),
678#endif //__aarch64__
679 }};
680 return rf;
681}
682
683inline int32x4x4_t vquantize_internal(const float32x4x4_t &qv, float scale, float offset)
684{

Callers 3

vquantizeFunction · 0.85
vquantize_signedFunction · 0.85
vquantize_qasymm16Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected