bgc-c/basic-geometry/angle.c

67 lines
3.5 KiB
C

#include "utilities.h"
#include "angle.h"
// !================= Radians ==================! //
extern inline float bgc_radians_to_degrees_fp32(const float radians);
extern inline double bgc_radians_to_degrees_fp64(const double radians);
extern inline float bgc_radians_to_turns_fp32(const float radians);
extern inline double bgc_radians_to_turns_fp64(const double radians);
extern inline float bgc_radians_to_units_fp32(const float radians, const BgcAngleUnitEnum to_unit);
extern inline double bgc_radians_to_units_fp64(const double radians, const BgcAngleUnitEnum to_unit);
extern inline float bgc_radians_normalize_fp32(const float radians, const BgcAngleRangeEnum range);
extern inline double bgc_radians_normalize_fp64(const double radians, const BgcAngleRangeEnum range);
// !================= Degrees ==================! //
extern inline float bgc_degrees_to_radians_fp32(const float degrees);
extern inline double bgc_degrees_to_radians_fp64(const double degrees);
extern inline float bgc_degrees_to_turns_fp32(const float radians);
extern inline double bgc_degrees_to_turns_fp64(const double radians);
extern inline float bgc_degrees_to_units_fp32(const float degrees, const BgcAngleUnitEnum to_unit);
extern inline double bgc_degrees_to_units_fp64(const double degrees, const BgcAngleUnitEnum to_unit);
extern inline float bgc_degrees_normalize_fp32(const float degrees, const BgcAngleRangeEnum range);
extern inline double bgc_degrees_normalize_fp64(const double degrees, const BgcAngleRangeEnum range);
// !================== Turns ===================! //
extern inline float bgc_turns_to_radians_fp32(const float turns);
extern inline double bgc_turns_to_radians_fp64(const double turns);
extern inline float bgc_turns_to_degrees_fp32(const float turns);
extern inline double bgc_turns_to_degrees_fp64(const double turns);
extern inline float bgc_turns_to_units_fp32(const float turns, const BgcAngleUnitEnum to_unit);
extern inline double bgc_turns_to_units_fp64(const double turns, const BgcAngleUnitEnum to_unit);
extern inline float bgc_turns_normalize_fp32(const float turns, const BgcAngleRangeEnum range);
extern inline double bgc_turns_normalize_fp64(const double turns, const BgcAngleRangeEnum range);
// !================== Angle ===================! //
extern inline float bgc_angle_to_radians_fp32(const float angle, const BgcAngleUnitEnum unit);
extern inline double bgc_angle_to_radians_fp64(const double angle, const BgcAngleUnitEnum unit);
extern inline float bgc_angle_to_degrees_fp32(const float angle, const BgcAngleUnitEnum unit);
extern inline double bgc_angle_to_degrees_fp64(const double angle, const BgcAngleUnitEnum unit);
extern inline float bgc_angle_to_turns_fp32(const float angle, const BgcAngleUnitEnum unit);
extern inline double bgc_angle_to_turns_fp64(const double angle, const BgcAngleUnitEnum unit);
extern inline float bgc_angle_get_full_circle_fp32(const BgcAngleUnitEnum unit);
extern inline double bgc_angle_get_full_circle_fp64(const BgcAngleUnitEnum unit);
extern inline float bgc_angle_get_half_circle_fp32(const BgcAngleUnitEnum unit);
extern inline double bgc_angle_get_half_circle_fp64(const BgcAngleUnitEnum unit);
extern inline float bgc_angle_get_quater_circle_fp32(const BgcAngleUnitEnum unit);
extern inline double bgc_angle_get_quater_circle_fp64(const BgcAngleUnitEnum unit);
extern inline float bgc_angle_normalize_fp32(const float angle, const BgcAngleUnitEnum unit, const BgcAngleRangeEnum range);
extern inline double bgc_angle_normalize_fp64(const double angle, const BgcAngleUnitEnum unit, const BgcAngleRangeEnum range);