Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/plans/gmp_integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -1321,7 +1321,7 @@ LD_LIBRARY_PATH=./src/decimo/gmp ./myprogram

```bash
bash src/decimo/gmp/build_gmp_wrapper.sh \
&& mojo build -I src \
&& pixi run mojo build -I src \
-Xlinker -L./src/decimo/gmp -Xlinker -ldecimo_gmp_wrapper \
-o /tmp/myprogram myprogram.mojo \
&& DYLD_LIBRARY_PATH=./src/decimo/gmp /tmp/myprogram
Expand Down
32 changes: 12 additions & 20 deletions src/decimo/bigdecimal/arithmetics.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -320,11 +320,9 @@ def true_divide(
"""
# Check for division by zero
if y.coefficient.is_zero():
raise Error(
ZeroDivisionError(
message="Division by zero.",
function="true_divide()",
)
raise ZeroDivisionError(
message="Division by zero.",
function="true_divide()",
)

# Handle dividend of zero
Expand Down Expand Up @@ -698,11 +696,9 @@ def true_divide_inexact(

# Check for division by zero
if x2.coefficient.is_zero():
raise Error(
ZeroDivisionError(
message="Division by zero.",
function="true_divide_inexact()",
)
raise ZeroDivisionError(
message="Division by zero.",
function="true_divide_inexact()",
)

# Handle dividend of zero
Expand Down Expand Up @@ -916,11 +912,9 @@ def truncate_divide(x1: BigDecimal, x2: BigDecimal) raises -> BigDecimal:
"""
# Check for division by zero
if x2.coefficient.is_zero():
raise Error(
ZeroDivisionError(
message="Division by zero.",
function="truncate_divide()",
)
raise ZeroDivisionError(
message="Division by zero.",
function="truncate_divide()",
)

# Handle dividend of zero
Expand Down Expand Up @@ -961,11 +955,9 @@ def truncate_modulo(
"""
# Check for division by zero
if x2.coefficient.is_zero():
raise Error(
ZeroDivisionError(
message="Division by zero.",
function="truncate_modulo()",
)
raise ZeroDivisionError(
message="Division by zero.",
function="truncate_modulo()",
)

return subtract(
Expand Down
30 changes: 12 additions & 18 deletions src/decimo/bigdecimal/bigdecimal.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ from std.memory import UnsafePointer
from std.python import PythonObject
from std import testing

from decimo.errors import DecimoError, ConversionError, ValueError
from decimo.errors import ConversionError, ValueError
from decimo.rounding_mode import RoundingMode
from decimo.bigdecimal.rounding import round_to_precision
from decimo.bigint10.bigint10 import BigInt10
Expand Down Expand Up @@ -362,22 +362,18 @@ struct BigDecimal(
return Self(coefficient=BigUInt.zero(), scale=0, sign=False)

if value != value: # Check for NaN
raise Error(
ValueError(
message="Cannot convert NaN to BigDecimal.",
function="BigDecimal.from_scalar()",
)
raise ValueError(
message="Cannot convert NaN to BigDecimal.",
function="BigDecimal.from_scalar()",
)
# Convert to string with full precision
try:
return Self.from_string(String(value))
except e:
raise Error(
ConversionError(
message="Cannot convert scalar to BigDecimal.",
function="BigDecimal.from_scalar()",
previous_error=e^,
)
raise ConversionError(
message="Cannot convert scalar to BigDecimal.",
function="BigDecimal.from_scalar()",
previous_error=e^,
)

@staticmethod
Expand Down Expand Up @@ -544,12 +540,10 @@ struct BigDecimal(
return Self(coefficient=coefficient^, scale=scale, sign=sign)

except e:
raise Error(
ConversionError(
message="Failed to convert Python Decimal to BigDecimal.",
function="BigDecimal.from_python_decimal()",
previous_error=e^,
),
raise ConversionError(
message="Failed to convert Python Decimal to BigDecimal.",
function="BigDecimal.from_python_decimal()",
previous_error=e^,
)

# ===------------------------------------------------------------------=== #
Expand Down
6 changes: 2 additions & 4 deletions src/decimo/bigdecimal/constants.mojo
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,8 @@ def pi(precision: Int) raises -> BigDecimal:
"""

if precision < 0:
raise Error(
ValueError(
message="Precision must be non-negative", function="pi()"
)
raise ValueError(
message="Precision must be non-negative", function="pi()"
)

# TODO: When global variables are supported,
Expand Down
Loading
Loading