diff --git a/src/Numerics/Optimization/BaseObjectiveFunction.cs b/src/Numerics/Optimization/BaseObjectiveFunction.cs index e85b5e7d..b8f663f3 100644 --- a/src/Numerics/Optimization/BaseObjectiveFunction.cs +++ b/src/Numerics/Optimization/BaseObjectiveFunction.cs @@ -1,10 +1,20 @@ -using MathNet.Numerics.LinearAlgebra; +using System; +using MathNet.Numerics.LinearAlgebra; namespace MathNet.Numerics.Optimization { public abstract class BaseObjectiveFunction : IObjectiveFunction { - public EvaluationStatus Status { get; protected set; } + [Flags] + enum EvaluationStatus + { + None = 0, + Value = 1, + Gradient = 2, + Hessian = 4 + } + + EvaluationStatus Status { get; set; } protected Vector PointRaw { get; set; } protected double ValueRaw { get; set; } diff --git a/src/Numerics/Optimization/IObjectiveFunction.cs b/src/Numerics/Optimization/IObjectiveFunction.cs index bc335ded..d78bee72 100644 --- a/src/Numerics/Optimization/IObjectiveFunction.cs +++ b/src/Numerics/Optimization/IObjectiveFunction.cs @@ -1,17 +1,7 @@ -using System; -using MathNet.Numerics.LinearAlgebra; +using MathNet.Numerics.LinearAlgebra; namespace MathNet.Numerics.Optimization { - [Flags] - public enum EvaluationStatus - { - None = 0, - Value = 1, - Gradient = 2, - Hessian = 4 - } - public interface IObjectiveFunction { void EvaluateAt(Vector point);