From 00bb122e0f086515473a0ef562b02e77cf553409 Mon Sep 17 00:00:00 2001 From: JohnnyChen Date: Wed, 15 May 2019 15:12:23 +0800 Subject: [PATCH] fix isinteger fixes #120 : `isinteger(1N0f8)` should be true --- src/FixedPointNumbers.jl | 4 ++-- src/normed.jl | 3 +++ test/fixed.jl | 8 ++++++++ test/normed.jl | 8 ++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/FixedPointNumbers.jl b/src/FixedPointNumbers.jl index 9e77efa2..308628de 100644 --- a/src/FixedPointNumbers.jl +++ b/src/FixedPointNumbers.jl @@ -5,8 +5,8 @@ module FixedPointNumbers using Base: reducedim_initarray import Base: ==, <, <=, -, +, *, /, ~, isapprox, - convert, promote_rule, show, isinteger, abs, decompose, - isnan, isinf, isfinite, + convert, promote_rule, show, eger, abs, decompose, + isnan, isinf, isfinite, isinteger, zero, oneunit, one, typemin, typemax, floatmin, floatmax, eps, sizeof, reinterpret, float, trunc, round, floor, ceil, bswap, div, fld, rem, mod, mod1, fld1, min, max, minmax, diff --git a/src/normed.jl b/src/normed.jl index 6a4faed2..67b87e3a 100644 --- a/src/normed.jl +++ b/src/normed.jl @@ -169,3 +169,6 @@ end _unsafe_trunc(::Type{T}, x::Integer) where {T} = x % T _unsafe_trunc(::Type{T}, x) where {T} = unsafe_trunc(T, x) + +# predicates +isinteger(x::Normed{T,f}) where {T,f} = (x.i%(1<