Актуализация документации по проекту
This commit is contained in:
parent
ed404690ed
commit
8ba075b557
16 changed files with 279 additions and 222 deletions
|
|
@ -4,51 +4,66 @@
|
|||
|
||||
## Особенности наименования
|
||||
|
||||
### Префиксы
|
||||
В языке программирования C (Си) нет пространств имён, потому роль пространств имён играют префиксы в названиях.
|
||||
|
||||
В языке программирования C (Си) нет пространств имён, потому роль пространств
|
||||
имён играют префиксы в названиях.
|
||||
Библиотека использует префиксы в названиях типов, констант и функций для того, чтобы избежать конфликтов в названиях констант, типов и функций с другими библиотеками.
|
||||
|
||||
Библиотека использует префиксы в названиях типов, констант и функций для
|
||||
того, чтобы избежать конфликтов в названиях констант, типов и функций с другими
|
||||
библиотеками.
|
||||
### Префикс библиотеки (основной префикс)
|
||||
|
||||
Основным префиксом является **BGC** (сокращение от **B**asic **G**eometric
|
||||
**C**omputations / Базовые Геометрие Вычисления).
|
||||
Основным префиксом является **BGC** (сокращение от **B**asic **G**eometric **C**omputations, что можно перевести как "Базовые Геометрие Вычисления").
|
||||
|
||||
Для констант и структур данных префикс имеет вид **BGC_**, например:
|
||||
BGC_FP64_Vector3, BGC_FP32_Quaternion, BGC_FP32_Matrix2x2, BGC_FP32_EPSILON,
|
||||
BGC_FP64_TWO_PI.
|
||||
Для констант и структур данных префикс имеет вид **BGC_**
|
||||
|
||||
Функции имеют префикс в виде **bgc_**, например: bgc_fp32_turn3_combine,
|
||||
bgc_fp64_matrix3x3_subtract.
|
||||
Например, структуры:
|
||||
- BGC_FP64_Vector3
|
||||
- BGC_FP32_Quaternion
|
||||
- BGC_FP32_Matrix2x2
|
||||
|
||||
Константы:
|
||||
- BGC_FP32_EPSILON
|
||||
- BGC_FP64_TWO_PI
|
||||
|
||||
Функции имеют префикс в виде **bgc_**, например:
|
||||
- bgc_fp32_turn3_combine
|
||||
- bgc_fp64_matrix3x3_subtract
|
||||
|
||||
### Префикс базового типа (вторичный префикс)
|
||||
|
||||
После префикса библиотеки идёт префикс базового типа.
|
||||
|
||||
Библиотека использует два типа чисел с плавающей запятой: **float** и **double**
|
||||
(типы **binary32** и **binary64** стандарта **IEEE 754**).
|
||||
Библиотека использует два типа чисел с плавающей запятой: **float** и **double** (типы **binary32** и **binary64** стандарта **IEEE 754**).
|
||||
|
||||
Поэтому в библиотеке есть два префикса типа:
|
||||
|
||||
* **FP32** - означает **F**loating **P**oint **32** bit, то есть, число с
|
||||
плавающей запятой, 32 бита, что соответствует типу **float** языка Си.
|
||||
|
||||
* **FP64** - означает **F**loating **P**oint **64** bit, то есть, число с
|
||||
плавающей запятой, 64 бита, что соответствует типу **double** языка Си.
|
||||
- **FP32** - означает **F**loating **P**oint **32** bit, то есть, число с плавающей запятой, 32 бита, что соответствует типу **float** языка программирования Си.
|
||||
- **FP64** - означает **F**loating **P**oint **64** bit, то есть, число с плавающей запятой, 64 бита, что соответствует типу **double** языка программирования Си.
|
||||
|
||||
Типы структур и константы, основанные на типе **float** имеют префикс **FP32_**:
|
||||
BGC_FP32_Vector3, BGC_FP32_Matrix3x2, BGC_FP32_Quaternion, BGC_FP32_PI,
|
||||
BGC_FP32_EPSILON.
|
||||
- BGC_FP32_Vector3
|
||||
- BGC_FP32_Matrix3x2
|
||||
- BGC_FP32_Quaternion
|
||||
- BGC_FP32_PI
|
||||
- BGC_FP32_EPSILON
|
||||
|
||||
Типы структур и константы, основанные на типе **double** имеют префикс
|
||||
**FP64_**: BGC_FP64_Vector2, BGC_FP64_Matrix2x3, BGC_FP64_Turn3,
|
||||
BGC_FP64_HALF_PI, BGC_FP64_ONE_THIRD.
|
||||
Типы структур и константы, основанные на типе **double** имеют префикс **FP64_**:
|
||||
- BGC_FP64_Vector2
|
||||
- BGC_FP64_Matrix2x3
|
||||
- BGC_FP64_Turn3
|
||||
- BGC_FP64_HALF_PI
|
||||
- BGC_FP64_ONE_THIRD
|
||||
|
||||
Функции, которые работают с данными типа **float** имеют суффикс **_fp32**:
|
||||
bcg_fp32_vector2_get_length, bgc_fp32_radians_to_degrees.
|
||||
Функции, которые работают с данными типа **float** имеют префикс **fp32_**:
|
||||
- bgc_fp32_vector2_get_length
|
||||
- bgc_fp32_radians_to_degrees
|
||||
|
||||
Функции, которые работают с данными типа **double** имеют суффикс **_fp64**:
|
||||
bgc_fp64_vector3_reset, bgc_fp64_normalize_radians.
|
||||
Функции, которые работают с данными типа **double** имеют префикс **fp64_**:
|
||||
- bgc_fp64_vector3_reset
|
||||
- bgc_fp64_normalize_radians
|
||||
|
||||
Использование подобных префиксов позволяет расширять библиотеку используя новые базовые типы в будущем.
|
||||
|
||||
### Типы данных
|
||||
|
||||
- [Двумерные векторы](vector2-rus.md)
|
||||
- [Трёхмерные векторы](vector3-rus.md)
|
||||
- [Кватернионы](quaternion-rus.md)
|
||||
|
||||
Использование подобных префиксов позволяет расширять библиотеку используя новые
|
||||
базовые типы в будущем.
|
||||
Loading…
Add table
Add a link
Reference in a new issue