Краткое описание проекта / A brief description of the project
This commit is contained in:
parent
985b1e0c84
commit
2ef0fc17c2
3 changed files with 51 additions and 2 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -61,3 +61,6 @@ dkms.conf
|
||||||
bin
|
bin
|
||||||
obj
|
obj
|
||||||
logs
|
logs
|
||||||
|
*.layout
|
||||||
|
*.depend
|
||||||
|
*.user
|
24
README-Eng.md
Normal file
24
README-Eng.md
Normal 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.
|
26
README.md
26
README.md
|
@ -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, давая возможность компилятору
|
||||||
|
заменять вызов функции на тело функции.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue