From 420a6965a5deb35842370144391951485beb6e2a Mon Sep 17 00:00:00 2001 From: Christof Stocker Date: Thu, 12 Jan 2017 05:08:59 +0100 Subject: [PATCH] scaled loss test --- src/supervised/scaledloss.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/supervised/scaledloss.jl b/src/supervised/scaledloss.jl index 8e07330..11a6ecc 100644 --- a/src/supervised/scaledloss.jl +++ b/src/supervised/scaledloss.jl @@ -14,7 +14,7 @@ following signature: `scaledloss(loss, Val{K})` """ function scaledloss end -_serror() = throw(ArgumentError("Scale factor K has to be strictly positive.")) +@inline _serror() = throw(ArgumentError("Scale factor K has to be strictly positive.")) for KIND in (:MarginLoss, :DistanceLoss, :SupervisedLoss) SCALEDKIND = Symbol(:Scaled, KIND) @@ -44,6 +44,7 @@ for KIND in (:MarginLoss, :DistanceLoss, :SupervisedLoss) immutable ($SCALEDKIND){L<:$KIND,K} <: $KIND loss::L + ($SCALEDKIND)() = typeof(K) <: Number && K > 0 ? new(L()) : _serror() ($SCALEDKIND)(args...) = typeof(K) <: Number && K > 0 ? new(L(args...)) : _serror() ($SCALEDKIND)(loss::L) = typeof(K) <: Number && K > 0 ? new(loss) : _serror() end