diff options
Diffstat (limited to 'vec_sse_float1.h')
-rw-r--r-- | vec_sse_float1.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/vec_sse_float1.h b/vec_sse_float1.h index 675f18a..a339cf5 100644 --- a/vec_sse_float1.h +++ b/vec_sse_float1.h @@ -423,11 +423,13 @@ namespace vecmathlib { return to_float(_mm_min_ss(from_float(v), from_float(y.v))); } realvec fmod(realvec y) const { return std::fmod(v, y.v); } - realvec frexp(intvec_t& ir) const + realvec frexp(intvec_t* ir) const { - realvec r = std::frexp(v, &ir.v); - if (isinf()) ir.v = std::numeric_limits<int_t>::max(); - if (isnan()) ir.v = std::numeric_limits<int_t>::min(); + int iri; + realvec r = std::frexp(v, &iri); + if (isinf()) iri = std::numeric_limits<int_t>::max(); + if (isnan()) iri = std::numeric_limits<int_t>::min(); + ir->v = iri; return r; } realvec hypot(realvec y) const { return MF::vml_hypot(*this, y); } |