@@ -13,22 +13,6 @@ var d3 = require('d3');
1313var Lib = require ( '../../lib' ) ;
1414var Drawing = require ( '../../components/drawing' ) ;
1515
16- // repeatable pseudorandom generator
17- var randSeed = 2000000000 ;
18-
19- function seed ( ) {
20- randSeed = 2000000000 ;
21- }
22-
23- function rand ( ) {
24- var lastVal = randSeed ;
25- randSeed = ( 69069 * randSeed + 1 ) % 4294967296 ;
26- // don't let consecutive vals be too close together
27- // gets away from really trying to be random, in favor of better local uniformity
28- if ( Math . abs ( randSeed - lastVal ) < 429496729 ) return rand ( ) ;
29- return randSeed / 4294967296 ;
30- }
31-
3216// constants for dynamic jitter (ie less jitter for sparser points)
3317var JITTERCOUNT = 5 ; // points either side of this to include
3418var JITTERSPREAD = 0.01 ; // fraction of IQR to count as "dense"
@@ -179,8 +163,8 @@ function plotPoints(sel, axes, trace, t) {
179163 // to support violin points
180164 var mode = trace . boxpoints || trace . points ;
181165
182- // repeatable pseudorandom number generator
183- seed ( ) ;
166+ // repeatable pseudo-random number generator
167+ Lib . seedPseudoRandom ( ) ;
184168
185169 sel . selectAll ( 'g.points' )
186170 // since box plot points get an extra level of nesting, each
@@ -247,7 +231,7 @@ function plotPoints(sel, axes, trace, t) {
247231 var v = pt . v ;
248232
249233 var jitterOffset = trace . jitter ?
250- ( newJitter * jitterFactors [ i ] * ( rand ( ) - 0.5 ) ) :
234+ ( newJitter * jitterFactors [ i ] * ( Lib . pseudoRandom ( ) - 0.5 ) ) :
251235 0 ;
252236
253237 var posPx = d . pos + bPos + bdPos * ( trace . pointpos + jitterOffset ) ;
0 commit comments