Добавление описания в файле README / Adding of description to README file

This commit is contained in:
Andrey Pokidov 2024-12-04 18:52:35 +07:00
parent aafe4e9075
commit 37d86bc4c1
2 changed files with 70 additions and 2 deletions

36
README-eng.md Normal file
View file

@ -0,0 +1,36 @@
# 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.

View file

@ -1,3 +1,35 @@
# bgc-net
# Basic Geometry for .NET
Библиотека базовых геометрических вычислений для .NET
## Библиотека базовых геометрических вычислений для .NET
Язык программирования: C#
Версия: 0.2.0-dev
Лицензия: Apache-2.0
Основными целями разработки данной библиотеки были:
1. Производительность
2. Функциональность
3. Универсальность
Производительность была на первом месте, что оказало влияние на особенности
реализации библиотеки.
Например, почти все сущности в библиотеке реализованы в виде структур, а сами
структуры передаются в методы по ссылке.
Это позволило получить достаточно высокую производительность, спосотавимую с
производительностью аналогичной реализации сущностей а алгоритмов на языке Си.
Библиотека использует два типа чисел с плавающей запятой: **float** и **double**
(типы **binary32** и **binary64** стандарта **IEEE 754**). Что также повлияло на
особенности дизайна библиотеки.
Библиотека как бы неявно разделена на две половины - одна половина для данных
типа **float**, а другая - для данных типа **double**. Но между этими половинами
есть мостики - функции преобразования типа.
Однако в библиотеке нет функций, которые используют для вычисления данные разных
типов (**float** и *double* одновременно).