aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h
diff options
context:
space:
mode:
authorGravatar Eugene Zhulenev <ezhulenev@google.com>2019-11-12 10:12:28 -0800
committerGravatar Eugene Zhulenev <ezhulenev@google.com>2019-11-12 10:12:28 -0800
commit13c3327f5cf829fd9d04a2ab46861e722cd74ca0 (patch)
tree20bd1a5f361023db822298696efbcff7378ab4a7 /unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h
parent71aa53dd6dfdc497324d9e87f59c4ba820191856 (diff)
Remove legacy block evaluation support
Diffstat (limited to 'unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h')
-rw-r--r--unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h55
1 files changed, 0 insertions, 55 deletions
diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h b/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h
index 7f57281a0..77fa32dc7 100644
--- a/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h
+++ b/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h
@@ -93,7 +93,6 @@ struct TensorEvaluator<const TensorGeneratorOp<Generator, ArgType>, Device>
enum {
IsAligned = false,
PacketAccess = (PacketType<CoeffReturnType, Device>::size > 1),
- BlockAccess = true,
BlockAccessV2 = true,
PreferBlockAccess = true,
Layout = TensorEvaluator<ArgType, Device>::Layout,
@@ -183,60 +182,6 @@ struct TensorEvaluator<const TensorGeneratorOp<Generator, ArgType>, Device>
Index count;
};
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void block(
- TensorBlock* output_block) const {
- if (NumDims <= 0) return;
-
- static const bool is_col_major =
- static_cast<int>(Layout) == static_cast<int>(ColMajor);
-
- // Compute spatial coordinates for the first block element.
- array<Index, NumDims> coords;
- extract_coordinates(output_block->first_coeff_index(), coords);
- array<Index, NumDims> initial_coords = coords;
-
- CoeffReturnType* data = output_block->data();
- Index offset = 0;
-
- // Initialize output block iterator state. Dimension in this array are
- // always in inner_most -> outer_most order (col major layout).
- array<BlockIteratorState, NumDims> it;
- for (Index i = 0; i < NumDims; ++i) {
- const Index dim = is_col_major ? i : NumDims - 1 - i;
- it[i].size = output_block->block_sizes()[dim];
- it[i].stride = output_block->block_strides()[dim];
- it[i].span = it[i].stride * (it[i].size - 1);
- it[i].count = 0;
- }
- eigen_assert(it[0].stride == 1);
-
- while (it[NumDims - 1].count < it[NumDims - 1].size) {
- // Generate data for the inner-most dimension.
- for (Index i = 0; i < it[0].size; ++i) {
- *(data + offset + i) = m_generator(coords);
- coords[is_col_major ? 0 : NumDims - 1]++;
- }
- coords[is_col_major ? 0 : NumDims - 1] =
- initial_coords[is_col_major ? 0 : NumDims - 1];
-
- // For the 1d tensor we need to generate only one inner-most dimension.
- if (NumDims == 1) break;
-
- // Update offset.
- for (Index i = 1; i < NumDims; ++i) {
- if (++it[i].count < it[i].size) {
- offset += it[i].stride;
- coords[is_col_major ? i : NumDims - 1 - i]++;
- break;
- }
- if (i != NumDims - 1) it[i].count = 0;
- coords[is_col_major ? i : NumDims - 1 - i] =
- initial_coords[is_col_major ? i : NumDims - 1 - i];
- offset -= it[i].span;
- }
- }
- }
-
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorBlockV2
blockV2(TensorBlockDesc& desc, TensorBlockScratch& scratch,
bool /*root_of_expr_ast*/ = false) const {