IPPL API Reference
Independent Parallel Particle Layer C++ API
Loading...
Searching...
No Matches
ippl::random::randu< T, Dim > Struct Template Reference

Functor to generate random numbers from a uniform distribution. More...

#include <Randu.h>

+ Collaboration diagram for ippl::random::randu< T, Dim >:

Public Types

using view_type = typename ippl::detail::ViewType< ippl::Vector< double, Dim >, 1 >::view_type
 
using GeneratorPool = typename Kokkos::Random_XorShift64_Pool<>
 

Public Member Functions

KOKKOS_INLINE_FUNCTION randu (view_type v_, GeneratorPool rand_pool_, T *rmin_p, T *rmax_p)
 Constructor for the randu functor.
 
KOKKOS_INLINE_FUNCTION randu (view_type v_, GeneratorPool rand_pool_)
 
KOKKOS_INLINE_FUNCTION void operator() (const size_t i) const
 Operator to generate random numbers.
 

Public Attributes

view_type v
 
GeneratorPool rand_pool
 
rmin [Dim]
 
rmax [Dim]
 

Detailed Description

template<typename T, unsigned Dim>
struct ippl::random::randu< T, Dim >

Functor to generate random numbers from a uniform distribution.

This functor generates random numbers from a uniform distribution in the range [rmin, rmax].

Template Parameters
TData type of the random numbers.
GeneratorPoolType of the random number generator pool.
DimDimensionality of the random numbers.

Constructor & Destructor Documentation

◆ randu()

template<typename T , unsigned Dim>
KOKKOS_INLINE_FUNCTION ippl::random::randu< T, Dim >::randu ( view_type  v_,
GeneratorPool  rand_pool_,
T *  rmin_p,
T *  rmax_p 
)
inline

Constructor for the randu functor.

Parameters
v_Output view for the random numbers.
rand_pool_The random number generator pool.
rminThe minimum of random number.
rmaxThe maximum of random number.

Member Function Documentation

◆ operator()()

template<typename T , unsigned Dim>
KOKKOS_INLINE_FUNCTION void ippl::random::randu< T, Dim >::operator() ( const size_t  i) const
inline

Operator to generate random numbers.

Parameters
iIndex for the random numbers.

The documentation for this struct was generated from the following file: