| // This file is part of Eigen, a lightweight C++ template library |
| // for linear algebra. |
| // |
| // SPDX-FileCopyrightText: The Eigen Authors |
| // SPDX-License-Identifier: MPL-2.0 |
| |
| #include "main.h" |
| |
| #include <Eigen/Tensor> |
| |
| using DynamicDims = DSizes<Index, 3>; |
| using StaticDims = Sizes<2, 3, 4>; |
| using IndexTuple = internal::IndexTuple<Index, type2index<3>>; |
| using DynamicIndexList = IndexList<Index, type2index<3>>; |
| |
| static_assert(std::is_trivially_destructible<TensorOpCost>::value, "TensorOpCost should have a trivial destructor"); |
| static_assert(std::is_move_constructible<TensorOpCost>::value, "TensorOpCost should be move constructible"); |
| static_assert(std::is_move_constructible<DynamicDims>::value, "DSizes should be move constructible"); |
| static_assert(std::is_trivially_destructible<DynamicDims>::value, "DSizes should have a trivial destructor"); |
| static_assert(std::is_move_constructible<StaticDims>::value, "Sizes should be move constructible"); |
| static_assert(std::is_trivially_destructible<StaticDims>::value, "Sizes should have a trivial destructor"); |
| static_assert(std::is_move_constructible<Pair<int, int>>::value, "Pair should be move constructible"); |
| static_assert(std::is_trivially_destructible<Pair<int, int>>::value, "Pair should have a trivial destructor"); |
| static_assert(std::is_move_constructible<IndexPair<Index>>::value, "IndexPair should be move constructible"); |
| static_assert(std::is_trivially_destructible<IndexPair<Index>>::value, "IndexPair should have a trivial destructor"); |
| static_assert(std::is_move_constructible<IndexTuple>::value, "IndexTuple should be move constructible"); |
| static_assert(std::is_trivially_destructible<IndexTuple>::value, "IndexTuple should have a trivial destructor"); |
| static_assert(std::is_move_constructible<DynamicIndexList>::value, "IndexList should be move constructible"); |
| static_assert(std::is_trivially_destructible<DynamicIndexList>::value, "IndexList should have a trivial destructor"); |
| |
| constexpr TensorOpCost default_cost; |
| static_assert(default_cost.bytes_loaded() == 0.0, "TensorOpCost default bytes_loaded should be zero"); |
| static_assert(default_cost.bytes_stored() == 0.0, "TensorOpCost default bytes_stored should be zero"); |
| static_assert(default_cost.compute_cycles() == 0.0, "TensorOpCost default compute_cycles should be zero"); |
| |
| EIGEN_DECLARE_TEST(tensor_special_members) {} |