aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h
diff options
context:
space:
mode:
authorGravatar Eugene Zhulenev <ezhulenev@google.com>2018-09-28 11:24:08 -0700
committerGravatar Eugene Zhulenev <ezhulenev@google.com>2018-09-28 11:24:08 -0700
commit524c81f3fad1548a92504d92326f3622075ed77b (patch)
tree3e1fdee33c278ceef2957b324052e0dfb6dad821 /unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h
parente95696acb313a84b33a18cc300de418b05dc58e5 (diff)
Add tests for evalShardedByInnerDim contraction + fix bugs
Diffstat (limited to 'unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h')
-rw-r--r--unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h28
1 files changed, 14 insertions, 14 deletions
diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h b/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h
index 35523ec73..a59a5d5b2 100644
--- a/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h
+++ b/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h
@@ -167,61 +167,61 @@ struct TensorBlockCopyOp {
}
if (src_stride == 1) {
- const Index vectorized_size = (num_coeff_to_copy / PacketSize) * PacketSize;
+ const StorageIndex vectorized_size = (num_coeff_to_copy / PacketSize) * PacketSize;
if (dst_stride == 1) {
// LINEAR
- for (Index i = 0; i < vectorized_size; i += PacketSize) {
+ for (StorageIndex i = 0; i < vectorized_size; i += PacketSize) {
Packet p = internal::ploadu<Packet>(src + i);
internal::pstoreu<Scalar, Packet>(dst + i, p);
}
- for (Index i = vectorized_size; i < num_coeff_to_copy; ++i) {
+ for (StorageIndex i = vectorized_size; i < num_coeff_to_copy; ++i) {
dst[i] = src[i];
}
} else {
// SCATTER
- for (Index i = 0; i < vectorized_size; i += PacketSize) {
+ for (StorageIndex i = 0; i < vectorized_size; i += PacketSize) {
Packet p = internal::ploadu<Packet>(src + i);
internal::pscatter<Scalar, Packet>(dst + i * dst_stride, p, dst_stride);
}
- for (Index i = vectorized_size; i < num_coeff_to_copy; ++i) {
+ for (StorageIndex i = vectorized_size; i < num_coeff_to_copy; ++i) {
dst[i * dst_stride] = src[i];
}
}
} else if (src_stride == 0) {
- const Index vectorized_size = (num_coeff_to_copy / PacketSize) * PacketSize;
+ const StorageIndex vectorized_size = (num_coeff_to_copy / PacketSize) * PacketSize;
if (dst_stride == 1) {
// LINEAR
- for (Index i = 0; i < vectorized_size; i += PacketSize) {
+ for (StorageIndex i = 0; i < vectorized_size; i += PacketSize) {
Packet p = internal::pload1<Packet>(src);
internal::pstoreu<Scalar, Packet>(dst + i, p);
}
- for (Index i = vectorized_size; i < num_coeff_to_copy; ++i) {
+ for (StorageIndex i = vectorized_size; i < num_coeff_to_copy; ++i) {
dst[i] = *src;
}
} else {
// SCATTER
- for (Index i = 0; i < vectorized_size; i += PacketSize) {
+ for (StorageIndex i = 0; i < vectorized_size; i += PacketSize) {
Packet p = internal::pload1<Packet>(src);
internal::pscatter<Scalar, Packet>(dst + i * dst_stride, p, dst_stride);
}
- for (Index i = vectorized_size; i < num_coeff_to_copy; ++i) {
+ for (StorageIndex i = vectorized_size; i < num_coeff_to_copy; ++i) {
dst[i * dst_stride] = *src;
}
}
} else {
if (dst_stride == 1) {
// GATHER
- const Index vectorized_size = (num_coeff_to_copy / PacketSize) * PacketSize;
- for (Index i = 0; i < vectorized_size; i += PacketSize) {
+ const StorageIndex vectorized_size = (num_coeff_to_copy / PacketSize) * PacketSize;
+ for (StorageIndex i = 0; i < vectorized_size; i += PacketSize) {
Packet p = internal::pgather<Scalar, Packet>(src + i * src_stride, src_stride);
internal::pstoreu<Scalar, Packet>(dst + i, p);
}
- for (Index i = vectorized_size; i < num_coeff_to_copy; ++i) {
+ for (StorageIndex i = vectorized_size; i < num_coeff_to_copy; ++i) {
dst[i] = src[i * src_stride];
}
} else {
// RANDOM
- for (Index i = 0; i < num_coeff_to_copy; ++i) {
+ for (StorageIndex i = 0; i < num_coeff_to_copy; ++i) {
dst[i * dst_stride] = src[i * src_stride];
}
}