/**
 * @file types.h
 * @brief Width-named floating point aliases, to match the `<stdint.h>` spelling.
 *
 * C names its integers by width and its floats by rank, so a struct full of
 * `uint32_t` and `float` reads inconsistently. These are the float spellings the
 * rest of the library uses. They are plain aliases -- no guarantee beyond what
 * the platform's `float` and `double` already provide -- and are deliberately
 * *not* C23's `_Float32`/`_Float64`, which carry IEEE-754 requirements this
 * library does not need.
 */

#ifndef _AKGL_TYPES_H_
#define _AKGL_TYPES_H_

#include <stdint.h>

/** @brief Single-precision float. Positions, velocities, and scale factors. */
typedef float float32_t;
/** @brief Double-precision float. The physics backend keeps its drag and gravity constants at this width. */
typedef double float64_t;

#endif // _AKGL_TYPES_H_
