155 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			155 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // This file is part of Eigen, a lightweight C++ template library
 | |
| // for linear algebra.
 | |
| //
 | |
| // Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
 | |
| // Copyright (C) 2013 Christian Seiler <christian@iwakd.de>
 | |
| //
 | |
| // This Source Code Form is subject to the terms of the Mozilla
 | |
| // Public License v. 2.0. If a copy of the MPL was not distributed
 | |
| // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | |
| 
 | |
| //#ifndef EIGEN_CXX11_TENSOR_MODULE
 | |
| //#define EIGEN_CXX11_TENSOR_MODULE
 | |
| 
 | |
| #include "../../../Eigen/Core"
 | |
| 
 | |
| #ifdef EIGEN_USE_SYCL
 | |
| #undef min
 | |
| #undef max
 | |
| #undef isnan
 | |
| #undef isinf
 | |
| #undef isfinite
 | |
| #include <SYCL/sycl.hpp>
 | |
| #include <map>
 | |
| #include <memory>
 | |
| #include <utility>
 | |
| #endif
 | |
| 
 | |
| #include <Eigen/src/Core/util/DisableStupidWarnings.h>
 | |
| 
 | |
| #include "../SpecialFunctions"
 | |
| #include "src/util/CXX11Meta.h"
 | |
| #include "src/util/MaxSizeVector.h"
 | |
| 
 | |
| /** \defgroup CXX11_Tensor_Module Tensor Module
 | |
|   *
 | |
|   * This module provides a Tensor class for storing arbitrarily indexed
 | |
|   * objects.
 | |
|   *
 | |
|   * \code
 | |
|   * #include <Eigen/CXX11/Tensor>
 | |
|   * \endcode
 | |
|   *
 | |
|   * Much of the documentation can be found \ref eigen_tensors "here".
 | |
|   */
 | |
| 
 | |
| #include <cmath>
 | |
| #include <cstddef>
 | |
| #include <cstring>
 | |
| 
 | |
| #ifdef _WIN32
 | |
| typedef __int16 int16_t;
 | |
| typedef unsigned __int16 uint16_t;
 | |
| typedef __int32 int32_t;
 | |
| typedef unsigned __int32 uint32_t;
 | |
| typedef __int64 int64_t;
 | |
| typedef unsigned __int64 uint64_t;
 | |
| #else
 | |
| #include <stdint.h>
 | |
| #endif
 | |
| 
 | |
| #if __cplusplus > 199711 || EIGEN_COMP_MSVC >= 1900
 | |
| #include <random>
 | |
| #endif
 | |
| 
 | |
| #ifdef _WIN32
 | |
| #include <windows.h>
 | |
| #elif defined(__APPLE__)
 | |
| #include <mach/mach_time.h>
 | |
| #else
 | |
| #include <time.h>
 | |
| #endif
 | |
| 
 | |
| #ifdef EIGEN_USE_THREADS
 | |
| #include "ThreadPool"
 | |
| #endif
 | |
| 
 | |
| #ifdef EIGEN_USE_GPU
 | |
| #include <iostream>
 | |
| #include <cuda_runtime.h>
 | |
| #if __cplusplus >= 201103L
 | |
| #include <atomic>
 | |
| #include <unistd.h>
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #include "src/Tensor/TensorMacros.h"
 | |
| #include "src/Tensor/TensorForwardDeclarations.h"
 | |
| #include "src/Tensor/TensorMeta.h"
 | |
| #include "src/Tensor/TensorFunctors.h"
 | |
| #include "src/Tensor/TensorCostModel.h"
 | |
| #include "src/Tensor/TensorDeviceDefault.h"
 | |
| #include "src/Tensor/TensorDeviceThreadPool.h"
 | |
| #include "src/Tensor/TensorDeviceCuda.h"
 | |
| #include "src/Tensor/TensorDeviceSycl.h"
 | |
| #include "src/Tensor/TensorIndexList.h"
 | |
| #include "src/Tensor/TensorDimensionList.h"
 | |
| #include "src/Tensor/TensorDimensions.h"
 | |
| #include "src/Tensor/TensorInitializer.h"
 | |
| #include "src/Tensor/TensorTraits.h"
 | |
| #include "src/Tensor/TensorRandom.h"
 | |
| #include "src/Tensor/TensorUInt128.h"
 | |
| #include "src/Tensor/TensorIntDiv.h"
 | |
| #include "src/Tensor/TensorGlobalFunctions.h"
 | |
| 
 | |
| #include "src/Tensor/TensorBase.h"
 | |
| 
 | |
| #include "src/Tensor/TensorEvaluator.h"
 | |
| #include "src/Tensor/TensorExpr.h"
 | |
| #include "src/Tensor/TensorReduction.h"
 | |
| #include "src/Tensor/TensorReductionCuda.h"
 | |
| #include "src/Tensor/TensorArgMax.h"
 | |
| #include "src/Tensor/TensorConcatenation.h"
 | |
| #include "src/Tensor/TensorContractionMapper.h"
 | |
| #include "src/Tensor/TensorContractionBlocking.h"
 | |
| #include "src/Tensor/TensorContraction.h"
 | |
| #include "src/Tensor/TensorContractionThreadPool.h"
 | |
| #include "src/Tensor/TensorContractionCuda.h"
 | |
| #include "src/Tensor/TensorConversion.h"
 | |
| #include "src/Tensor/TensorConvolution.h"
 | |
| #include "src/Tensor/TensorFFT.h"
 | |
| #include "src/Tensor/TensorPatch.h"
 | |
| #include "src/Tensor/TensorImagePatch.h"
 | |
| #include "src/Tensor/TensorVolumePatch.h"
 | |
| #include "src/Tensor/TensorBroadcasting.h"
 | |
| #include "src/Tensor/TensorChipping.h"
 | |
| #include "src/Tensor/TensorInflation.h"
 | |
| #include "src/Tensor/TensorLayoutSwap.h"
 | |
| #include "src/Tensor/TensorMorphing.h"
 | |
| #include "src/Tensor/TensorPadding.h"
 | |
| #include "src/Tensor/TensorReverse.h"
 | |
| #include "src/Tensor/TensorShuffling.h"
 | |
| #include "src/Tensor/TensorStriding.h"
 | |
| #include "src/Tensor/TensorCustomOp.h"
 | |
| #include "src/Tensor/TensorEvalTo.h"
 | |
| #include "src/Tensor/TensorForcedEval.h"
 | |
| #include "src/Tensor/TensorGenerator.h"
 | |
| #include "src/Tensor/TensorAssign.h"
 | |
| #include "src/Tensor/TensorScan.h"
 | |
| 
 | |
| #include "src/Tensor/TensorSycl.h"
 | |
| #include "src/Tensor/TensorExecutor.h"
 | |
| #include "src/Tensor/TensorDevice.h"
 | |
| 
 | |
| #include "src/Tensor/TensorStorage.h"
 | |
| #include "src/Tensor/Tensor.h"
 | |
| #include "src/Tensor/TensorFixedSize.h"
 | |
| #include "src/Tensor/TensorMap.h"
 | |
| #include "src/Tensor/TensorRef.h"
 | |
| 
 | |
| #include "src/Tensor/TensorIO.h"
 | |
| 
 | |
| #include <Eigen/src/Core/util/ReenableStupidWarnings.h>
 | |
| 
 | |
| //#endif // EIGEN_CXX11_TENSOR_MODULE
 |