diff options
author | Manjunath Kudlur <keveman@gmail.com> | 2015-11-06 16:27:58 -0800 |
---|---|---|
committer | Manjunath Kudlur <keveman@gmail.com> | 2015-11-06 16:27:58 -0800 |
commit | f41959ccb2d9d4c722fe8fc3351401d53bcf4900 (patch) | |
tree | ef0ca22cb2a5ac4bdec9d080d8e0788a53ed496d /third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint |
TensorFlow: Initial commit of TensorFlow library.
TensorFlow is an open source software library for numerical computation
using data flow graphs.
Base CL: 107276108
Diffstat (limited to 'third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint')
-rw-r--r-- | third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint b/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint new file mode 100644 index 0000000000..35b55de46d --- /dev/null +++ b/third_party/eigen3/unsupported/Eigen/CXX11/FixedPoint @@ -0,0 +1,51 @@ +// This file is part of Eigen, a lightweight C++ template library +// for linear algebra. +// +// Copyright (C) 2015 Benoit Steiner <benoit.steiner.goog@gmail.com> +// +// 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_FIXED_POINT_MODULE +#define EIGEN_CXX11_FIXED_POINT_MODULE + +#include <Eigen/Core> +#include <stdint.h> + +/** \defgroup CXX11_FixedPoint_Module Fixed Point Module + * + * This module provides common core features for all modules that + * explicitly depend on C++11. Currently, this is only the Tensor + * module. Note that at this stage, you should not need to include + * this module directly. + * + * It also provides a limited fallback for compilers that don't support + * CXX11 yet, such as nvcc. + * + * \code + * #include <Eigen/CXX11/FixedPoint> + * \endcode + */ + +#include "src/FixedPoint/FixedPointTypes.h" + +// Use optimized implementations whenever available +#ifdef EIGEN_VECTORIZE_AVX2 +#define EIGEN_USE_OPTIMIZED_INT8_UINT8_MAT_MAT_PRODUCT +#include "src/Tensor/TensorContractionThreadPool.h" +#include "src/FixedPoint/PacketMathAVX2.h" +#include "src/FixedPoint/MatMatProductAVX2.h" +#include "src/FixedPoint/TypeCastingAVX2.h" + +#elif defined EIGEN_VECTORIZE_NEON +#define EIGEN_USE_OPTIMIZED_INT8_UINT8_MAT_MAT_PRODUCT +#include "src/FixedPoint/MatMatProductNEON.h" +#endif + +// Use the default implementation when no optimized code is available +#include "src/FixedPoint/MatMatProduct.h" +#include "src/FixedPoint/MatVecProduct.h" + + +#endif // EIGEN_CXX11_FIXED_POINT_MODULE |