private ConvexBoundBuilder(Func <Vector, double> monitoredFunction, Func <Vector, double> compute, Dictionary <int, ClosestPointFromPoint> getClosestPointOfNorm, double threshold, ConvexBound.Type type) { MonitoredFunction = monitoredFunction; Compute = compute; GetClosestPointOfNorm = getClosestPointOfNorm; Threshold = threshold; Type = type; }
public static ConvexBoundBuilder Create(Func <Vector, double> monitoredFuntion, Func <Vector, double> computeFunction, ConvexBound.Type type, double threhsold) => new ConvexBoundBuilder(monitoredFuntion, computeFunction, new Dictionary <int, ClosestPointFromPoint>(2), threhsold, type);
private static ConvexBound ToConvexBound(this LineHalfPlane @this, Func <Vector, double> monitoredFunction, ConvexBound.Type type, double threshold) { return(ConvexBoundBuilder.Create(monitoredFunction, @this.Compute, type, threshold) .WithDistanceNorm(1, @this.ClosestPointL1) .WithDistanceNorm(2, @this.ClosestPointL2) .ToConvexBound()); }