nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pep8analysis: add copyright and doc to the pep8analysis_web module
[nit.git]
/
lib
/
standard
/
kernel.nit
diff --git
a/lib/standard/kernel.nit
b/lib/standard/kernel.nit
index
ce6b69e
..
fb84d2e
100644
(file)
--- a/
lib/standard/kernel.nit
+++ b/
lib/standard/kernel.nit
@@
-239,6
+239,14
@@
interface Numeric
# The value of zero in the domain of `self`
fun zero: OTHER is abstract
# The value of zero in the domain of `self`
fun zero: OTHER is abstract
+
+ # The value of `val` in the domain of `self`
+ #
+ # assert 1.0.value_of(2) == 2.0
+ # assert 1.0.value_of(2.0) == 2.0
+ # assert 1.value_of(2) == 2
+ # assert 1.value_of(2.0) == 2
+ fun value_of(val: Numeric): OTHER is abstract
end
###############################################################################
end
###############################################################################
@@
-293,6
+301,7
@@
universal Float
redef fun to_f do return self
redef fun zero do return 0.0
redef fun to_f do return self
redef fun zero do return 0.0
+ redef fun value_of(val) do return val.to_f
end
# Native integer numbers.
end
# Native integer numbers.
@@
-325,6
+334,7
@@
universal Int
fun %(i: Int): Int is intern
redef fun zero do return 0
fun %(i: Int): Int is intern
redef fun zero do return 0
+ redef fun value_of(val) do return val.to_i
# `i` bits shift fo the left (aka <<)
#
# `i` bits shift fo the left (aka <<)
#
@@
-600,9
+610,9
@@
universal Char
end
# Pointer classes are used to manipulate extern C structures.
end
# Pointer classes are used to manipulate extern C structures.
-extern Pointer
+extern class Pointer
# Is the address behind this Object at NULL?
# Is the address behind this Object at NULL?
- fun address_is_null: Bool `{ return recv == NULL; `}
+ fun address_is_null: Bool is extern "address_is_null"
# Free the memory pointed by this pointer
fun free `{ free(recv); `}
# Free the memory pointed by this pointer
fun free `{ free(recv); `}