Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
&truncate
  • Loading branch information
moritz committed Jul 23, 2011
1 parent 98fed2e commit 1123ec5
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/core/Cool.pm
Expand Up @@ -3,6 +3,7 @@ my class Cool {
## numeric methods

method rand() { self.Num.rand }
method truncate() { self.Numeric.truncate }

## string methods

Expand Down
6 changes: 6 additions & 0 deletions src/core/Real.pm
Expand Up @@ -22,6 +22,9 @@ my class Real {
multi method log() { self.Bridge.log }
multi method log(Real $base) { self.Bridge.log($base.Bridge) }
multi method exp() { self.Bridge.exp }
method truncate(Real:D:) {
self == 0 ?? 0 !! self < 0 ?? self.ceiling !! self.floor
}
}

proto sub cis(|$) {*}
Expand Down Expand Up @@ -64,3 +67,6 @@ multi prefix:<abs>(Real \$a) {
$a < 0 ?? -$a !! $a;
}

proto sub truncate(|$) {*}
multi sub truncate(Real:D $x) { $x.truncate }
multi sub truncate(Cool:D $x) { $x.Numeric.truncate }
4 changes: 2 additions & 2 deletions t/spectest.data
Expand Up @@ -24,12 +24,12 @@ S02-builtin_data_types/declare.t
S02-builtin_data_types/flattening.t
S02-builtin_data_types/hash_ref.t
# S02-builtin_data_types/hash.t # need regexes and m{...}
# S02-builtin_data_types/infinity.t # err: Could not find sub &truncate
S02-builtin_data_types/infinity.t
# S02-builtin_data_types/instants-and-durations.t # err: Could not find sub &term:<now>
# S02-builtin_data_types/lists.t # err: too many positional arguments
S02-builtin_data_types/mixed_multi_dimensional.t
S02-builtin_data_types/multi_dimensional_array.t
# S02-builtin_data_types/nan.t # err: Could not find sub &truncate
# S02-builtin_data_types/nan.t # several test failures
S02-builtin_data_types/nested_arrays.t
S02-builtin_data_types/nested_pairs.t
S02-builtin_data_types/nil.t
Expand Down

0 comments on commit 1123ec5

Please sign in to comment.