Skip to content
Snippets Groups Projects

WIP: Index vectorization

Closed Slattery, Stuart requested to merge (removed):index_opt into master
+ 5
5
@@ -650,7 +650,7 @@ class AoSoA<MemberDataTypes<Types...>,Properties...>
{
return
reinterpret_cast<struct_member_array_type<M> >(
static_cast<struct_member_pointer_type<M> >(_data[struct_index]) + struct_index * stride(M)
static_cast<struct_member_pointer_type<M> >(data(M)) + struct_index * stride(M)
)[array_index];
}
@@ -664,7 +664,7 @@ class AoSoA<MemberDataTypes<Types...>,Properties...>
{
return
reinterpret_cast<struct_member_array_type<M> >(
static_cast<struct_member_pointer_type<M> >(_data[struct_index]) + struct_index * stride(M)
static_cast<struct_member_pointer_type<M> >(data(M)) + struct_index * stride(M)
)[array_index][d0];
}
@@ -679,7 +679,7 @@ class AoSoA<MemberDataTypes<Types...>,Properties...>
{
return
reinterpret_cast<struct_member_array_type<M> >(
static_cast<struct_member_pointer_type<M> >(_data[struct_index]) + struct_index * stride(M)
static_cast<struct_member_pointer_type<M> >(data(M)) + struct_index * stride(M)
)[array_index][d0][d1];
}
@@ -695,7 +695,7 @@ class AoSoA<MemberDataTypes<Types...>,Properties...>
{
return
reinterpret_cast<struct_member_array_type<M> >(
static_cast<struct_member_pointer_type<M> >(_data[struct_index]) + struct_index * stride(M)
static_cast<struct_member_pointer_type<M> >(data(M)) + struct_index * stride(M)
)[array_index][d0][d1][d2];
}
@@ -712,7 +712,7 @@ class AoSoA<MemberDataTypes<Types...>,Properties...>
{
return
reinterpret_cast<struct_member_array_type<M> >(
static_cast<struct_member_pointer_type<M> >(_data[struct_index]) + struct_index * stride(M)
static_cast<struct_member_pointer_type<M> >(data(M)) + struct_index * stride(M)
)[array_index][d0][d1][d2][d3];
}
Loading