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: 8f60c3b6f5e2
Choose a base ref
...
head repository: mockingbirdnest/Principia
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6bb45b8bba72
Choose a head ref
  • 3 commits
  • 1 file changed
  • 1 contributor

Commits on Jan 12, 2020

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    6f92b7d View commit details
  2. Copy the full SHA
    303f01f View commit details
  3. Merge pull request #2442 from pleroy/Clang

    Add "template" in even more places
    pleroy authored Jan 12, 2020
    Copy the full SHA
    6bb45b8 View commit details
Showing with 4 additions and 4 deletions.
  1. +4 −4 physics/euler_solver_body.hpp
8 changes: 4 additions & 4 deletions physics/euler_solver_body.hpp
Original file line number Diff line number Diff line change
@@ -171,7 +171,7 @@ EulerSolver<InertialFrame, PrincipalAxesFrame>::EulerSolver(
ℛ_ = [this, initial_attitude]() -> Rotation<ℬʹ, InertialFrame> {
auto const 𝒴ₜ₀⁻¹ = Rotation<ℬʹ, ℬₜ>::Identity();
auto const 𝒫ₜ₀⁻¹ = Compute𝒫ₜ(initial_angular_momentum_).Inverse();
auto const 𝒮⁻¹ = 𝒮_.Inverse().Forget<Rotation>();
auto const 𝒮⁻¹ = 𝒮_.Inverse().template Forget<Rotation>();

// This ℛ follows the assumptions in the third paragraph of section 2.3
// of [CFSZ07], that is, the inertial frame is identified with the
@@ -380,17 +380,17 @@ EulerSolver<InertialFrame, PrincipalAxesFrame>::AttitudeAt(
case Region::e₁: {
Bivector<double, ℬʹ> const e₁({1, 0, 0});
Rotation<ℬₜ, ℬʹ> const 𝒴ₜ(ψ, e₁, DefinesFrame<ℬₜ>{});
return ℛ_ * 𝒴ₜ * 𝒫ₜ * 𝒮_.Forget<Rotation>();
return ℛ_ * 𝒴ₜ * 𝒫ₜ * 𝒮_.template Forget<Rotation>();
}
case Region::e₃: {
Bivector<double, ℬʹ> const e₃({0, 0, 1});
Rotation<ℬₜ, ℬʹ> const 𝒴ₜ(ψ, e₃, DefinesFrame<ℬₜ>{});
return ℛ_ * 𝒴ₜ * 𝒫ₜ * 𝒮_.Forget<Rotation>();
return ℛ_ * 𝒴ₜ * 𝒫ₜ * 𝒮_.template Forget<Rotation>();
}
case Region::Motionless: {
Bivector<double, ℬʹ> const unused({0, 1, 0});
Rotation<ℬₜ, ℬʹ> const 𝒴ₜ(ψ, unused, DefinesFrame<ℬₜ>{});
return ℛ_ * 𝒴ₜ * 𝒫ₜ * 𝒮_.Forget<Rotation>();
return ℛ_ * 𝒴ₜ * 𝒫ₜ * 𝒮_.template Forget<Rotation>();
}
default:
LOG(FATAL) << "Unexpected region " << static_cast<int>(region_);