X-Git-Url: http://nitlanguage.org diff --git a/lib/core/kernel.nit b/lib/core/kernel.nit index 84bd844..fe45072 100644 --- a/lib/core/kernel.nit +++ b/lib/core/kernel.nit @@ -644,17 +644,17 @@ universal Byte # `i` bits shift fo the left # # assert 5u8 << 1 == 10u8 - fun <<(i: Int): Byte `{ return self << i; `} + fun <<(i: Int): Byte is intern `{ return self << i; `} # `i` bits shift fo the right # # assert 5u8 >> 1 == 2u8 - fun >>(i: Int): Byte `{ return self >> i; `} + fun >>(i: Int): Byte is intern `{ return self >> i; `} # Returns the character equivalent of `self` # # REQUIRE: `self <= 127u8` - fun ascii: Char `{ return (uint32_t)self; `} + fun ascii: Char is intern `{ return (uint32_t)self; `} redef fun to_i is intern redef fun to_f is intern @@ -699,6 +699,9 @@ universal Byte return self end end + + # Is `self` an ASCII whitespace ? + fun is_whitespace: Bool do return self == 0x7Fu8 or self <= 0x20u8 end # Native integer numbers. @@ -743,12 +746,12 @@ universal Int # `i` bits shift fo the left # # assert 5 << 1 == 10 - fun <<(i: Int): Int `{ return self << i; `} + fun <<(i: Int): Int is intern `{ return self << i; `} # `i` bits shift fo the right # # assert 5 >> 1 == 2 - fun >>(i: Int): Int `{ return self >> i; `} + fun >>(i: Int): Int is intern `{ return self >> i; `} redef fun to_i do return self redef fun to_f is intern @@ -807,7 +810,7 @@ universal Int # assert 65.code_point == 'A' # assert 10.code_point == '\n' # assert 0x220B.code_point == '∋' - fun code_point: Char `{ return (uint32_t)self; `} + fun code_point: Char is intern `{ return (uint32_t)self; `} # Number of digits of an integer in base `b` (plus one if negative) # @@ -878,15 +881,7 @@ universal Int # assert (-10).abs == 10 # assert 10.abs == 10 # assert 0.abs == 0 - fun abs: Int - do - if self >= 0 - then - return self - else - return -1 * self - end - end + fun abs: Int do return if self >= 0 then self else -self end # Native characters. @@ -961,7 +956,7 @@ universal Char # assert 'A'.code_point == 65 # assert '\n'.code_point == 10 # assert '∋'.code_point == 0x220B - fun code_point: Int `{ return (long)self; `} + fun code_point: Int is intern `{ return (long)self; `} # Is `self` an ASCII character ? #