generates the next pseudorandom double uniformly distributed between 0.0 inclusive and 1.0 exclusive . the implementation is as follows . public double nextdouble return long next 26 < < 27 + next 27 / double 1l < < 53 ; concode_field_sep long seed concode_elem_sep long serialVersionUID concode_elem_sep boolean haveNextNextGaussian concode_elem_sep double nextNextGaussian concode_field_sep int next concode_elem_sep float nextFloat concode_elem_sep int nextInt concode_elem_sep int nextInt concode_elem_sep boolean nextBoolean concode_elem_sep void setSeed concode_elem_sep long nextLong concode_elem_sep double nextGaussian concode_elem_sep void nextBytes
double function ( ) { return ( ( ( long ) next ( 26 ) << 27 ) + next ( 27 ) ) / ( double ) ( 1L << 53 ) ; }