public UpdateReturnState update(double datum){
  double d=(datum == 0.0) ? 0.0 : datum;
  long[] data={Double.doubleToLongBits(d)};
  return hashUpdate(hash(data,getSeed())[0] >>> 1);
}

public UpdateReturnState update ( double datum ) { double d = ( datum == 0.0 ) ? 0.0 : datum ; long [ ] data = { Double . doubleToLongBits ( d ) } ; return hashUpdate ( hash ( data , getSeed ( ) ) [ 0 ] > > > 1 ) ; }
present this sketch with the given double ( or float ) datum . the double will be converted to a long using double . doubletolongbits ( datum ) , which normalizes all nan values to a single nan representation . plus and minus zero will be normalized to plus zero . the special floating - point values nan and + / - infinity are treated as distinct .
