@@ -93,9 +93,9 @@ inv(x::Integer) = float(one(x)) / float(x)
9393(/ )(x:: BitInteger , y:: BitInteger ) = float (x) / float (y)
9494
9595"""
96- isodd(x::Integer ) -> Bool
96+ isodd(x::Number ) -> Bool
9797
98- Return `true` if `x` is odd (that is, not divisible by 2), and `false` otherwise.
98+ Return `true` if `x` is an odd integer (that is, an integer not divisible by 2), and `false` otherwise.
9999
100100# Examples
101101```jldoctest
@@ -106,12 +106,13 @@ julia> isodd(10)
106106false
107107```
108108"""
109- isodd (n:: Integer ) = rem (n, 2 ) != 0
109+ isodd (n:: Number ) = isreal (n) && isodd (real (n))
110+ isodd (n:: Real ) = isinteger (n) && ! iszero (rem (Integer (n), 2 ))
110111
111112"""
112- iseven(x::Integer ) -> Bool
113+ iseven(x::Number ) -> Bool
113114
114- Return `true` if `x` is even (that is, divisible by 2), and `false` otherwise.
115+ Return `true` if `x` is an even integer (that is, an integer divisible by 2), and `false` otherwise.
115116
116117# Examples
117118```jldoctest
@@ -122,7 +123,8 @@ julia> iseven(10)
122123true
123124```
124125"""
125- iseven (n:: Integer ) = ! isodd (n)
126+ iseven (n:: Number ) = isreal (n) && iseven (real (n))
127+ iseven (n:: Real ) = isinteger (n) && iszero (rem (Integer (n), 2 ))
126128
127129signbit (x:: Integer ) = x < 0
128130signbit (x:: Unsigned ) = false
0 commit comments