aboutsummaryrefslogtreecommitdiff
path: root/src/modules/datatype
diff options
context:
space:
mode:
authorShinigami <[email protected]>2022-10-30 09:03:26 +0100
committerGitHub <[email protected]>2022-10-30 08:03:26 +0000
commit9abfcfb90cc73bfe961d446f5fb950976d5c2ccd (patch)
tree1e76203a6cfd8bb6c2b83734fee4cebf56db5072 /src/modules/datatype
parent4da3d5eac3805f609f4e40385aee6a645fd93540 (diff)
downloadfaker-9abfcfb90cc73bfe961d446f5fb950976d5c2ccd.tar.xz
faker-9abfcfb90cc73bfe961d446f5fb950976d5c2ccd.zip
refactor(mersenne): rewrite internal mersenne (#1447)
Diffstat (limited to 'src/modules/datatype')
-rw-r--r--src/modules/datatype/index.ts11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/modules/datatype/index.ts b/src/modules/datatype/index.ts
index 41c5c3e4..d4fcbbd6 100644
--- a/src/modules/datatype/index.ts
+++ b/src/modules/datatype/index.ts
@@ -1,7 +1,7 @@
import type { Faker } from '../..';
import { FakerError } from '../../errors/faker-error';
import { deprecated } from '../../internal/deprecated';
-import type { MersenneModule } from '../../internal/mersenne/mersenne';
+import type { Mersenne } from '../../internal/mersenne/mersenne';
/**
* Module to generate various primitive values and data types.
@@ -56,13 +56,14 @@ export class DatatypeModule {
throw new FakerError(`Max ${max} should be greater than min ${min}.`);
}
- const mersenne: MersenneModule =
+ const mersenne: Mersenne =
// @ts-expect-error: access private member field
this.faker._mersenne;
- const randomNumber = Math.floor(
- mersenne.rand(max / precision + 1, min / precision)
- );
+ const randomNumber = mersenne.next({
+ min: min / precision,
+ max: max / precision + 1,
+ });
// Workaround problem in float point arithmetics for e.g. 6681493 / 0.01
return randomNumber / (1 / precision);