Краткое описание проекта / A brief description of the project

This commit is contained in:
Andrey Pokidov 2024-11-22 17:43:26 +07:00
parent 985b1e0c84
commit 2ef0fc17c2
3 changed files with 51 additions and 2 deletions

3
.gitignore vendored
View file

@ -61,3 +61,6 @@ dkms.conf
bin bin
obj obj
logs logs
*.layout
*.depend
*.user

24
README-Eng.md Normal file
View file

@ -0,0 +1,24 @@
# Basic-Geometry-c
## Library of basic geometric computations
[Версия на русском языке / Russian version](./README.md)
Programming language: C (C99)
The main goals of development of the library were:
1. Performance
2. Functionality
3. Versatility
Performance was the main goal of making of the library. That fact affected
the implementation features of the library.
For example, the main way to return data structures as a function result
was chosen to be returning via a parameter, which avoids redundant copying
of data through the call stack.
Also the majority of functions were made as inline function. That allows
a compiller to replace a call of some function onto the body of that
function.

View file

@ -1,3 +1,25 @@
# bgc-c # Basic-Geometry-c
Библиотека базовых геометрических вычислений на языке Си ## Библиотека базовых геометрических вычислений
(English: library of basic geometric computations)
[English version / версия на английском языке](./README-Eng.md)
Язык программирования: Си (C99)
Основными целями разработки данной библиотеки были:
1. Производительность
2. Функциональность
3. Универсальность
Производительность была на первом месте, что оказало влияние на особенности
реализации библиотеки.
Например, в качестве основного способа возврата структур данных в качестве
результата выполнения функции был выбран возврат через параметр, что позволяет
избежать избыточного копирования данных через стек вызова.
Также большинство функций выполнены как inline, давая возможность компилятору
заменять вызов функции на тело функции.