peeksafe 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/plan.js CHANGED
@@ -32,8 +32,9 @@
32
32
  * it.
33
33
  */
34
34
  import { baselineNullRate } from "./baseline.js";
35
- import { PeeksafeError, requireErrorRates, requireOpenProbability, requireProbability, } from "./errors.js";
35
+ import { PeeksafeError, requireCounts, requireErrorRates, requireOpenProbability, requireProbability, requireRunCeiling, requireTrialGrid, requireUniqueCaseIds, } from "./errors.js";
36
36
  import { betaQuantile, ebhSoloThreshold, evidenceCeilingLogE, mcnemarSamplesForEvidence, pairPhi, sampleSizeTwoProportion, samplesForEvidence, sprtExpectedN, } from "./stats.js";
37
+ import { DEFAULT_STOP_OPTIONS, settleLogE, shouldStop } from "./stop.js";
37
38
  export const DEFAULT_PLAN = {
38
39
  mde: 0.15,
39
40
  fdr: 0.05,
@@ -93,7 +94,19 @@ function baselineRunsToClear(rate, mde, barLogE, cap = 100_000) {
93
94
  return n;
94
95
  return hi;
95
96
  }
97
+ function requirePrices(cfg, where) {
98
+ if (!(cfg.costPerRunUsd >= 0) || !(cfg.msPerRun >= 0)) {
99
+ throw new PeeksafeError("PEEKSAFE_E_CONFIG", `${where}: costPerRunUsd and msPerRun must be ≥ 0`, {
100
+ detail: { costPerRunUsd: cfg.costPerRunUsd, msPerRun: cfg.msPerRun },
101
+ });
102
+ }
103
+ }
96
104
  export function planCase(c, b, cfg, m) {
105
+ // Exported on its own, so it refuses what makePlan refuses before calling it: unchecked, a -5/60 baseline was IMPOSSIBLE and a price of -1 billed -$152.
106
+ if (b)
107
+ requireCounts(b.successes, b.trials, `planCase(${c.id}).baseline`);
108
+ requireErrorRates(cfg.alpha, cfg.beta, "planCase");
109
+ requirePrices(cfg, "planCase");
97
110
  const barLogE = Math.log(ebhSoloThreshold(m, cfg.fdr));
98
111
  const trials = b?.trials ?? 0;
99
112
  const successes = b?.successes ?? 0;
@@ -197,7 +210,8 @@ export function planCase(c, b, cfg, m) {
197
210
  * expected sample number at a supplied "true" rate per case, and clamped into
198
211
  * the gate's own [minTrials, maxTrials] batch grid.
199
212
  *
200
- * This is the number that predicts what the gate will actually spend.
213
+ * `makePlan` no longer bills from it: an unpaired case there is counted in
214
+ * the runs `shouldStop` takes, which this figure misses either way (#105).
201
215
  * `samplesForEvidence`, the one behind `PlanCase.unpaired.runs`, answers a
202
216
  * different question: how many runs it takes to *certify a regression*. A case
203
217
  * that did not regress never gets there; it hits the H₀ wall in a few batches
@@ -207,6 +221,9 @@ export function planCase(c, b, cfg, m) {
207
221
  * `trueRate` defaults to the case's own baseline rate, i.e. "nothing moved", * which is what almost every pull request looks like.
208
222
  */
209
223
  export function expectedSequentialSamples(cases, baseline, cfg, trueRate = (_id, b) => b.trials > 0 ? b.successes / b.trials : 0) {
224
+ requireTrialGrid(cfg, "expectedSequentialSamples");
225
+ // A repeated id was added to `samples` once per listing but kept once in `perCase`, so the two disagreed.
226
+ requireUniqueCaseIds(cases, "expectedSequentialSamples");
210
227
  const perCase = new Map();
211
228
  let total = 0;
212
229
  for (const c of cases) {
@@ -217,18 +234,92 @@ export function expectedSequentialSamples(cases, baseline, cfg, trueRate = (_id,
217
234
  const p1 = Math.max(0.005, p0 - cfg.mde);
218
235
  const p = Math.max(0, Math.min(1, trueRate(c.id, b)));
219
236
  const raw = sprtExpectedN(p, p0, p1, cfg.alpha, cfg.beta);
220
- const n = Number.isFinite(raw) && raw > 0
221
- ? Math.min(cfg.maxTrials, Math.max(cfg.minTrials, Math.ceil(raw)))
222
- : cfg.maxTrials;
223
- // The gate only ever adds whole batches past the minimum, so round the
224
- // prediction onto the same grid the gate samples on.
225
- const batched = cfg.minTrials + Math.ceil(Math.max(0, n - cfg.minTrials) / cfg.batchSize) * cfg.batchSize;
226
- const capped = Math.min(cfg.maxTrials, batched);
237
+ const capped = onBatchGrid(Number.isFinite(raw) && raw > 0 ? Math.ceil(raw) : cfg.maxTrials, cfg);
227
238
  perCase.set(c.id, capped);
228
239
  total += capped;
229
240
  }
230
241
  return { samples: total, perCase };
231
242
  }
243
+ /** Refuses a set `futilityConfidence` outside (0, 1), where the settle bar is 0 or Infinity. */
244
+ export function requireSettleConfidence(cfg, where) {
245
+ if (cfg.futilityConfidence !== undefined) {
246
+ requireOpenProbability(cfg.futilityConfidence, "futilityConfidence", where);
247
+ }
248
+ }
249
+ // The gate only ever adds whole batches past the minimum, so a prediction is rounded onto the grid it samples on.
250
+ function onBatchGrid(n, cfg) {
251
+ const clamped = Math.min(cfg.maxTrials, Math.max(cfg.minTrials, n));
252
+ const batched = cfg.minTrials + Math.ceil(Math.max(0, clamped - cfg.minTrials) / cfg.batchSize) * cfg.batchSize;
253
+ return Math.min(cfg.maxTrials, batched);
254
+ }
255
+ /**
256
+ * Expected pairs for a paired case that did not move: the first pair count at
257
+ * which `shouldStopPaired`'s settle e-value, on the mean trajectory at coupling
258
+ * `rho` and `cfg.futilityConfidence` (the stopping rule's default when unset),
259
+ * rules out a drop of `mde`, on the same batch grid as
260
+ * `expectedSequentialSamples`, and `maxTrials` when it never does. The
261
+ * unpaired SPRT figure knows nothing of this rule or of the coupling, which
262
+ * sets how often an unmoved pair disagrees.
263
+ */
264
+ export function expectedSettlePairs(rate, rho, mde, cfg) {
265
+ // Unmoved arms disagree each way only when uncoupled: (1 - rho) p (1 - p).
266
+ const each = (1 - rho) * rate * (1 - rate);
267
+ const confidence = cfg.futilityConfidence ?? DEFAULT_STOP_OPTIONS.futilityConfidence;
268
+ const target = -Math.log(1 - confidence);
269
+ for (let n = 1; n <= cfg.maxTrials; n++) {
270
+ const counts = { bothPass: n * (1 - 2 * each), worse: n * each, better: n * each, bothFail: 0 };
271
+ if (settleLogE(counts, mde) >= target)
272
+ return onBatchGrid(n, cfg);
273
+ }
274
+ return cfg.maxTrials;
275
+ }
276
+ /**
277
+ * Expected runs `shouldStop` takes to stop an unpaired case whose candidate
278
+ * passes at `rate`, checked at `minTrials` and then every `batchSize` runs up
279
+ * to `maxTrials`, in a suite of `suiteSize`. Exact rather than simulated:
280
+ * the decision depends on the candidate only through its counts, so a dynamic
281
+ * program carries the distribution of the success count from one check to the
282
+ * next. Rounded up to a whole run; an expectation is not a grid point.
283
+ */
284
+ function expectedStopRuns(baseline, rate, suiteSize, cfg) {
285
+ const options = {
286
+ suiteSize,
287
+ mde: cfg.mde,
288
+ fdr: cfg.fdr,
289
+ futilityConfidence: cfg.futilityConfidence,
290
+ };
291
+ // live[k]: probability of k successes in n runs with the case still running.
292
+ let live = new Float64Array([1]);
293
+ let n = 0;
294
+ let expected = 0;
295
+ for (let step = cfg.minTrials;; step = Math.min(cfg.batchSize, cfg.maxTrials - n)) {
296
+ for (let i = 0; i < step; i++) {
297
+ const next = new Float64Array(live.length + 1);
298
+ for (let k = 0; k < live.length; k++) {
299
+ next[k] += live[k] * (1 - rate);
300
+ next[k + 1] += live[k] * rate;
301
+ }
302
+ live = next;
303
+ }
304
+ n += step;
305
+ let running = 0;
306
+ for (let k = 0; k <= n; k++) {
307
+ if (live[k] === 0)
308
+ continue;
309
+ if (n >= cfg.maxTrials || shouldStop({ successes: k, trials: n }, baseline, options).stop) {
310
+ expected += live[k] * n;
311
+ live[k] = 0;
312
+ }
313
+ else {
314
+ running += live[k];
315
+ }
316
+ }
317
+ if (running === 0)
318
+ break;
319
+ }
320
+ // Float residue must not push an exact whole number up a run.
321
+ return Math.ceil(expected - 1e-9);
322
+ }
232
323
  /**
233
324
  * Plan a suite. `pilots` holds a pair table per case from a pilot run of the
234
325
  * paired design, ideally with both arms on the same revision; a case with one
@@ -253,16 +344,17 @@ export function makePlan(cases, baseline, cfg = DEFAULT_PLAN, pilots = new Map()
253
344
  // reaches it, and under that function's name for it, `q`. Checked here so
254
345
  // every planner entry point refuses it the same way and names it.
255
346
  requireOpenProbability(cfg.nullQuantile, "nullQuantile", "makePlan");
347
+ requireSettleConfidence(cfg, "makePlan");
348
+ requireRunCeiling(cfg.runsPerCaseCeiling, "makePlan");
349
+ requireTrialGrid(cfg, "makePlan");
256
350
  if (cases.length === 0) {
257
351
  throw new PeeksafeError("PEEKSAFE_E_SUITE_EMPTY", "makePlan: no cases to plan for", {
258
352
  hint: "pass at least one case; makePlan prices a suite, not an empty list",
259
353
  });
260
354
  }
261
- if (!(cfg.costPerRunUsd >= 0) || !(cfg.msPerRun >= 0)) {
262
- throw new PeeksafeError("PEEKSAFE_E_CONFIG", "makePlan: costPerRunUsd and msPerRun must be ≥ 0", {
263
- detail: { costPerRunUsd: cfg.costPerRunUsd, msPerRun: cfg.msPerRun },
264
- });
265
- }
355
+ // `gate` refuses a repeated id; planned, it was priced twice and counted twice in the suite size the bar is set from.
356
+ requireUniqueCaseIds(cases, "makePlan");
357
+ requirePrices(cfg, "makePlan");
266
358
  const m = cases.length;
267
359
  const planned = cases.map((c) => {
268
360
  const pilot = pilots.get(c.id);
@@ -284,12 +376,16 @@ export function makePlan(cases, baseline, cfg = DEFAULT_PLAN, pilots = new Map()
284
376
  // design that is cheap because it decides nothing is not cheap.
285
377
  const bestRuns = decidableAny.reduce((a, p) => a + Math.min(finite(p.unpaired.runs) || Infinity, finite(p.paired.runs) || Infinity), 0);
286
378
  const pairedOnlyCount = planned.filter((p) => p.detectability === "PAIRED_ONLY").length;
287
- // The design the recommendation will name, computed here because the
288
- // *expected* bill has to be priced for it. `pairedOnly > 25%` is the same
289
- // condition the recommendation string uses; they cannot drift apart.
379
+ const pairedDesignCount = decidableAny.filter((p) => p.design === "paired").length;
380
+ // The recommendation string reads these same two flags, so it cannot drift from the design it names.
381
+ const manyPairedOnly = pairedOnlyCount > cases.length * 0.25;
382
+ const mostlyPaired = pairedDesignCount * 2 > decidableAny.length;
290
383
  const recommendedDesign = cfg.design ??
291
- (decidableAny.length > 0 && pairedOnlyCount > cases.length * 0.25 ? "paired" : "unpaired");
292
- const runsPerObservation = recommendedDesign === "paired" ? 2 : 1;
384
+ (decidableAny.length > 0 && (manyPairedOnly || mostlyPaired) ? "paired" : "unpaired");
385
+ // Per case, like `bestRuns`: one suite-wide design billed a mixed suite as if every case ran it.
386
+ const runsPerObs = (p) => (cfg.design ?? p.design ?? recommendedDesign) === "paired" ? 2 : 1;
387
+ // `screenRuns` counts observations, so each case's pass costs its own design's runs.
388
+ const screenPassRuns = planned.reduce((a, p) => a + cfg.screenRuns * runsPerObs(p), 0);
293
389
  // Screening: everything gets `screenRuns`; only the cases the screen ranks as
294
390
  // plausibly moved go on to the sequential test. A clean PR moves nothing, so
295
391
  // in expectation only the FDR-sized tail continues, but a plan must be
@@ -303,18 +399,43 @@ export function makePlan(cases, baseline, cfg = DEFAULT_PLAN, pilots = new Map()
303
399
  // which is `pairs * 2`. The expected total below reads `screenRuns` the same
304
400
  // way, and when this one did not, the two screened figures in `totals`
305
401
  // disagreed about the price of the same pass.
306
- const screenedRuns = m * cfg.screenRuns * runsPerObservation + screenSelected * meanBest;
402
+ const screenedRuns = screenPassRuns + screenSelected * meanBest;
307
403
  const fixedNRuns = planned.reduce((a, p) => a + finite(p.fixedNPerArm), 0);
308
404
  // The expected cost of a pull request that changed nothing, which is what a
309
405
  // pull request almost always is, and therefore the number a budget should be
310
406
  // set from.
311
- // `expectedSequentialSamples` counts *observations*. A paired observation is
312
- // two runs, the candidate and the reference revision on the same seed, and
313
- // so is a paired screening run.
314
- const typical = expectedSequentialSamples(cases, baseline, cfg);
315
- const typicalRuns = typical.samples * runsPerObservation;
316
- const meanTypical = typical.perCase.size > 0 ? typical.samples / typical.perCase.size : 0;
317
- const typicalScreenedRuns = Math.ceil((m * cfg.screenRuns + Math.ceil(m * screenContinueFraction) * meanTypical) * runsPerObservation);
407
+ // Both counts are *observations*. A paired observation is two runs, the
408
+ // candidate and the reference revision on the same seed, and so is a paired
409
+ // screening run. Each case is counted under the rule that stops it: a paired
410
+ // one in pairs to settle, an unpaired one in the runs `shouldStop` takes.
411
+ // Wald's SPRT figure, used for both before, runs a different rule, ignores
412
+ // the coupling and the suite size, and mispriced cases either way.
413
+ const stopRuns = new Map();
414
+ const observations = (p) => {
415
+ const b = baseline.get(p.caseId);
416
+ if (!b || b.trials === 0)
417
+ return 0;
418
+ if (runsPerObs(p) === 2) {
419
+ return expectedSettlePairs(p.baseline.rate, p.pairCoupling, cfg.mde, cfg);
420
+ }
421
+ const key = `${b.successes}/${b.trials}`;
422
+ const known = stopRuns.get(key);
423
+ if (known !== undefined)
424
+ return known;
425
+ const runs = expectedStopRuns(b, b.successes / b.trials, m, cfg);
426
+ stopRuns.set(key, runs);
427
+ return runs;
428
+ };
429
+ const priced = planned.filter((p) => (baseline.get(p.caseId)?.trials ?? 0) > 0).length;
430
+ const typicalObservations = planned.reduce((a, p) => a + observations(p), 0);
431
+ const typicalRuns = planned.reduce((a, p) => a + observations(p) * runsPerObs(p), 0);
432
+ const runsPerObservation = typicalObservations > 0
433
+ ? typicalRuns / typicalObservations
434
+ : recommendedDesign === "paired"
435
+ ? 2
436
+ : 1;
437
+ const meanTypical = priced > 0 ? typicalRuns / priced : 0;
438
+ const typicalScreenedRuns = Math.ceil(screenPassRuns + Math.ceil(m * screenContinueFraction) * meanTypical);
318
439
  const totals = {
319
440
  cases: m,
320
441
  decidableUnpaired: decidableUnpaired.length,
@@ -347,8 +468,12 @@ export function makePlan(cases, baseline, cfg = DEFAULT_PLAN, pilots = new Map()
347
468
  const recommendation = decidableAny.length === 0
348
469
  ? `nothing is decidable at ${(cfg.mde * 100).toFixed(0)} points against this baseline, record more baseline runs or raise the MDE`
349
470
  : recommendedDesign === "paired"
350
- ? `pair the runs: ${pairedOnly.length}/${m} cases have an unpaired evidence ceiling under the bar, so no candidate budget can decide them` +
351
- ` (the costs below are priced at two runs an observation, which is what pairing costs)`
471
+ ? (manyPairedOnly
472
+ ? `pair the runs: ${pairedOnly.length}/${m} cases have an unpaired evidence ceiling under the bar, so no candidate budget can decide them`
473
+ : `pair the runs: ${pairedDesignCount}/${decidableAny.length} decidable cases are cheaper paired than against the stored baseline`) +
474
+ (cfg.design === undefined
475
+ ? ` (the costs below price each case at its own design, two runs an observation where it is paired)`
476
+ : ` (the costs below are priced at two runs an observation, which is what pairing costs)`)
352
477
  : totals.screenedCostUsd < totals.bestCostUsd
353
478
  ? `screen first, then run the sequential test on what the screen keeps ` +
354
479
  `($${totals.screenedCostUsd.toFixed(2)} vs $${totals.bestCostUsd.toFixed(2)})`
@@ -413,6 +538,22 @@ export function affordabilityGrid(baselineRate, baselineTrials, cfg, budgetUsd,
413
538
  // straight from `betaQuantile`, which answers 0 or 1 for a quantile outside
414
539
  // (0,1) and about 0 for NaN instead of refusing. `makePlan` refuses it.
415
540
  requireOpenProbability(cfg.nullQuantile, "nullQuantile", "affordabilityGrid");
541
+ // makePlan refuses both; unchecked, an fdr of 2 priced a grid cheaper than one at 0.05.
542
+ requireOpenProbability(cfg.fdr, "fdr", "affordabilityGrid");
543
+ requireSettleConfidence(cfg, "affordabilityGrid");
544
+ requireTrialGrid(cfg, "affordabilityGrid");
545
+ if (!(cfg.costPerRunUsd >= 0)) {
546
+ throw new PeeksafeError("PEEKSAFE_E_CONFIG", `affordabilityGrid: costPerRunUsd must be ≥ 0, got ${cfg.costPerRunUsd}`, {
547
+ detail: { costPerRunUsd: cfg.costPerRunUsd },
548
+ });
549
+ }
550
+ for (const m of caseCounts) {
551
+ if (!Number.isInteger(m) || m < 1) {
552
+ throw new PeeksafeError("PEEKSAFE_E_CONFIG", `affordabilityGrid: every case count must be a positive integer, got ${m}`, {
553
+ detail: { cases: m },
554
+ });
555
+ }
556
+ }
416
557
  // Every other planner entry point refuses a case with no baseline: `planCase`
417
558
  // returns IMPOSSIBLE with "no baseline", `evaluatePoint` throws on
418
559
  // `baselineRuns < 1`, and `gate` throws PEEKSAFE_E_BASELINE_MISSING. This one
@@ -458,9 +599,12 @@ export function affordabilityGrid(baselineRate, baselineTrials, cfg, budgetUsd,
458
599
  const p0 = betaQuantile(1 + s, 1 + baselineTrials - s, cfg.nullQuantile);
459
600
  const p1 = Math.max(0.005, p0 - mde);
460
601
  const rawN = sprtExpectedN(baselineRate, p0, p1, cfg.alpha, cfg.beta);
461
- const perCaseTypical = Number.isFinite(rawN) && rawN > 0
462
- ? Math.min(cfg.maxTrials, Math.max(cfg.minTrials, Math.ceil(rawN)))
463
- : cfg.maxTrials;
602
+ // A paired cell counts the pairs `shouldStopPaired` takes to settle, as `makePlan` does; the SPRT figure ignores the coupling.
603
+ const perCaseTypical = runsPerObs === 2
604
+ ? expectedSettlePairs(baselineRate, cfg.pairCoupling, mde, cfg)
605
+ : Number.isFinite(rawN) && rawN > 0
606
+ ? Math.min(cfg.maxTrials, Math.max(cfg.minTrials, Math.ceil(rawN)))
607
+ : cfg.maxTrials;
464
608
  // Priced for the same design as the ceiling above (`runsPerObs`), or the
465
609
  // cell quotes an unpaired price for a plan only pairing can execute.
466
610
  const typicalRuns = Math.ceil((m * cfg.screenRuns + Math.ceil(m * 0.1) * perCaseTypical) * runsPerObs);
package/dist/plan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rand.d.ts","sourceRoot":"","sources":["../src/rand.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,IAAI;IACnB,IAAI,MAAM,CAAC;IACX,2CAA2C;IAC3C,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,8CAA8C;IAC9C,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,kFAAkF;IAClF,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,MAAM,IAAI,MAAM,CAAC;CAClB;AAgCD,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwCpD;AAED,+EAA+E;AAC/E,eAAO,MAAM,SAAS,aAAc,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAG,IAC1B,CAAC"}
1
+ {"version":3,"file":"rand.d.ts","sourceRoot":"","sources":["../src/rand.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,IAAI;IACnB,IAAI,MAAM,CAAC;IACX,2CAA2C;IAC3C,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,8CAA8C;IAC9C,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,kFAAkF;IAClF,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7B,8CAA8C;IAC9C,MAAM,IAAI,MAAM,CAAC;CAClB;AAgCD,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOxC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwDpD;AAED,+EAA+E;AAC/E,eAAO,MAAM,SAAS,aAAc,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAG,IAC1B,CAAC"}
package/dist/rand.js CHANGED
@@ -20,7 +20,7 @@
20
20
  * It is not a fine thing to do by accident, which is why the constants are
21
21
  * spelled out here rather than imported.
22
22
  */
23
- import { PeeksafeError } from "./errors.js";
23
+ import { PeeksafeError, requireProbability } from "./errors.js";
24
24
  /**
25
25
  * LCG with Knuth's multiplier 1664525 and increment 1013904223, modulo 2^32.
26
26
  *
@@ -59,10 +59,22 @@ export function hash32(s) {
59
59
  return h >>> 0;
60
60
  }
61
61
  export function makeRand(seed) {
62
- const s = typeof seed === "string" ? hash32(seed) : seed >>> 0;
63
- const base = lcg(s === 0 ? 1 : s);
62
+ // `>>> 0` folded NaN, Infinity, 1.5 and 2^32 onto 0, and the old 0-to-1 remap put seed 1 there too.
63
+ if (typeof seed === "number" && !(Number.isInteger(seed) && seed >= 0 && seed < 0x100000000)) {
64
+ throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `makeRand: a numeric seed must be an integer in [0, 2^32), got ${seed}`, {
65
+ detail: { seed },
66
+ hint: "pass a string to key a stream by name; it is hashed with hash32",
67
+ });
68
+ }
69
+ const s = typeof seed === "string" ? hash32(seed) : seed;
70
+ // Hull-Dobell: an odd increment and a multiplier of 1 mod 4 give a full period from every seed, 0 included.
71
+ const base = lcg(s);
64
72
  const next = (() => mix32(Math.floor(base() * 0x100000000)) / 0x100000000);
65
- next.bernoulli = (p) => next() < p;
73
+ // `next() < p` is false for every draw at NaN, so a rate that failed to compute simulated a case that never passes.
74
+ next.bernoulli = (p) => {
75
+ requireProbability(p, "p", "rand.bernoulli");
76
+ return next() < p;
77
+ };
66
78
  next.int = (n) => {
67
79
  if (!Number.isInteger(n) || n < 1) {
68
80
  throw new PeeksafeError("PEEKSAFE_E_STAT_DOMAIN", `rand.int: n must be a positive integer, got ${n}`, {
package/dist/rand.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rand.js","sourceRoot":"","sources":["../src/rand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rand.js","sourceRoot":"","sources":["../src/rand.ts"],"names":[],"mappings":"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"}
package/dist/stats.d.ts CHANGED
@@ -202,8 +202,12 @@ export interface EbhResult {
202
202
  threshold: number;
203
203
  }
204
204
  export declare function ebhCorrect(evalues: number[], q?: number): EbhResult;
205
- /** The e-value a case must reach to be certain of rejection whatever the others do. */
206
- export declare const ebhSoloThreshold: (m: number, q?: number) => number;
205
+ /**
206
+ * The e-value a case must reach to be certain of rejection whatever the others do.
207
+ *
208
+ * `q` is checked as `ebhCorrect` checks it, so a level of 0 answers Infinity.
209
+ */
210
+ export declare function ebhSoloThreshold(m: number, q?: number): number;
207
211
  /**
208
212
  * Fixed-N sample size per arm for detecting a `delta` drop from `p0` at the
209
213
  * given error rates. This is the "naive approach" peeksafe is measured against.
@@ -340,7 +344,7 @@ export interface PairedCounts {
340
344
  /** both arms failed */
341
345
  bothFail: number;
342
346
  }
343
- export declare const discordant: (p: PairedCounts) => number;
347
+ export declare function discordant(p: PairedCounts): number;
344
348
  /**
345
349
  * Phi coefficient of the 2×2 pair table, how well the pairing actually
346
350
  * coupled the two arms. 0 means the seeds bought nothing (the arms are
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}