#ifndef idD52B2591EB8240A980C5B3823D025EC1 #define idD52B2591EB8240A980C5B3823D025EC1 #include "vectorwrapper/vectorwrapper.hpp" #include #define SPECIALIZE_ARRAY_VECTOR(TYPE, DIM) \ template <> \ struct VectorWrapperInfo> { \ enum { dimensions = DIM }; \ typedef TYPE scalar_type; \ typedef std::array vector_type; \ static scalar_type& get_at (size_t parIndex, vector_type& parVector) { \ return parVector[parIndex]; \ } \ } namespace vwr_outer_ns { namespace vwr { SPECIALIZE_ARRAY_VECTOR(float, 2); SPECIALIZE_ARRAY_VECTOR(float, 3); SPECIALIZE_ARRAY_VECTOR(short int, 2); SPECIALIZE_ARRAY_VECTOR(short int, 3); typedef Vec> float2; typedef Vec> float3; typedef Vec> short2; typedef Vec> short3; } //namespace vwr } //namespace vwr_outer_ns #undef SPECIALIZE_ARRAY_VECTOR #endif