FLImaging 6.6.27.1
XorshiroRandomGeneratorStatic.h
1#pragma once
10
12namespace FLImaging
13{
15 namespace ImageProcessing
16 {
23 class FL_EXPORT CXorshiroRandomGeneratorStatic : public Base::CFLBase
24 {
25 private:
26 CXorshiroRandomGeneratorStatic();
27
28 public:
29
38
48 static uint32_t GenerateUniformRandomValueU32(uint64_t u64Seed);
49
59 static uint32_t GenerateUniformRandomValueU32(uint32_t arrU32State[2]);
60
72 static uint32_t GenerateUniformRandomValueU32(uint32_t u32Min, uint32_t u32Max);
73
87 static uint32_t GenerateUniformRandomValueU32(uint32_t u32Min, uint32_t u32Max, uint64_t u64Seed);
88
102 static uint32_t GenerateUniformRandomValueU32(uint32_t u32Min, uint32_t u32Max, uint32_t arrU32State[2]);
103
115 static int32_t GenerateUniformRandomValueI32(int32_t i32Min, int32_t i32Max);
116
130 static int32_t GenerateUniformRandomValueI32(int32_t i32Min, int32_t i32Max, uint64_t u64Seed);
131
145 static int32_t GenerateUniformRandomValueI32(int32_t i32Min, int32_t i32Max, uint32_t arrU32State[2]);
146
158 static float GenerateUniformRandomValueF32(float f32Min = 0.f, float f32Max = 1.f);
159
173 static float GenerateUniformRandomValueF32(float f32Min, float f32Max, uint64_t u64Seed);
174
188 static float GenerateUniformRandomValueF32(float f32Min, float f32Max, uint32_t arrU32State[2]);
189
198
208 static float GenerateStandardNormalRandomValueF32(uint64_t u64Seed);
209
219 static float GenerateStandardNormalRandomValueF32(float &f32StdNormal2nd);
220
230 static float GenerateStandardNormalRandomValueF32(uint32_t arrU32State[2]);
231
243 static float GenerateStandardNormalRandomValueF32(uint32_t arrU32State[2], float &f32StdNormal2nd);
244
256 static float GenerateNormalRandomValueF32(float f32Mean = 0.f, float f32Stdev = 1.f);
257
271 static float GenerateNormalRandomValueF32(float f32Mean, float f32Stdev, uint64_t u64Seed);
272
286 static float GenerateNormalRandomValueF32(float f32Mean, float f32Stdev, float &f32Normal2nd);
287
301 static float GenerateNormalRandomValueF32(float f32Mean, float f32Stdev, uint32_t arrU32State[2]);
302
318 static float GenerateNormalRandomValueF32(float f32Mean, float f32Stdev, uint32_t arrU32State[2], float &f32Normal2nd);
319
328
338 static uint64_t GenerateUniformRandomValueU64(uint64_t u64Seed);
339
349 static uint64_t GenerateUniformRandomValueU64(uint64_t arrU64State[2]);
350
362 static uint64_t GenerateUniformRandomValueU64(uint64_t u64Min, uint64_t u64Max);
363
377 static uint64_t GenerateUniformRandomValueU64(uint64_t u64Min, uint64_t u64Max, uint64_t u64Seed);
378
392 static uint64_t GenerateUniformRandomValueU64(uint64_t u64Min, uint64_t u64Max, uint64_t arrU64State[2]);
393
405 static int64_t GenerateUniformRandomValueI64(int64_t i64Min, int64_t i64Max);
406
420 static int64_t GenerateUniformRandomValueI64(int64_t i64Min, int64_t i64Max, uint64_t u64Seed);
421
435 static int64_t GenerateUniformRandomValueI64(int64_t i64Min, int64_t i64Max, uint64_t arrU64State[2]);
436
448 static double GenerateUniformRandomValueF64(double f64Min = 0., double f64Max = 1.);
449
463 static double GenerateUniformRandomValueF64(double f64Min, double f64Max, uint64_t u64Seed);
464
478 static double GenerateUniformRandomValueF64(double f64Min, double f64Max, uint64_t arrU64State[2]);
479
488
498 static double GenerateStandardNormalRandomValueF64(uint64_t u64Seed);
499
509 static double GenerateStandardNormalRandomValueF64(double &f64StdNormal2nd);
510
520 static double GenerateStandardNormalRandomValueF64(uint64_t arrU64State[2]);
521
533 static double GenerateStandardNormalRandomValueF64(uint64_t arrU64State[2], double &f64StdNormal2nd);
534
546 static double GenerateNormalRandomValueF64(double f64Mean = 0., double f64Stdev = 1.);
547
561 static double GenerateNormalRandomValueF64(double f64Mean, double f64Stdev, uint64_t u64Seed);
562
576 static double GenerateNormalRandomValueF64(double f64Mean, double f64Stdev, double &f64Normal2nd);
577
591 static double GenerateNormalRandomValueF64(double f64Mean, double f64Stdev, uint64_t arrU64State[2]);
592
608 static double GenerateNormalRandomValueF64(double f64Mean, double f64Stdev, uint64_t arrU64State[2], double &f64Normal2nd);
609
614 static void Seed(uint64_t u64Seed = 0x9d84a3d390df0c46);
615
620 static void Initialize();
621
631 static void InitializeExternalState32(uint32_t arrU32State[2], uint64_t u64Seed);
632
642 static void InitializeExternalState64(uint64_t arrU64State[2], uint64_t u64Seed);
643
651 static void SetInternalState32(const uint32_t arrU32State[2]);
652
660 static void SetInternalState64(const uint64_t arrU64State[2]);
661
669 static void GetInternalState32(uint32_t arrU32State[2]);
670
678 static void GetInternalState64(uint64_t arrU64State[2]);
683 static void Jump32();
684
692 static void Jump32(uint32_t arrU32State[2]);
693
698 static void Jump64();
699
707 static void Jump64(uint64_t arrU64State[2]);
708
709
710 protected:
711
712 static uint32_t m_arrU32State[2];
713 static uint64_t m_arrU64State[2];
714 };
715 }
716}
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
static float GenerateStandardNormalRandomValueF32(uint32_t arrU32State[2])
static uint64_t GenerateUniformRandomValueU64(uint64_t arrU64State[2])
static double GenerateNormalRandomValueF64(double f64Mean, double f64Stdev, uint64_t arrU64State[2])
static float GenerateStandardNormalRandomValueF32(float &f32StdNormal2nd)
static void GetInternalState32(uint32_t arrU32State[2])
static double GenerateNormalRandomValueF64(double f64Mean, double f64Stdev, uint64_t u64Seed)
static uint64_t GenerateUniformRandomValueU64(uint64_t u64Seed)
static void GetInternalState64(uint64_t arrU64State[2])
static uint64_t GenerateUniformRandomValueU64(uint64_t u64Min, uint64_t u64Max)
static double GenerateNormalRandomValueF64(double f64Mean, double f64Stdev, uint64_t arrU64State[2], double &f64Normal2nd)
static void InitializeExternalState32(uint32_t arrU32State[2], uint64_t u64Seed)
static float GenerateUniformRandomValueF32(float f32Min, float f32Max, uint64_t u64Seed)
static double GenerateNormalRandomValueF64(double f64Mean, double f64Stdev, double &f64Normal2nd)
static double GenerateStandardNormalRandomValueF64(uint64_t arrU64State[2], double &f64StdNormal2nd)
static int64_t GenerateUniformRandomValueI64(int64_t i64Min, int64_t i64Max, uint64_t u64Seed)
static uint32_t GenerateUniformRandomValueU32(uint32_t u32Min, uint32_t u32Max)
static double GenerateUniformRandomValueF64(double f64Min=0., double f64Max=1.)
static double GenerateUniformRandomValueF64(double f64Min, double f64Max, uint64_t arrU64State[2])
static uint32_t GenerateUniformRandomValueU32(uint64_t u64Seed)
static int32_t GenerateUniformRandomValueI32(int32_t i32Min, int32_t i32Max)
static uint32_t GenerateUniformRandomValueU32(uint32_t u32Min, uint32_t u32Max, uint64_t u64Seed)
static float GenerateStandardNormalRandomValueF32(uint64_t u64Seed)
static float GenerateNormalRandomValueF32(float f32Mean, float f32Stdev, uint64_t u64Seed)
static float GenerateUniformRandomValueF32(float f32Min, float f32Max, uint32_t arrU32State[2])
static float GenerateStandardNormalRandomValueF32(uint32_t arrU32State[2], float &f32StdNormal2nd)
static uint64_t GenerateUniformRandomValueU64(uint64_t u64Min, uint64_t u64Max, uint64_t u64Seed)
static void InitializeExternalState64(uint64_t arrU64State[2], uint64_t u64Seed)
static uint64_t GenerateUniformRandomValueU64(uint64_t u64Min, uint64_t u64Max, uint64_t arrU64State[2])
static int32_t GenerateUniformRandomValueI32(int32_t i32Min, int32_t i32Max, uint32_t arrU32State[2])
static double GenerateStandardNormalRandomValueF64(double &f64StdNormal2nd)
static void Seed(uint64_t u64Seed=0x9d84a3d390df0c46)
static uint32_t GenerateUniformRandomValueU32(uint32_t arrU32State[2])
static double GenerateNormalRandomValueF64(double f64Mean=0., double f64Stdev=1.)
static double GenerateStandardNormalRandomValueF64(uint64_t arrU64State[2])
static int64_t GenerateUniformRandomValueI64(int64_t i64Min, int64_t i64Max, uint64_t arrU64State[2])
static void SetInternalState64(const uint64_t arrU64State[2])
static double GenerateStandardNormalRandomValueF64(uint64_t u64Seed)
static void SetInternalState32(const uint32_t arrU32State[2])
static float GenerateNormalRandomValueF32(float f32Mean, float f32Stdev, uint32_t arrU32State[2], float &f32Normal2nd)
static float GenerateUniformRandomValueF32(float f32Min=0.f, float f32Max=1.f)
static float GenerateNormalRandomValueF32(float f32Mean=0.f, float f32Stdev=1.f)
static float GenerateNormalRandomValueF32(float f32Mean, float f32Stdev, uint32_t arrU32State[2])
static uint32_t GenerateUniformRandomValueU32(uint32_t u32Min, uint32_t u32Max, uint32_t arrU32State[2])
static int64_t GenerateUniformRandomValueI64(int64_t i64Min, int64_t i64Max)
static double GenerateUniformRandomValueF64(double f64Min, double f64Max, uint64_t u64Seed)
static int32_t GenerateUniformRandomValueI32(int32_t i32Min, int32_t i32Max, uint64_t u64Seed)
static float GenerateNormalRandomValueF32(float f32Mean, float f32Stdev, float &f32Normal2nd)
Definition AbsoluteThreshold.h:25