ad_physics
Functions
PhysicsOperation.hpp File Reference
#include "ad/physics/Types.hpp"
Include dependency graph for PhysicsOperation.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

ad::physics::Speed operator* (ad::physics::Acceleration const &a, ad::physics::Duration const &t)
 Arithmetic physics operation v = a * t. More...
 
ad::physics::Distance operator* (ad::physics::Acceleration const &a, ad::physics::DurationSquared const &t2)
 Arithmetic physics operation s = a * t^2. More...
 
ad::physics::SpeedSquared operator* (ad::physics::Acceleration const &a, ad::physics::Distance const &s)
 Arithmetic physics operation v^2 = a * s. More...
 
ad::physics::Speed operator* (ad::physics::Duration const &t, ad::physics::Acceleration const &a)
 Arithmetic physics operation v = t * a. More...
 
ad::physics::Distance operator* (ad::physics::Speed const &v, ad::physics::Duration const &t)
 Arithmetic physics operation s = v * t. More...
 
ad::physics::Distance operator* (ad::physics::Duration const &t, ad::physics::Speed const &v)
 Arithmetic physics operation s = t * v. More...
 
ad::physics::Duration operator/ (ad::physics::Distance const &s, ad::physics::Speed const &v)
 Arithmetic physics operation t = s / v. More...
 
ad::physics::Duration operator/ (ad::physics::Speed const &v, ad::physics::Acceleration const &a)
 Arithmetic physics operation t = v / a. More...
 
ad::physics::Acceleration operator/ (ad::physics::Speed const &v, ad::physics::Duration const &t)
 Arithmetic physics operation a = v / t. More...
 
ad::physics::Distance operator/ (ad::physics::SpeedSquared const &v2, ad::physics::Acceleration const &a)
 Arithmetic physics operation s = v^2 / a. More...
 
ad::physics::DurationSquared operator/ (ad::physics::Distance const &s, ad::physics::Acceleration const &a)
 Arithmetic physics operation t^2 = s / a. More...
 

Function Documentation

◆ operator*() [1/6]

ad::physics::SpeedSquared operator* ( ad::physics::Acceleration const &  a,
ad::physics::Distance const &  s 
)
inline

Arithmetic physics operation v^2 = a * s.

Parameters
[in]aacceleration value
[in]sdistance value
Returns
v2 = a * s as speed squared value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator*() [2/6]

ad::physics::Speed operator* ( ad::physics::Acceleration const &  a,
ad::physics::Duration const &  t 
)
inline

Arithmetic physics operation v = a * t.

Parameters
[in]aacceleration value
[in]tduration value
Returns
v = a * t as speed value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator*() [3/6]

ad::physics::Distance operator* ( ad::physics::Acceleration const &  a,
ad::physics::DurationSquared const &  t2 
)
inline

Arithmetic physics operation s = a * t^2.

Parameters
[in]aacceleration value
[in]t2duration squared value
Returns
s = a * t2 as distance value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator*() [4/6]

ad::physics::Speed operator* ( ad::physics::Duration const &  t,
ad::physics::Acceleration const &  a 
)
inline

Arithmetic physics operation v = t * a.

Parameters
[in]tduration value
[in]aacceleration value
Returns
v = a * t as speed value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator*() [5/6]

ad::physics::Distance operator* ( ad::physics::Duration const &  t,
ad::physics::Speed const &  v 
)
inline

Arithmetic physics operation s = t * v.

Parameters
[in]tduration value
[in]vspeed value
Returns
s = v * t as distance value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator*() [6/6]

ad::physics::Distance operator* ( ad::physics::Speed const &  v,
ad::physics::Duration const &  t 
)
inline

Arithmetic physics operation s = v * t.

Parameters
[in]vspeed value
[in]tduration value
Returns
s = v * t as distance value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid

◆ operator/() [1/5]

ad::physics::DurationSquared operator/ ( ad::physics::Distance const &  s,
ad::physics::Acceleration const &  a 
)
inline

Arithmetic physics operation t^2 = s / a.

Parameters
[in]sdistance value
[in]aacceleration value
Returns
t^2 = s / a as squared duration value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid or if the divisor is zero

◆ operator/() [2/5]

ad::physics::Duration operator/ ( ad::physics::Distance const &  s,
ad::physics::Speed const &  v 
)
inline

Arithmetic physics operation t = s / v.

Parameters
[in]sdistance value
[in]vspeed value
Returns
t = s / v as duration value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid or if the divisor is zero

◆ operator/() [3/5]

ad::physics::Duration operator/ ( ad::physics::Speed const &  v,
ad::physics::Acceleration const &  a 
)
inline

Arithmetic physics operation t = v / a.

Parameters
[in]vspeed value
[in]aacceleration value
Returns
t = v / a as duration value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid or if the divisor is zero

◆ operator/() [4/5]

ad::physics::Acceleration operator/ ( ad::physics::Speed const &  v,
ad::physics::Duration const &  t 
)
inline

Arithmetic physics operation a = v / t.

Parameters
[in]vspeed value
[in]tduration value
Returns
a = v / t as acceleration value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid or if the divisor is zero

◆ operator/() [5/5]

ad::physics::Distance operator/ ( ad::physics::SpeedSquared const &  v2,
ad::physics::Acceleration const &  a 
)
inline

Arithmetic physics operation s = v^2 / a.

Parameters
[in]v2squared speed value
[in]aacceleration value
Returns
s = v^2 / a as distance value
Note
throws a std::out_of_range exception if one of the two operands or the result of the operation is not valid or if the divisor is zero