5757== (:: InfiniteCardinal , y:: Real ) = ∞ == y
5858== (x:: Real , :: InfiniteCardinal ) = x == ∞
5959
60+ == (:: BigInt , :: InfiniteCardinal ) = false
61+ == (:: InfiniteCardinal , :: BigInt ) = false
62+ == (x:: BigFloat , :: InfiniteCardinal ) = x == ∞
63+ == (:: InfiniteCardinal , x:: BigFloat ) = x == ∞
64+
6065@generated isless (:: InfiniteCardinal{N} , :: InfiniteCardinal{M} ) where {N,M} = :($ (isless (N, M)))
6166isless (:: InfiniteCardinal{0} , :: InfiniteCardinal{0} ) = false
6267isless (x:: Real , :: InfiniteCardinal{0} ) = isfinite (x)
@@ -83,6 +88,18 @@ isless(x::InfiniteCardinal, y::AbstractFloat) = false
8388≤ (:: InfiniteCardinal , x:: RealInfinity ) = false
8489< (:: InfiniteCardinal , x:: RealInfinity ) = false
8590
91+ for T in (:InfiniteCardinal , :(InfiniteCardinal{0 }))
92+ @eval begin
93+ ≤ (:: BigInt , :: $T ) = true
94+ < (:: BigInt , :: $T ) = true
95+ ≤ (:: $T , :: BigInt ) = false
96+ < (:: $T , :: BigInt ) = false
97+ ≤ (x:: BigFloat , :: $T ) = true
98+ < (x:: BigFloat , :: $T ) = x < ∞
99+ ≤ (:: $T , x:: BigFloat ) = ∞ ≤ x
100+ < (:: $T , x:: BigFloat ) = false
101+ end
102+ end
86103
87104< (:: Infinity , :: InfiniteCardinal{0} ) = false
88105< (:: Infinity , :: InfiniteCardinal ) = true
0 commit comments