From 4f1b520776cbe83f2be48aede3eb9f90419b64ed Mon Sep 17 00:00:00 2001 From: Michael Abbott <32575566+mcabbott@users.noreply.github.com> Date: Wed, 12 Jan 2022 16:15:21 -0500 Subject: [PATCH 1/2] zero is real --- src/outputsize.jl | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/outputsize.jl b/src/outputsize.jl index 303e2c9c8b..fecb542144 100644 --- a/src/outputsize.jl +++ b/src/outputsize.jl @@ -4,13 +4,14 @@ using NNlib import Random """ - Nil <: Number + nil = Nil() -Nil is a singleton type with a single instance `nil`. -Unlike `Nothing` and `Missing` it subtypes `Number`. +`Nil` is a singleton type with a single instance `nil`. +Unlike `Nothing` and `Missing` it is a number: `Nil <: Real <: Number`. """ -struct Nil <: Number end +struct Nil <: Real end +@doc @doc(Nil) const nil = Nil() Nil(::T) where T<:Number = nil @@ -30,9 +31,7 @@ for f in [:+, :-, :*, :/, :^, :mod, :div, :rem] @eval Base.$f(::Nil, ::Nil) = nil end -Base.isless(::Nil, ::Nil) = true -Base.isless(::Nil, ::Number) = true -Base.isless(::Number, ::Nil) = true +Base.:<(::Nil, ::Nil) = true Base.isnan(::Nil) = false Base.isfinite(::Nil) = true From 22a0b832697a46626686895fc4b6c21882fd9cb1 Mon Sep 17 00:00:00 2001 From: Michael Abbott <32575566+mcabbott@users.noreply.github.com> Date: Thu, 13 Jan 2022 11:51:38 -0500 Subject: [PATCH 2/2] leq --- src/outputsize.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/outputsize.jl b/src/outputsize.jl index fecb542144..1caea9e16b 100644 --- a/src/outputsize.jl +++ b/src/outputsize.jl @@ -32,6 +32,7 @@ for f in [:+, :-, :*, :/, :^, :mod, :div, :rem] end Base.:<(::Nil, ::Nil) = true +Base.:<=(::Nil, ::Nil) = true Base.isnan(::Nil) = false Base.isfinite(::Nil) = true