7#define FUNC [[nodiscard]] inline
16 return sqrt(a*a + b*b);
70 return 0.5 * (b1 + b2) * h;
76 return constant::tau * r;
82 return c / constant::tau;
88 return constant::pi * r * r;
100 return constant::pi * a * b;
112 return 2.0 *
square(b) / a;
116 FUNC length
distance(
const length x1,
const length y1,
const length x2,
const length y2)
118 const length dx = x2 - x1;
119 const length dy = y2 - y1;
120 return sqrt((dx * dx) + (dy * dy));
140 return constant::tau * r * (r + h);
146 return constant::pi *
square(r) * h;
152 return constant::pi * r * (r + h);
158 return (1./3.) * constant::pi *
square(r) * h;
164 return 4. * constant::pi *
square(r);
170 return (4. / 3.) * constant::pi * r * r * r;
190 return 0.5 * m *
square(v);
196 return sqrt((2. * height) / gravity);
202 return (
square(v0) -
square(v1)) / (2.0 * deceleration);
220 return delta_v / delta_t;
228 return v / (constant::tau * r) * 60_s;
234 return constant::tau * r * (RPM / 60_s);
240 return wheelbase /
sin(steering_angle) + tire_width / 2.0;
246 return (v1 - v0) / (t * constant::Earth_gravity);
254 return sqrt((2.0 * lift_force) / (lift_coefficient * wing_surface * air_density));
260 return 0.5 * air_density *
square(true_air_speed) * wing_surface * lift_coefficient;
266 return v / speed_of_sound;
290 return sin(climb_angle) * ground_speed;
296 return (ground_speed * ground_speed) / (constant::Earth_gravity *
tan(bank_angle));
304 return m * h * gravity;
310 return (constant::G * m1 * m2) /
square(d);
316 return sqrt((2.0 * constant::G * M) / r);
322 return (Re - Rp) / Re;
328 auto IGF = 9.780327_m_per_s² * (1.0 + 0.0053024 *
sin2(lat) - 0.0000058 *
sin2(2.0 * lat));
329 auto FAC = -3.086e-6_m_per_s² * meters(h);
336 return (2.0 * constant::G * M) /
square(constant::c);
348 FUNC electric_potential
sine_wave(
const electric_potential V0,
const frequency f,
const SI::time t)
350 return V0 *
sin(constant::tau * f * t);
356 double adiabatic_index = 1.4;
357 auto M = 0.0289645_kg_per_mol;
358 return sqrt((adiabatic_index * constant::R * T) / M);
364 return 0.5 * p * (u * u) * cd * A;
370 return std::pow(std::pow(2., 1. / 12.), note - reference_note) * reference_frequency;
375 return s0 + v0 * t + 0.5 * a * t * t;
387 auto air_celsius = celsius(air_temperature);
388 return celsius(13.12 + 0.6215 * air_celsius
389 + (0.3965 * air_celsius - 11.37) * std::pow(wind_speed / 1_km_per_h, 0.16));
395 if (altitude <= 11_km)
397 if (altitude <= 20_km)
399 if (altitude <= 32_km)
401 if (altitude <= 37_km)
403 if (altitude <= 51_km)
405 if (altitude <= 71_km)
413 return air_pressure / (constant::R_dry_air * air_temperature);
437 return (w /
square(h)) / 1_kg_per_m²;
449 return power_of_sound_source / (4.0 * constant::pi *
square(distance_from_sound_source));
456 return h +
square(v0 *
sin(a)) / (2.0 * g);
483 return meters_per_second(0);
484 velocity minimum = arr[0];
485 for (
int i = 1; i < n; ++i)
486 if (arr[i] < minimum)
495 return meters_per_second(0);
496 velocity maximum = arr[0];
497 for (
int i = 1; i < n; ++i)
498 if (arr[i] > maximum)
507 return meters_per_second(0);
508 velocity sum = meters_per_second(0);
509 for (
int i = 0; i < n; ++i)
517 velocity sum = meters_per_second(0);
518 for (
int i = 0; i < n; ++i)
526 angle dLat = lat1 - lat2;
527 angle dLong = long1 - long2;
532 return c * 6371.0088_km;
Defines 77 type-safe constants, e.g. speed_of_light_in_vacuum.
Definition constants.h:12
SI_INLINE angle sin(angle a)
Calculates the sinus of an angle (a).
Definition units.h:145
double dimensionless
to hold a quantity without any unit, e.g. 42
Definition datatypes.h:18
SI_INLINE angle cos(angle a)
Calculates the cosinus of an angle (a).
Definition units.h:151
SI_INLINE angle sqrt(angle a)
Definition units.h:180
SI_INLINE angle tan(angle a)
Calculates the tangens of an angle (a).
Definition units.h:157
SI_INLINE angle sin2(angle x)
Calculates sin²x.
Definition units.h:169
angle radians
basic unit of radians for angle
Definition internal.h:15
SI_INLINE angle atan2(angle y, angle x)
Calculates the atangens of two angles.
Definition units.h:163
long double angle
basic datatype to hold a dimensionless angle, e.g. 3.1415
Definition internal.h:14
SI_INLINE_CONSTEXPR auto square(T x)
Raise any number <x> to power of 2 (x² or x*x).
Definition units.h:192