From 4ad7d9cba307e0ef71c46a9be7982448abf671a2 Mon Sep 17 00:00:00 2001 From: Gregory Travis Date: Thu, 11 Jul 2024 11:16:56 -0400 Subject: [PATCH] review --- .../Base/0.0.0-dev/src/Data/Decimal.enso | 35 ++++++++++--------- test/Base_Tests/src/Data/Decimal_Spec.enso | 8 ++--- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/distribution/lib/Standard/Base/0.0.0-dev/src/Data/Decimal.enso b/distribution/lib/Standard/Base/0.0.0-dev/src/Data/Decimal.enso index b150786e475..90af4bc7dda 100644 --- a/distribution/lib/Standard/Base/0.0.0-dev/src/Data/Decimal.enso +++ b/distribution/lib/Standard/Base/0.0.0-dev/src/Data/Decimal.enso @@ -4,6 +4,7 @@ import project.Data.Numeric.Internal.Decimal_Internal import project.Data.Numeric.Math_Context.Math_Context import project.Data.Numeric.Rounding_Mode.Rounding_Mode import project.Data.Text.Text +import project.Data.Vector.Vector import project.Error.Error import project.Errors.Illegal_Argument.Illegal_Argument import project.Nothing.Nothing @@ -89,7 +90,7 @@ type Decimal Value (big_decimal : BigDecimal) ## ICON input_number - Construct a `Decimal` from a string, integer or float. + Construct a `Decimal` from a `Text`, `Integer` or `Float`. Arguments: - x: The `Text`, `Integer`, or `Float` to construct a `Decimal` from. @@ -111,17 +112,17 @@ type Decimal if a `Math_Context` value is explicitly passed. ^ Example - Create a `Decimal` from a string. + Create a `Decimal` from a `Text`. c = Decimal.new "12.345" ^ Example - Create a `Decimal` from an integer. + Create a `Decimal` from an `Integer`. c = Decimal.new 12345 ^ Example - Create a `Decimal` from a float. + Create a `Decimal` from a `Float`. c = Decimal.new 12.345 new : Text | Integer | Float -> Math_Context | Nothing -> Decimal ! Arithmetic_Error | Number_Parse_Error @@ -155,7 +156,7 @@ type Decimal if a `Math_Context` value is explicitly passed. ^ Example - Create a `Decimal` from a string. + Create a `Decimal` from a `Text`. d = Decimal.from_text "12.345" from_text : Text -> Math_Context | Nothing -> Decimal ! Number_Parse_Error @@ -182,7 +183,7 @@ type Decimal if a `Math_Context` value is explicitly passed. ^ Example - Create a `Decimal` from an integer. + Create a `Decimal` from an `Integer`. d = Decimal.from_integer 12 from_integer : Integer -> Math_Context | Nothing -> Decimal @@ -217,7 +218,7 @@ type Decimal - If `f` is NaN or +/-Inf, an Illegal_Argument error is thrown. ^ Example - Create a `Decimal` from a float. + Create a `Decimal` from a `Float`. d = Decimal.from_integer 12.345 from_float : Float -> Math_Context | Nothing -> Decimal ! Arithmetic_Error | Illegal_Argument @@ -865,7 +866,7 @@ type Decimal ## GROUP Rounding ICON math - Computes the nearest integer equal to or above this number. + Computes the nearest `Integer` equal to or above this number. > Example Compute the ceiling of 12.34. @@ -883,7 +884,7 @@ type Decimal ## GROUP Rounding ICON math - Computes the nearest integer equal to or below this number. + Computes the nearest `Integer` equal to or below this number. > Example Compute the floor of 12.34. @@ -903,8 +904,8 @@ type Decimal GROUP Rounding ICON math - Truncate a number to an integer to by dropping the fractional part. This - is equivalent to "round-toward-zero". + Truncate a number to an `Integer` to by dropping the fractional part. + This is equivalent to "round-toward-zero". > Example Compute the truncation of 12.34 @@ -1020,8 +1021,8 @@ type Decimal unscaled_value self -> Integer = self.big_decimal.unscaledValue ## PRIVATE - internal_representation : [Integer] - internal_representation self -> [Integer] = [self.unscaled_value, self.precision, self.scale] + internal_representation : Vector Integer + internal_representation self -> Vector Integer = [self.unscaled_value, self.precision, self.scale] ## PRIVATE Note: the underlying Java `BigDecimal` implementation is not affected by @@ -1042,7 +1043,7 @@ type Decimal to_text_without_scientific_notation self -> Text = self.big_decimal.toPlainString ## ICON input_number - Construct a `Decimal` from a string, integer or float. + Construct a `Decimal` from a `Text`, `Integer` or `Float`. Arguments: - x: The `Text`, `Integer`, or `Float` to construct a `Decimal` from. @@ -1064,17 +1065,17 @@ type Decimal if a `Math_Context` value is explicitly passed. ^ Example - Create a `Decimal` from a string. + Create a `Decimal` from a `Text`. c = dec "12.345" ^ Example - Create a `Decimal` from an integer. + Create a `Decimal` from an `Integer`. c = dec 12345 ^ Example - Create a `Decimal` from a float. + Create a `Decimal` from a `Float`. c = dec 12.345 dec : Text | Integer | Float -> Math_Context | Nothing -> Decimal ! Arithmetic_Error | Number_Parse_Error diff --git a/test/Base_Tests/src/Data/Decimal_Spec.enso b/test/Base_Tests/src/Data/Decimal_Spec.enso index b3cfa836a91..a9c3807ea28 100644 --- a/test/Base_Tests/src/Data/Decimal_Spec.enso +++ b/test/Base_Tests/src/Data/Decimal_Spec.enso @@ -105,7 +105,7 @@ add_specs suite_builder = mc4 = Math_Context.new 4 mc5 = Math_Context.new 5 - Problems.not_expect_warning Any (Decimal.new "123.25") + Problems.assume_no_problems (Decimal.new "123.25") Problems.expect_warning Loss_Of_Numeric_Precision (Decimal.new "123.25" mc4) Problems.not_expect_warning Loss_Of_Numeric_Precision (Decimal.new "123.25" mc5) @@ -113,7 +113,7 @@ add_specs suite_builder = Problems.expect_warning Loss_Of_Numeric_Precision (Decimal.new 123.25 mc4) Problems.expect_warning Loss_Of_Numeric_Precision (Decimal.new 123.25 mc5) - Problems.not_expect_warning Any (Decimal.new 12325) + Problems.assume_no_problems (Decimal.new 12325) Problems.expect_warning Loss_Of_Numeric_Precision (Decimal.new 12325 mc4) Problems.not_expect_warning Loss_Of_Numeric_Precision (Decimal.new 12325 mc5) @@ -551,8 +551,8 @@ add_specs suite_builder = nd2 . should_equal 5 group_builder.specify "Mixed Decimal/Integer arithmetic should not attach warnings" <| - Problems.not_expect_warning Any (Decimal.new 1 + 2) - Problems.not_expect_warning Any (1 + Decimal.new 2) + Problems.assume_no_problems (Decimal.new 1 + 2) + Problems.assume_no_problems (1 + Decimal.new 2) suite_builder.group "(Decimal_Spec) conversions" group_builder-> group_builder.specify "should convert correctly to and from Integer" <|