/// <summary> /// String representation. /// </summary> /// <returns>String representation.</returns> public override string ToString() { if (OptimizationSpecifier == OptimizationSpecifier.NONE) { return(""); } return($"(:metric {OptimizationSpecifier.EnumToString()} {Expression})"); }
/// <summary> /// Converts the enum to string representation. /// </summary> /// <param name="optimizationSpecifier">Value to be converted.</param> /// <returns>String representation.</returns> public static string EnumToString(this OptimizationSpecifier optimizationSpecifier) { switch (optimizationSpecifier) { case OptimizationSpecifier.NONE: return("none"); case OptimizationSpecifier.MINIMIZE: return("minimize"); case OptimizationSpecifier.MAXIMIZE: return("maximize"); default: Debug.Assert(false); return(optimizationSpecifier.ToString()); } }
/// <summary> /// Constructs a metric specification. /// </summary> /// <param name="optimizationSpecifier">Optimization specifier.</param> /// <param name="expression">Argument metric expression.</param> public Metric(OptimizationSpecifier optimizationSpecifier, MetricExpression expression) { OptimizationSpecifier = optimizationSpecifier; Expression = expression; }