public DoubleAccumulator(DoubleBinaryOperator accumulatorFunction,double identity){
  this.function=accumulatorFunction;
  base=this.identity=Double.doubleToRawLongBits(identity);
}

public DoubleAccumulator ( DoubleBinaryOperator accumulatorFunction , double identity ) { this . function = accumulatorFunction ; base = this . identity = Double . doubleToRawLongBits ( identity ) ; }
creates a new instance using the given accumulator function and identity element .
