bgc-c/basic-geometry/angle.c

61 lines
3 KiB
C

#include "utilities.h"
#include "angle.h"
// !================= Radians ==================! //
extern inline float bgc_fp32_radians_to_degrees(const float radians);
extern inline double bgc_fp64_radians_to_degrees(const double radians);
extern inline float bgc_fp32_radians_to_turns(const float radians);
extern inline double bgc_fp64_radians_to_turns(const double radians);
extern inline float bgc_fp32_radians_to_units(const float radians, const int angle_unit);
extern inline double bgc_fp64_radians_to_units(const double radians, const int angle_unit);
extern inline float bgc_fp32_normalize_radians(const float radians, const int angle_range);
extern inline double bgc_fp64_normalize_radians(const double radians, const int angle_range);
// !================= Degrees ==================! //
extern inline float bgc_fp32_degrees_to_radians(const float degrees);
extern inline double bgc_fp64_degrees_to_radians(const double degrees);
extern inline float bgc_fp32_degrees_to_turns(const float radians);
extern inline double bgc_fp64_degrees_to_turns(const double radians);
extern inline float bgc_fp32_degrees_to_units(const float degrees, const int angle_unit);
extern inline double bgc_fp64_degrees_to_units(const double degrees, const int angle_unit);
extern inline float bgc_fp32_normalize_degrees(const float degrees, const int angle_range);
extern inline double bgc_fp64_degrees_normalize(const double degrees, const int angle_range);
// !================== Turns ===================! //
extern inline float bgc_fp32_turns_to_radians(const float turns);
extern inline double bgc_fp64_turns_to_radians(const double turns);
extern inline float bgc_fp32_turns_to_degrees(const float turns);
extern inline double bgc_fp64_turns_to_degrees(const double turns);
extern inline float bgc_fp32_turns_to_units(const float turns, const int angle_unit);
extern inline double bgc_fp64_turns_to_units(const double turns, const int angle_unit);
extern inline float bgc_fp32_normalize_turns(const float turns, const int angle_range);
extern inline double bgc_fp64_normalize_turns(const double turns, const int angle_range);
// !================== Angle ===================! //
extern inline float bgc_fp32_angle_to_radians(const float angle, const int angle_unit);
extern inline double bgc_fp64_angle_to_radians(const double angle, const int angle_unit);
extern inline float bgc_fp32_angle_to_degrees(const float angle, const int angle_unit);
extern inline double bgc_fp64_angle_to_degrees(const double angle, const int angle_unit);
extern inline float bgc_fp32_angle_to_turns(const float angle, const int angle_unit);
extern inline double bgc_fp64_angle_to_turns(const double angle, const int angle_unit);
extern inline float bgc_fp32_full_circle(const int angle_unit);
extern inline double bgc_fp64_full_circle(const int angle_unit);
extern inline float bgc_fp32_normalize_angle(const float angle, const int angle_unit, const int angle_range);
extern inline double bgc_fp64_normalize_angle(const double angle, const int angle_unit, const int angle_range);