1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * https://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 /* 19 * This is not the original file distributed by the Apache Software Foundation 20 * It has been modified by the Hipparchus project 21 */ 22 package org.hipparchus.optim.nonlinear.vector.leastsquares; 23 24 import org.hipparchus.linear.RealVector; 25 import org.hipparchus.optim.ConvergenceChecker; 26 import org.hipparchus.util.Incrementor; 27 28 /** 29 * An adapter that delegates to another implementation of {@link LeastSquaresProblem}. 30 * 31 */ 32 public class LeastSquaresAdapter implements LeastSquaresProblem { 33 34 /** the delegate problem */ 35 private final LeastSquaresProblem problem; 36 37 /** 38 * Delegate the {@link LeastSquaresProblem} interface to the given implementation. 39 * 40 * @param problem the delegate 41 */ 42 public LeastSquaresAdapter(final LeastSquaresProblem problem) { 43 this.problem = problem; 44 } 45 46 /** {@inheritDoc} */ 47 @Override 48 public RealVector getStart() { 49 return problem.getStart(); 50 } 51 52 /** {@inheritDoc} */ 53 @Override 54 public int getObservationSize() { 55 return problem.getObservationSize(); 56 } 57 58 /** {@inheritDoc} */ 59 @Override 60 public int getParameterSize() { 61 return problem.getParameterSize(); 62 } 63 64 /** {@inheritDoc} */ 65 @Override 66 public Evaluation evaluate(final RealVector point) { 67 return problem.evaluate(point); 68 } 69 70 /** {@inheritDoc} */ 71 @Override 72 public Incrementor getEvaluationCounter() { 73 return problem.getEvaluationCounter(); 74 } 75 76 /** {@inheritDoc} */ 77 @Override 78 public Incrementor getIterationCounter() { 79 return problem.getIterationCounter(); 80 } 81 82 /** {@inheritDoc} */ 83 @Override 84 public ConvergenceChecker<Evaluation> getConvergenceChecker() { 85 return problem.getConvergenceChecker(); 86 } 87 }