45 lines
2.4 KiB
Markdown
45 lines
2.4 KiB
Markdown
# Префиксы
|
||
|
||
Библиотека использует префиксы в названиях типов, констант и функций.
|
||
|
||
Основным префиксом является **BG** (сокращение от **B**asic **G**eometry / Базовая
|
||
Геометрия).
|
||
|
||
Для структур данных префикс имеет вид **Bg**, например: BgFP64Vector3,
|
||
BgFP32Versor, BgFP32Matrix2x2.
|
||
|
||
Константы имеют префикс в виде **BG_**, например: BG_FP32_EPSYLON,
|
||
BG_FP64_TWO_PI.
|
||
|
||
Функции имеют префикс в виде **bg_**, например: bg_fp32_versor_combine,
|
||
bg_fp64_matrix3x3_subtract.
|
||
|
||
Сразу после префикса библиотеки идёт префикс типа. Библиотека использует
|
||
два типа чисел с плавающей запятой: **float** и **double** (типы **binary32**
|
||
и **binary64** стандарта **IEEE 754**).
|
||
|
||
Поэтому в библиотеке есть два префикса типа:
|
||
|
||
* **FP32** - означает **F**loating **P**oint **32** bit, то есть, число с
|
||
плавающей запятой, 32 бита, что соответствует типу float языка Си.
|
||
|
||
* **FP64** - означает **F**loating **P**oint **64** bit, то есть, число с
|
||
плавающей запятой, 64 бита, что соответствует типу double языка Си.
|
||
|
||
Типы структур, использующие тип **float** имеют префикс типа в виде **FP32**:
|
||
BgFP32Vector3, BgFP32Matrix3x2, BgFP32Quaternion
|
||
|
||
Типы структур, использующие тип **double** имеют префикс типа в виде **FP64**:
|
||
BgFP64Vector2, BgFP64Matrix2x3, BgFP64Versor
|
||
|
||
Константы типа **float** имеют префикс типа в виде **FP32_**: BG_FP32_PI,
|
||
BG_FP32_EPSYLON.
|
||
|
||
Константы типа **double** имеют префикс типа в виде **FP64_**: BG_FP64_HALF_PI,
|
||
BG_FP64_ONE_THIRD.
|
||
|
||
Функции, которые работают с данными типа **float** имеют префикс **fp32_**:
|
||
bg_fp32_vector2_get_module, bg_fp32_radians_to_degrees.
|
||
|
||
Функции, которые работают с данными типа **double** имеют префикс **fp64_**:
|
||
bg_fp64_vector3_reset, bg_fp64_radians_normalize.
|