(final double[] x, final boolean wantGrad, final boolean wantHessian)
| 58 | } |
| 59 | |
| 60 | @Override |
| 61 | public VEval eval(final double[] x, final boolean wantGrad, final boolean wantHessian) { |
| 62 | final int n = x0.length; |
| 63 | final VEval r = new VEval(x,wantGrad,wantHessian); |
| 64 | for(int i=0;i<n;++i) { |
| 65 | final double diff = x[i]-x0[i]; |
| 66 | r.fx += sign*diff*diff; |
| 67 | if(wantGrad) { |
| 68 | r.gx[i] = sign*2.0*diff; |
| 69 | } |
| 70 | if(wantHessian) { |
| 71 | r.hx[i][i] = sign*2.0; |
| 72 | } |
| 73 | } |
| 74 | return r; |
| 75 | } |
| 76 | } |
| 77 | |
| 78 | public void testMax() { |
nothing calls this directly
no outgoing calls
no test coverage detected