Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Make only sub min/min/minmax multi's
  • Loading branch information
lizmat committed Feb 20, 2018
1 parent 16b57af commit 55bc053
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions src/core/Any-iterable-methods.pm
Expand Up @@ -1954,7 +1954,10 @@ multi sub infix:<min>(int \a, int \b) { nqp::if(nqp::islt_i(nqp::cmp_i(a, b)
multi sub infix:<min>(Num:D \a, Num:D \b) { nqp::if(nqp::islt_i(nqp::cmp_n(a, b), 0), a, b) }
multi sub infix:<min>(num \a, num \b) { nqp::if(nqp::islt_i(nqp::cmp_n(a, b), 0), a, b) }
multi sub infix:<min>(+args is raw) { args.min }
sub min(+args, :&by = &infix:<cmp>) { args.min(&by) }

proto sub min(|) is pure {*}
multi sub min(+args, :&by!) { args.min(&by) }
multi sub min(+args) { args.min }

proto sub infix:<max>(|) is pure {*}
multi sub infix:<max>(Mu:D \a, Mu:U) { a }
Expand All @@ -1965,11 +1968,17 @@ multi sub infix:<max>(int \a, int \b) { nqp::if(nqp::isgt_i(nqp::cmp_i(a, b)
multi sub infix:<max>(Num:D \a, Num:D \b) { nqp::if(nqp::isgt_i(nqp::cmp_n(a, b), 0), a, b) }
multi sub infix:<max>(num \a, num \b) { nqp::if(nqp::isgt_i(nqp::cmp_n(a, b), 0), a, b) }
multi sub infix:<max>(+args) { args.max }
sub max(+args, :&by = &infix:<cmp>) { args.max(&by) }

proto sub max(|) is pure {*}
multi sub max(+args, :&by!) { args.max(&by) }
multi sub max(+args) { args.max }

proto sub infix:<minmax>(|) is pure {*}
multi sub infix:<minmax>(+args) { args.minmax }
sub minmax(+args, :&by = &infix:<cmp>) { args.minmax(&by) }

proto sub minmax(|) is pure {*}
multi sub minmax(+args, :&by!) { args.minmax(&by) }
multi sub minmax(+args) { args.minmax }

proto sub map(|) {*}
multi sub map(&code, +values) { my $laze = values.is-lazy; values.map(&code).lazy-if($laze) }
Expand Down

0 comments on commit 55bc053

Please sign in to comment.