1// This file is part of Eigen, a lightweight C++ template library 2// for linear algebra. 3// 4// Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com> 5// Copyright (C) 2013 Christian Seiler <christian@iwakd.de> 6// 7// This Source Code Form is subject to the terms of the Mozilla 8// Public License v. 2.0. If a copy of the MPL was not distributed 9// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 11//#ifndef EIGEN_CXX11_TENSOR_MODULE 12//#define EIGEN_CXX11_TENSOR_MODULE 13 14#include "../../../Eigen/Core" 15 16#ifdef EIGEN_USE_SYCL 17#undef min 18#undef max 19#undef isnan 20#undef isinf 21#undef isfinite 22#include <SYCL/sycl.hpp> 23#include <map> 24#include <memory> 25#include <utility> 26#endif 27 28#include <Eigen/src/Core/util/DisableStupidWarnings.h> 29 30#include "../SpecialFunctions" 31#include "src/util/CXX11Meta.h" 32#include "src/util/MaxSizeVector.h" 33 34/** \defgroup CXX11_Tensor_Module Tensor Module 35 * 36 * This module provides a Tensor class for storing arbitrarily indexed 37 * objects. 38 * 39 * \code 40 * #include <Eigen/CXX11/Tensor> 41 * \endcode 42 */ 43 44#include <cmath> 45#include <cstddef> 46#include <cstring> 47 48#ifdef _WIN32 49typedef __int16 int16_t; 50typedef unsigned __int16 uint16_t; 51typedef __int32 int32_t; 52typedef unsigned __int32 uint32_t; 53typedef __int64 int64_t; 54typedef unsigned __int64 uint64_t; 55#else 56#include <stdint.h> 57#endif 58 59#if __cplusplus > 199711 || EIGEN_COMP_MSVC >= 1900 60#include <random> 61#endif 62 63#ifdef _WIN32 64#include <windows.h> 65#elif defined(__APPLE__) 66#include <mach/mach_time.h> 67#else 68#include <time.h> 69#endif 70 71#ifdef EIGEN_USE_THREADS 72#include "ThreadPool" 73#endif 74 75#ifdef EIGEN_USE_GPU 76#include <iostream> 77#include <cuda_runtime.h> 78#if __cplusplus >= 201103L 79#include <atomic> 80#include <unistd.h> 81#endif 82#endif 83 84#include "src/Tensor/TensorMacros.h" 85#include "src/Tensor/TensorForwardDeclarations.h" 86#include "src/Tensor/TensorMeta.h" 87#include "src/Tensor/TensorFunctors.h" 88#include "src/Tensor/TensorCostModel.h" 89#include "src/Tensor/TensorDeviceDefault.h" 90#include "src/Tensor/TensorDeviceThreadPool.h" 91#include "src/Tensor/TensorDeviceCuda.h" 92#include "src/Tensor/TensorDeviceSycl.h" 93#include "src/Tensor/TensorIndexList.h" 94#include "src/Tensor/TensorDimensionList.h" 95#include "src/Tensor/TensorDimensions.h" 96#include "src/Tensor/TensorInitializer.h" 97#include "src/Tensor/TensorTraits.h" 98#include "src/Tensor/TensorRandom.h" 99#include "src/Tensor/TensorUInt128.h" 100#include "src/Tensor/TensorIntDiv.h" 101#include "src/Tensor/TensorGlobalFunctions.h" 102 103#include "src/Tensor/TensorBase.h" 104 105#include "src/Tensor/TensorEvaluator.h" 106#include "src/Tensor/TensorExpr.h" 107#include "src/Tensor/TensorReduction.h" 108#include "src/Tensor/TensorReductionCuda.h" 109#include "src/Tensor/TensorArgMax.h" 110#include "src/Tensor/TensorConcatenation.h" 111#include "src/Tensor/TensorContractionMapper.h" 112#include "src/Tensor/TensorContractionBlocking.h" 113#include "src/Tensor/TensorContraction.h" 114#include "src/Tensor/TensorContractionThreadPool.h" 115#include "src/Tensor/TensorContractionCuda.h" 116#include "src/Tensor/TensorConversion.h" 117#include "src/Tensor/TensorConvolution.h" 118#include "src/Tensor/TensorFFT.h" 119#include "src/Tensor/TensorPatch.h" 120#include "src/Tensor/TensorImagePatch.h" 121#include "src/Tensor/TensorVolumePatch.h" 122#include "src/Tensor/TensorBroadcasting.h" 123#include "src/Tensor/TensorChipping.h" 124#include "src/Tensor/TensorInflation.h" 125#include "src/Tensor/TensorLayoutSwap.h" 126#include "src/Tensor/TensorMorphing.h" 127#include "src/Tensor/TensorPadding.h" 128#include "src/Tensor/TensorReverse.h" 129#include "src/Tensor/TensorShuffling.h" 130#include "src/Tensor/TensorStriding.h" 131#include "src/Tensor/TensorCustomOp.h" 132#include "src/Tensor/TensorEvalTo.h" 133#include "src/Tensor/TensorForcedEval.h" 134#include "src/Tensor/TensorGenerator.h" 135#include "src/Tensor/TensorAssign.h" 136#include "src/Tensor/TensorScan.h" 137 138#include "src/Tensor/TensorSycl.h" 139#include "src/Tensor/TensorExecutor.h" 140#include "src/Tensor/TensorDevice.h" 141 142#include "src/Tensor/TensorStorage.h" 143#include "src/Tensor/Tensor.h" 144#include "src/Tensor/TensorFixedSize.h" 145#include "src/Tensor/TensorMap.h" 146#include "src/Tensor/TensorRef.h" 147 148#include "src/Tensor/TensorIO.h" 149 150#include <Eigen/src/Core/util/ReenableStupidWarnings.h> 151 152//#endif // EIGEN_CXX11_TENSOR_MODULE 153