45 lines
2.5 KiB
Markdown
45 lines
2.5 KiB
Markdown
# Префиксы
|
||
|
||
Библиотека использует префиксы в названиях типов, констант и функций.
|
||
|
||
Основным префиксом является **BGC** (сокращение от **B**asic **G**eometric
|
||
**C**omputations / Базовые Геометрие Вычисления).
|
||
|
||
Для структур данных префикс имеет вид **Bgc**, например: BgcVector3FP64,
|
||
BgcVersorFP32, BgcMatrix2x2FP32.
|
||
|
||
Константы имеют префикс в виде **BGC_**, например: BGC_EPSYLON_FP32,
|
||
BGC_TWO_PI_FP64.
|
||
|
||
Функции имеют префикс в виде **bgc_**, например: bgc_versor_combine_fp32,
|
||
bgc_matrix3x3_subtract_fp64.
|
||
|
||
Названия констант, типов и функций оканчиваются суффиксом, указывающим на
|
||
базовый тип. Библиотека использует два типа чисел с плавающей запятой:
|
||
**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**:
|
||
BgcVector3FP32, BgcMatrix3x2FP32, BgcQuaternionFP32
|
||
|
||
Типы структур, использующие тип **double** имеют суффикс **FP64**:
|
||
BgcVector2FP64, BgcMatrix2x3FP64, BgcVersorFP64
|
||
|
||
Константы типа **float** имеют суффикс **_FP32**: BGC_PI_FP32, BGC_EPSYLON_FP32.
|
||
|
||
Константы типа **double** имеют суффикс **_FP64**: BGC_HALF_PI_FP64,
|
||
BGC_ONE_THIRD_FP64.
|
||
|
||
Функции, которые работают с данными типа **float** имеют суффикс **_fp32**:
|
||
bcg_vector2_get_modulus_fp32, bgc_radians_to_degrees_fp32.
|
||
|
||
Функции, которые работают с данными типа **double** имеют суффикс **_fp64**:
|
||
bgc_vector3_reset_fp64, bgc_radians_normalize_fp64.
|