import { CurrentType } from '../../types/index.js'
import { Constants, roundTo } from '../../utils/index.js'
import { interpolateChargingCurve } from './EvProfiles.js'
-import { createStreamPrng } from './Prng.js'
+import { createStreamPrng } from './PRNG.js'
/**
* Runtime-only per-session state. Kept in a module-scope WeakMap keyed by
* (`disposeCoherentSessionRuntime`) live in
* {@link ./CoherentSampleComputer}; MeterValue emission lives in
* {@link ./CoherentMeterValueBuilder}; PRNG primitives
- * ({@link ./Prng.createStreamPrng}, `deriveSeed`, `hashLabel`,
- * `mulberry32`) live in {@link ./Prng}. This module owns only
+ * ({@link ./PRNG.createStreamPrng}, `deriveSeed`, `hashLabel`,
+ * `mulberry32`) live in {@link ./PRNG}. This module owns only
* session identity and the strategy predicate — it has no cross-module
* private dependencies.
*/
import { CurrentType, Voltage } from '../../types/index.js'
import { Constants, logger } from '../../utils/index.js'
import { selectEvProfile } from './EvProfiles.js'
-import { createStreamPrng, hashLabel } from './Prng.js'
+import { createStreamPrng, hashLabel } from './PRNG.js'
const moduleName = 'CoherentSession'
* and per-transaction seed material. Weight-based profile selection uses a
* dedicated `'PROFILE_PICK'` stream and initial SoC uses `'INITIAL_SOC'`,
* so adding one consumer does not shift any other stream's sequence
- * (stream-splitting via FNV-1a label hashing — see `deriveSeed` in `Prng.ts`).
+ * (stream-splitting via FNV-1a label hashing - see `deriveSeed` in `PRNG.ts`).
*
* The nominal AC voltage is treated as phase voltage (line-to-neutral) per
* {@link ../../utils/ElectricUtils.ACElectricUtils}. If the station is AC
* module-scope runtime WeakMap (`disposeCoherentSessionRuntime`).
* - {@link ./CoherentMeterValueBuilder} — emit order, phase families,
* unit conversion, OCPP MeterValue assembly.
- * - {@link ./Prng} — PRNG primitives (`mulberry32`, `hashLabel`,
+ * - {@link ./PRNG} - PRNG primitives (`mulberry32`, `hashLabel`,
* `deriveSeed`, `createStreamPrng`).
*/
* and same-seed determinism across AC 1-phase, AC 3-phase, and DC modes.
* Cross-module tests spanning `CoherentSampleComputer` (physics),
* `CoherentMeterValueBuilder` (emission), `CoherentSession` (lifecycle),
- * and `Prng` (stream splitting).
+ * and `PRNG` (stream splitting).
*/
import assert from 'node:assert/strict'
createCoherentSession,
resolveRootSeed,
} from '../../../src/charging-station/meter-values/CoherentSession.js'
-import { hashLabel } from '../../../src/charging-station/meter-values/Prng.js'
+import { hashLabel } from '../../../src/charging-station/meter-values/PRNG.js'
import {
AvailabilityType,
CurrentType,
deriveSeed,
hashLabel,
mulberry32,
-} from '../../../src/charging-station/meter-values/Prng.js'
+} from '../../../src/charging-station/meter-values/PRNG.js'
import { standardCleanup } from '../../helpers/TestLifecycleHelpers.js'
-await describe('Prng', async () => {
+await describe('PRNG', async () => {
afterEach(() => {
standardCleanup()
})