diff options
author | Erik Schnetter <schnetter@gmail.com> | 2013-07-04 15:36:02 -0400 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2013-07-04 15:36:02 -0400 |
commit | 3ca8ed9d4e8fbe0a5faf136cde811aa615457e2a (patch) | |
tree | da5570f2cd3b1e6b8ce63a0c29897cccf4b75ba8 | |
parent | 2546037a884c2443cebd957896cc4245e07fb232 (diff) | |
download | vecmathlib-3ca8ed9d4e8fbe0a5faf136cde811aa615457e2a.zip vecmathlib-3ca8ed9d4e8fbe0a5faf136cde811aa615457e2a.tar.gz |
Simplify prod and sum
-rw-r--r-- | test.cc | 8 | ||||
-rw-r--r-- | vec_pseudo.h | 8 | ||||
-rw-r--r-- | vec_test.h | 8 |
3 files changed, 12 insertions, 12 deletions
@@ -1129,16 +1129,16 @@ struct vecmathlib_test { check_real<RV,RV>("*", local_mul, local_mul, x, y, R(0.0)); { - real_t rstd = 0.0; - for (int i=0; i<realvec_t::size; ++i) { + real_t rstd = x[0]; + for (int i=1; i<realvec_t::size; ++i) { rstd += x[i]; } real_t rvml = sum(x); check_real("sum", rstd, rvml, x, accuracy()); } { - real_t rstd = 1.0; - for (int i=0; i<realvec_t::size; ++i) { + real_t rstd = x[0]; + for (int i=1; i<realvec_t::size; ++i) { rstd *= x[i]; } real_t rvml = prod(x); diff --git a/vec_pseudo.h b/vec_pseudo.h index 0ee5a60..0af1c77 100644 --- a/vec_pseudo.h +++ b/vec_pseudo.h @@ -670,14 +670,14 @@ namespace vecmathlib { } real_t prod() const { - real_t res = R(1.0); - for (int d=0; d<size; ++d) res *= v[d]; + real_t res = v[0]; + for (int d=1; d<size; ++d) res *= v[d]; return res; } real_t sum() const { - real_t res = R(0.0); - for (int d=0; d<size; ++d) res += v[d]; + real_t res = v[0]; + for (int d=1; d<size; ++d) res += v[d]; return res; } @@ -619,14 +619,14 @@ namespace vecmathlib { } real_t prod() const { - real_t res = R(1.0); - for (int d=0; d<size; ++d) res *= v[d]; + real_t res = v[0]; + for (int d=1; d<size; ++d) res *= v[d]; return res; } real_t sum() const { - real_t res = R(0.0); - for (int d=0; d<size; ++d) res += v[d]; + real_t res = v[0]; + for (int d=1; d<size; ++d) res += v[d]; return res; } |