Add exact arithmetic implementation and tests
- Introduced exact arithmetic with support for large integers and fractions in `exact.gd`, `big_integer.gd`, and `exact_value.gd`. - Implemented a comprehensive test suite in `test_exact_math.gd` to validate arithmetic operations against expected results. - Added a README in `math` directory to document the exact arithmetic system and its usage. - Ensured that all arithmetic operations maintain precision without floating-point errors, using a custom representation for large numbers. - Included methods for encoding and decoding exact values for serialization.
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
# Эволюция звёзд Owniverse.GI
|
||||
|
||||
Числа симуляции переведены на целочисленное хранение с большими разрядами и
|
||||
рациональную арифметику. Количества до `10^27` сохраняют единицы; время хранится
|
||||
в тиках по `10^-9` года. Границы точности коэффициентов, ограничение накопленных
|
||||
дробей и несовместимый со старым формат сохранения 3 описаны в
|
||||
[документации математики](world/owniverse/math/README.md).
|
||||
|
||||
Механики перенесены из Owniverse.U с согласованными изменениями GI: постепенные партии, детерминированные дробные остатки, уязвимость цивилизаций до C1.2 и передача выживших планет преемнику. Баланс таблицы GI сохраняется.
|
||||
|
||||
## Порядок расчёта
|
||||
|
||||
Reference in New Issue
Block a user