Дополнения в описание проекта / Some addions in the description of the project
This commit is contained in:
parent
2ef0fc17c2
commit
3245407af4
8 changed files with 252 additions and 6 deletions
|
@ -1,4 +1,4 @@
|
|||
# Basic-Geometry-c
|
||||
# Basic Geometry
|
||||
|
||||
## Library of basic geometric computations
|
||||
|
||||
|
@ -6,6 +6,10 @@
|
|||
|
||||
Programming language: C (C99)
|
||||
|
||||
Version: 0.2.0-dev
|
||||
|
||||
License: Apache-2.0
|
||||
|
||||
The main goals of development of the library were:
|
||||
|
||||
1. Performance
|
||||
|
@ -13,12 +17,24 @@ The main goals of development of the library were:
|
|||
3. Versatility
|
||||
|
||||
Performance was the main goal of making of the library. That fact affected
|
||||
the implementation features of the library.
|
||||
the implementation 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
|
||||
Also the majority of functions were made as inline functions. That allows
|
||||
a compiller to replace a call of some function onto the body of that
|
||||
function.
|
||||
|
||||
The library uses two types of floating point numbers: **float** и **double**
|
||||
(**binary32** and **binary64** types of the **IEEE 754** standard). That
|
||||
affected the implementation of the library too.
|
||||
|
||||
The library is implicitly divided into two halves: one half is for data and
|
||||
functions of **float** type and another one is for date of th **double** type.
|
||||
And there are several bridges connect both of the halves. Those bridges are
|
||||
the functions of the type conversion.
|
||||
|
||||
But there are no functions which use data of different types (*float* and
|
||||
*double* at the same time) for the computations.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue