public CachingFunction(Function<long[],T> otherFunc) { this.otherFunc = otherFunc; lastValue = createOutput(); lastPoint = null; }
@Override public ContinuousTransformationFunction copy() { return new ContinuousTransformationFunction(matrix); }
@Override public AlternatingFunction<T> copy() { AlternatingFunction<T> newFunc = new AlternatingFunction<T>(dimension); for (Function<long[],T> f : functions) newFunc.add(f.copy()); return newFunc; } }
@Override public NullNumericFunction<INPUT,T> copy() { return new NullNumericFunction<INPUT,T>(type.copy()); } }
@Override public CachingFunction<T> copy() { return new CachingFunction<T>(otherFunc.copy()); }
@Override public IntegerCoordinateAdapterFunction<T> copy() { return new IntegerCoordinateAdapterFunction<T>(func.copy()); }
@Override public RealCoordinateAdapterFunction<T> copy() { return new RealCoordinateAdapterFunction<T>(func.copy()); }
@Override public ContinuousTranslationFunction<T> copy() { return new ContinuousTranslationFunction<T>( otherFunc.copy(), deltas.clone()); } }
@Override public ConditionalFunction<INPUT,T> copy() { return new ConditionalFunction<INPUT, T>(condition.copy(), f1.copy(), f2.copy()); } }
@Override public DiscreteTranslationFunction<T> copy() { return new DiscreteTranslationFunction<T>( otherFunc.copy(), deltas.clone()); } }
@Override public GeneralBinaryFunction<INPUT, C1, C2, OUTPUT> copy() { return new GeneralBinaryFunction<INPUT, C1, C2, OUTPUT>( f1.copy(), f2.copy(), operation.copy(), type.createVariable()); }
@Override public AlternatingFunction<T> copy() { AlternatingFunction<T> newFunc = new AlternatingFunction<T>(dimension); for (Function<long[],T> f : functions) newFunc.add(f.copy()); return newFunc; } }
public CachingFunction(Function<long[],T> otherFunc) { this.otherFunc = otherFunc; lastValue = createOutput(); lastPoint = null; }
@Override public NullNumericFunction<INPUT,T> copy() { return new NullNumericFunction<INPUT,T>(type.copy()); } }
@Override public CachingFunction<T> copy() { return new CachingFunction<T>(otherFunc.copy()); }
@Override public IntegerCoordinateAdapterFunction<T> copy() { return new IntegerCoordinateAdapterFunction<T>(func.copy()); }
@Override public RealCoordinateAdapterFunction<T> copy() { return new RealCoordinateAdapterFunction<T>(func.copy()); }
@Override public ContinuousTranslationFunction<T> copy() { return new ContinuousTranslationFunction<T>( otherFunc.copy(), deltas.clone()); } }
@Override public ConditionalFunction<INPUT,T> copy() { return new ConditionalFunction<INPUT, T>(condition.copy(), f1.copy(), f2.copy()); } }
@Override public DiscreteTranslationFunction<T> copy() { return new DiscreteTranslationFunction<T>( otherFunc.copy(), deltas.clone()); } }