diff options
author | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2015-12-03 18:16:35 -0800 |
---|---|---|
committer | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2015-12-03 18:16:35 -0800 |
commit | e25e3a041bc41266df31f48a441d95b38fc5a6fc (patch) | |
tree | 98f47b0944ef3b97beffb61531c79c5f18dfde58 /test | |
parent | 029052d276edab49f6e8c274972d51f4188b5a09 (diff) |
Added rsqrt() method to the Array class: this method computes the coefficient-wise inverse square root much more efficiently than calling sqrt().inverse().
Diffstat (limited to 'test')
-rw-r--r-- | test/array.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test/array.cpp b/test/array.cpp index 367bda2c4..5395721f5 100644 --- a/test/array.cpp +++ b/test/array.cpp @@ -236,6 +236,7 @@ template<typename ArrayType> void array_real(const ArrayType& m) // avoid NaNs with abs() so verification doesn't fail m3 = m1.abs(); VERIFY_IS_APPROX(m3.sqrt(), sqrt(abs(m1))); + VERIFY_IS_APPROX(m3.rsqrt(), Scalar(1)/sqrt(abs(m1))); VERIFY_IS_APPROX(m3.log(), log(m3)); VERIFY_IS_APPROX(m3.log10(), log10(m3)); @@ -292,6 +293,10 @@ template<typename ArrayType> void array_real(const ArrayType& m) VERIFY_IS_APPROX(m3.pow(RealScalar(0.5)), m3.sqrt()); VERIFY_IS_APPROX(pow(m3,RealScalar(0.5)), m3.sqrt()); + + VERIFY_IS_APPROX(m3.pow(RealScalar(-0.5)), m3.rsqrt()); + VERIFY_IS_APPROX(pow(m3,RealScalar(-0.5)), m3.rsqrt()); + VERIFY_IS_APPROX(log10(m3), log(m3)/log(10)); // scalar by array division |