diff --git a/math/vc_aos/include/algebra/math/impl/vc_aos_transform3.hpp b/math/vc_aos/include/algebra/math/impl/vc_aos_transform3.hpp index 78c3ce05..98abf83d 100644 --- a/math/vc_aos/include/algebra/math/impl/vc_aos_transform3.hpp +++ b/math/vc_aos/include/algebra/math/impl/vc_aos_transform3.hpp @@ -210,8 +210,9 @@ struct transform3 { /// /// @param m is the rotation matrix /// @param v is the vector to be rotated + template ALGEBRA_HOST_DEVICE - inline constexpr auto rotate(const matrix44 &m, const vector3 &v) const { + inline constexpr auto rotate(const matrix44 &m, const vector3_type &v) const { return m.x * v[0] + m.y * v[1] + m.z * v[2]; } diff --git a/storage/vc_soa/include/algebra/storage/vc_soa.hpp b/storage/vc_soa/include/algebra/storage/vc_soa.hpp index c138117a..0e5664ad 100644 --- a/storage/vc_soa/include/algebra/storage/vc_soa.hpp +++ b/storage/vc_soa/include/algebra/storage/vc_soa.hpp @@ -35,10 +35,10 @@ template using value_type = Vc::Vector; /// Vector type used in the Vc SoA storage model template -using vector_type = storage::vector, std::array>; +using vector_type = storage::vector, storage_type>; /// Matrix type used in the Vc SoA storage model template -using matrix_type = storage::vector, std::array>; +using matrix_type = storage::vector, storage_type>; /// 2-element "vector" type, using @c Vc::Vector in every element template