summaryrefslogtreecommitdiffstats
path: root/vec_pseudo.h
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-06-05 14:04:12 +0000
committerErik Schnetter <schnetter@gmail.com>2013-06-05 14:04:12 +0000
commit075a6577bc62862e932b52a2781f8b220237cdea (patch)
tree0b68fa86144eb2e4144e0c3ad6dcda594fed0374 /vec_pseudo.h
parente6fd0261b4c1b55d2a9b80497cb46e0d0b7ddd52 (diff)
downloadvecmathlib-075a6577bc62862e932b52a2781f8b220237cdea.zip
vecmathlib-075a6577bc62862e932b52a2781f8b220237cdea.tar.gz
Continue implementing QPX support
Diffstat (limited to 'vec_pseudo.h')
-rw-r--r--vec_pseudo.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/vec_pseudo.h b/vec_pseudo.h
index ea3c5f5..eaf8e55 100644
--- a/vec_pseudo.h
+++ b/vec_pseudo.h
@@ -769,14 +769,16 @@ namespace vecmathlib {
template<typename T, int N>
inline
- auto boolpseudovec<T,N>::as_int() const -> intvec_t
+ // auto boolpseudovec<T,N>::as_int() const -> intvec_t
+ typename boolpseudovec<T,N>::intvec_t boolpseudovec<T,N>::as_int() const
{
return convert_int();
}
template<typename T, int N>
inline
- auto boolpseudovec<T,N>::convert_int() const -> intvec_t
+ // auto boolpseudovec<T,N>::convert_int() const -> intvec_t
+ typename boolpseudovec<T,N>::intvec_t boolpseudovec<T,N>::convert_int() const
{
intvec_t res;
for (int d=0; d<size; ++d) res.v[d] = v[d];
@@ -785,7 +787,8 @@ namespace vecmathlib {
template<typename T, int N>
inline
- auto boolpseudovec<T,N>::ifthen(intvec_t x, intvec_t y) const -> intvec_t
+ // auto boolpseudovec<T,N>::ifthen(intvec_t x, intvec_t y) const -> intvec_t
+ typename boolpseudovec<T,N>::intvec_t boolpseudovec<T,N>::ifthen(intvec_t x, intvec_t y) const
{
intvec_t res;
for (int d=0; d<size; ++d) res.v[d] = v[d] ? x.v[d] : y.v[d];
@@ -794,7 +797,8 @@ namespace vecmathlib {
template<typename T, int N>
inline
- auto boolpseudovec<T,N>::ifthen(realvec_t x, realvec_t y) const -> realvec_t
+ // auto boolpseudovec<T,N>::ifthen(realvec_t x, realvec_t y) const -> realvec_t
+ typename boolpseudovec<T,N>::realvec_t boolpseudovec<T,N>::ifthen(realvec_t x, realvec_t y) const
{
realvec_t res;
for (int d=0; d<size; ++d) res.v[d] = v[d] ? x.v[d] : y.v[d];
@@ -806,7 +810,8 @@ namespace vecmathlib {
// intpseudovec definitions
template<typename T, int N>
- inline auto intpseudovec<T,N>::as_float() const -> realvec_t
+ // inline auto intpseudovec<T,N>::as_float() const -> realvec_t
+ inline typename intpseudovec<T,N>::realvec_t intpseudovec<T,N>::as_float() const
{
realvec_t res;
for (int d=0; d<size; ++d) res.v[d] = FP::as_float(v[d]);
@@ -814,7 +819,8 @@ namespace vecmathlib {
}
template<typename T, int N>
- inline auto intpseudovec<T,N>::convert_float() const -> realvec_t
+ // inline auto intpseudovec<T,N>::convert_float() const -> realvec_t
+ inline typename intpseudovec<T,N>::realvec_t intpseudovec<T,N>::convert_float() const
{
realvec_t res;
for (int d=0; d<size; ++d) res.v[d] = FP::convert_float(v[d]);
OpenPOWER on IntegriCloud