Skip to content

Commit 6976cd9

Browse files
committed
1 parent fa74921 commit 6976cd9

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

docs/changelog.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ This is a list of RELEASED changes for the DeciMojo Package.
44

55
## 01/08/2025 (v0.5.0)
66

7+
DeciMojo v0.5.0 introduces significant enhancements to the `BigDecimal` and `BigUInt` types, including new mathematical functions and performance optimizations. The release adds trigonometric functions for `BigDecimal`, implements the Chudnovsky algorithm for computing π, and refines the multiplication algorithm for `BigUInt`. In-place subtraction is now supported for `BigUInt`, and SIMD is utilized for addition operations. The release also includes improved error handling, optimized type conversions, and comprehensive documentation updates.
8+
79
### ⭐️ New
810

911
1. Introduce trigonometric functions for `BigDecimal`: `sin()`, `cos()`, `tan()`, `cot()`, `csc()`, `sec()`. These functions compute the corresponding trigonometric values of a given angle in radians with arbitrary precision (#96, #99).
@@ -12,9 +14,10 @@ This is a list of RELEASED changes for the DeciMojo Package.
1214
### 🦋 Changed
1315

1416
1. Refine the `BigUInt` multiplication with the Karatsuba algorithm. The time complexity of maltiplication is reduced from $O(n^2)$ to $O(n^{ln(3/2)})$ for large integers, which significantly improves performance for big numbers. Doubling the size of the numbers will only increase the time taken by a factor of about 3, instead of 4 as in the previous implementation (#97).
15-
1. The `__isub__` method of `BigUInt` will now conduct in-place subtraction. `x -= y` will not lead to memory allocation, but will modify the original `BigUInt` object `x` directly (#98).
17+
1. Implement in-place subtraction for `BigUInt`. The `__isub__` method of `BigUInt` will now conduct in-place subtraction. `x -= y` will not lead to memory allocation, but will modify the original `BigUInt` object `x` directly (#98).
1618
1. Refine the arithmetic operations of `BigUInt` when the second operand is one-word long or is a `UInt32` value (#98).
1719
1. Refine the division of `BigUInt` to improve performance (#98, #100).
20+
1. Use SIMD for `BigUInt` addition. This allows the addition of two `BigUInt` objects to be performed in parallel, significantly improving performance for large numbers (#101).
1821
1. Add `to_uint64()` and `to_uint128()` methods to `BigUInt` to for fast type conversion (#91).
1922
1. Improve error messages and remove unnecessary `raises` keywords for all functions (#92).
2023

0 commit comments

Comments
 (0)