IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
UniformRandomLCG.h
Go to the documentation of this file.
1 // UniformRandomLCG.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_UNIFORMRANDOMLCG_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_UNIFORMRANDOMLCG_H__
17 
23 
24 namespace ipsdk {
25 namespace simd {
26 
29 
30 
31 template <eInstructionSet::domain instructionSet, typename T>
33 public:
37  UniformRandomLCG(T tmin, T tmax);
38 
41  UniformRandomLCG(T tmin, T tmax, ipUInt32 nSeed);
42 
46  {
48  _rRangeMultiplier, _rRangeOffset, _seed);
49  }
50 
51 protected:
52  typedef typename RegType<instructionSet,
54  instructionSet, T>::FloatType>::Type RegFloat;
55 
57  RegFloat _rRangeMultiplier;
58  RegFloat _rRangeOffset;
59 
60 };
61 
64 
65 } // end of namespace simd
66 } // end of namespace ipsdk
67 
68 #endif // __IPSDKUTIL_INSTRUCTIONSET_UNIFORMRANDOMLCG_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
UniformRandomLCG(T tmin, T tmax)
constructor; create a UniformRandomLCG, that will generate random values uniformly distributed on the...
IPSDK_FORCEINLINE BasePack< IS2PackType< instructionSet >::_packType, T > operator()()
generate a random value of type T to each element of a Pack<instructionSet, T>
Definition: UniformRandomLCG.h:45
Definition: UniformRandomLCGReg.h:29
Definition of import/export macro for library.
Definition: UniformRandomLCG.h:32
AddPack<eInstructionSet::domain instructionSet, typename TIn1, typename TIn2, typename Enable=void> s...
Definition: RegType.h:29
Definition: UniformRandomLCGPack.h:37
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29