Skip to content

Commit

Permalink
micro-optimize prefix:<!> and not on Bool objects
Browse files Browse the repository at this point in the history
  • Loading branch information
timo committed Nov 15, 2014
1 parent d40fd5d commit 661439a
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/core/Bool.pm
Expand Up @@ -47,12 +47,12 @@ multi prefix:<so>(Bool:D \a) { a }
multi prefix:<so>(Mu \a) { a.Bool }

proto prefix:<!>(Mu $) is pure { * }
multi prefix:<!>(Bool \a) { nqp::p6bool(a ?? 0 !! 1) }
multi prefix:<!>(Mu \a) { nqp::p6bool(a.Bool ?? 0 !! 1) }
multi prefix:<!>(Bool \a) { nqp::p6bool(nqp::not_i(nqp::istrue(a))) }
multi prefix:<!>(Mu \a) { nqp::p6bool(nqp::not_i(nqp::istrue(a))) }

proto prefix:<not>(Mu $) is pure { * }
multi prefix:<not>(Bool \a) { nqp::p6bool(a ?? 0 !! 1) }
multi prefix:<not>(Mu \a) { nqp::p6bool(a.Bool ?? 0 !! 1) }
multi prefix:<not>(Bool \a) { nqp::p6bool(nqp::not_i(nqp::istrue(a))) }
multi prefix:<not>(Mu \a) { nqp::p6bool(nqp::not_i(nqp::istrue(a))) }

proto prefix:<?^>(Mu $) is pure { * }
multi prefix:<?^>(Mu \a) { not a }
Expand Down

0 comments on commit 661439a

Please sign in to comment.