annotate src/samer/units/SumFnVec.java @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents bf79fb79ee13
children
rev   line source
samer@0 1 package samer.units;
samer@0 2 import samer.core.types.*;
samer@0 3 import samer.tools.*;
samer@0 4 import samer.maths.*;
samer@0 5
samer@0 6 public class SumFnVec extends FunctionOfVector implements SafeTask
samer@0 7 {
samer@0 8 double [] x, fx;
samer@0 9 DoubleModel out;
samer@0 10 Function f;
samer@0 11
samer@0 12 public SumFnVec(Function f, VVector x, DoubleModel out) {
samer@0 13 this.x=x.array();
samer@0 14 this.f=f;
samer@0 15 this.out=out;
samer@0 16 fx=new double[x.size()];
samer@0 17 }
samer@0 18
samer@0 19 public void starting() {}
samer@0 20 public void stopping() {}
samer@0 21 public void run() {
samer@0 22 f.apply(x,fx);
samer@0 23 out.set(Mathx.sum(fx));
samer@0 24 }
samer@0 25
samer@0 26 public double apply(double [] x) {
samer@0 27 f.apply(x,fx); return Mathx.sum(fx);
samer@0 28 }
samer@0 29 }
samer@0 30