36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# Basic Geometry for .NET
|
|
|
|
## A library of basic geometric computations for .NET
|
|
|
|
Programming language: C#
|
|
|
|
Version: 0.2.0-dev
|
|
|
|
License: Apache-2.0
|
|
|
|
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 of the library.
|
|
|
|
For example, all the entities are implemented as strucutres and the structures
|
|
are passed to the methods by reference.
|
|
|
|
That allows to get perfromance comparable with a similar implementation of
|
|
entities and algorithms written in the C programming language.
|
|
|
|
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.
|