Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mockingbirdnest/Principia
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 94122058bd40
Choose a base ref
...
head repository: mockingbirdnest/Principia
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 26d9ed251c25
Choose a head ref
  • 2 commits
  • 1 file changed
  • 1 contributor

Commits on Sep 28, 2020

  1. Attempt to fix the SFINAE

    eggrobin committed Sep 28, 2020
    Copy the full SHA
    f469dab View commit details
  2. Merge pull request #2740 from eggrobin/fourier

    Attempt to fix the SFINAE
    eggrobin authored Sep 28, 2020
    Copy the full SHA
    26d9ed2 View commit details
Showing with 8 additions and 8 deletions.
  1. +8 −8 geometry/cartesian_product_body.hpp
16 changes: 8 additions & 8 deletions geometry/cartesian_product_body.hpp
Original file line number Diff line number Diff line change
@@ -146,11 +146,11 @@ class CartesianProductVectorSpace<Scalar, Tuple,
Tuple const& left,
Scalar const& right);

// SFINAEd out unless the division is defined.
template<typename TupleQuotient = Apply<Quotient, Tuple>>
FORCE_INLINE(static constexpr) TupleQuotient Divide(
Tuple const& left,
Scalar const& right);
// The templatization SFINAEs out this operator unless the division is
// defined.
template<typename T = Tuple>
FORCE_INLINE(static constexpr)
Apply<Quotient, T> Divide(Tuple const& left, Scalar const& right);
};

template<typename Scalar, typename Tuple, std::size_t... indices>
@@ -172,10 +172,10 @@ constexpr auto CartesianProductVectorSpace<
}

template<typename Scalar, typename Tuple, std::size_t... indices>
template<typename TupleQuotient>
constexpr TupleQuotient
template<typename T>
constexpr auto
CartesianProductVectorSpace<Scalar, Tuple, std::index_sequence<indices...>>::
Divide(Tuple const& left, Scalar const& right) {
Divide(Tuple const& left, Scalar const& right) -> Apply<Quotient, T> {
return {std::get<indices>(left) / right...};
}