bgc-net/README.md

2 KiB
Raw Blame History

Basic Geometry for .NET

Библиотека базовых геометрических вычислений для .NET

Язык программирования: C#

Версия: 0.2.0-dev

Лицензия: Apache-2.0

Основными целями разработки данной библиотеки были:

  1. Производительность
  2. Функциональность
  3. Универсальность

Производительность была на первом месте, что оказало влияние на особенности реализации библиотеки.

Например, почти все сущности в библиотеке реализованы в виде структур, а сами структуры передаются в методы по ссылке.

Это позволило получить достаточно высокую производительность, спосотавимую с производительностью аналогичной реализации сущностей а алгоритмов на языке Си.

Библиотека использует два типа чисел с плавающей запятой: float и double (типы binary32 и binary64 стандарта IEEE 754). Что также повлияло на особенности дизайна библиотеки.

Библиотека как бы неявно разделена на две половины - одна половина для данных типа float, а другая - для данных типа double. Но между этими половинами есть мостики - функции преобразования типа.

Однако в библиотеке нет функций, которые используют для вычисления данные разных типов (float и double одновременно).