Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::VecOps Namespace Reference

Classes

class  RVec
 A "std::vector"-like collection of values implementing handy operation to analyse them. More...
 
class  RVecN
 

Functions

template<typename T >
auto All (const RVec< T > &v) -> decltype(v[0]==false)
 Return true if all of the elements equate to true, return false otherwise.
 
template<typename T0 , typename T1 = T0, typename T2 = T0, typename T3 = T0, typename T4 = T0, typename T5 = T0, typename Common_t = std::common_type_t<T0, T1>>
Common_t Angle (T0 x1, T1 y1, T2 z1, T3 x2, T4 y2, T5 z2)
 Return the angle between two three-vectors given the quantities x coordinate (x), y coordinate (y), z coordinate (y).
 
template<typename T >
auto Any (const RVec< T > &v) -> decltype(v[0]==true)
 Return true if any of the elements equates to true, return false otherwise.
 
template<typename T >
std::size_t ArgMax (const RVec< T > &v)
 Get the index of the greatest element of an RVec In case of multiple occurrences of the maximum values, the index corresponding to the first occurrence is returned.
 
template<typename T >
std::size_t ArgMin (const RVec< T > &v)
 Get the index of the smallest element of an RVec In case of multiple occurrences of the minimum values, the index corresponding to the first occurrence is returned.
 
template<typename T >
RVec< typename RVec< T >::size_type > Argsort (const RVec< T > &v)
 Return an RVec of indices that sort the input RVec.
 
template<typename T , typename Compare >
RVec< typename RVec< T >::size_type > Argsort (const RVec< T > &v, Compare &&c)
 Return an RVec of indices that sort the input RVec based on a comparison function.
 
template<typename T , unsigned N>
size_t CapacityInBytes (const RVecN< T, N > &X)
 
template<typename T >
RVec< RVec< typename RVec< T >::size_type > > Combinations (const RVec< T > &v, const typename RVec< T >::size_type n)
 Return the indices that represent all unique combinations of the elements of a given RVec.
 
template<typename T1 , typename T2 >
RVec< RVec< typename RVec< T1 >::size_type > > Combinations (const RVec< T1 > &v1, const RVec< T2 > &v2)
 Return the indices that represent all combinations of the elements of two RVecs.
 
RVec< RVec< std::size_t > > Combinations (const std::size_t size1, const std::size_t size2)
 Return the indices that represent all combinations of the elements of two RVecs.
 
template<typename T0 , typename T1 , typename Common_t = typename std::common_type<T0, T1>::type>
RVec< Common_t > Concatenate (const RVec< T0 > &v0, const RVec< T1 > &v1)
 Return the concatenation of two RVecs.
 
template<typename T , typename... Args_t>
RVec< T > Construct (const RVec< Args_t > &... args)
 Build an RVec of objects starting from RVecs of input to their constructors.
 
template<typename T0 , typename T1 = T0, typename Common_t = typename std::common_type_t<T0, T1>>
RVec< Common_t > DeltaPhi (const RVec< T0 > &v1, const RVec< T1 > &v2, const Common_t c=M_PI)
 Return the angle difference \(\Delta \phi\) in radians of two vectors.
 
template<typename T0 , typename T1 = T0, typename Common_t = typename std::common_type_t<T0, T1>>
RVec< Common_t > DeltaPhi (const RVec< T0 > &v1, T1 v2, const Common_t c=M_PI)
 Return the angle difference \(\Delta \phi\) in radians of a vector and a scalar.
 
template<typename T0 , typename T1 = T0, typename Common_t = typename std::common_type_t<T0, T1>>
RVec< Common_t > DeltaPhi (T0 v1, const RVec< T1 > &v2, const Common_t c=M_PI)
 Return the angle difference \(\Delta \phi\) in radians of a scalar and a vector.
 
template<typename T0 , typename T1 = T0, typename Common_t = std::common_type_t<T0, T1>>
Common_t DeltaPhi (T0 v1, T1 v2, const Common_t c=M_PI)
 Return the angle difference \(\Delta \phi\) of two scalars.
 
template<typename T0 , typename T1 = T0, typename T2 = T0, typename T3 = T0, typename Common_t = std::common_type_t<T0, T1, T2, T3>>
RVec< Common_t > DeltaR (const RVec< T0 > &eta1, const RVec< T1 > &eta2, const RVec< T2 > &phi1, const RVec< T3 > &phi2, const Common_t c=M_PI)
 Return the distance on the \(\eta\)- \(\phi\) plane ( \(\Delta R\)) from the collections eta1, eta2, phi1 and phi2.
 
template<typename T0 , typename T1 = T0, typename T2 = T0, typename T3 = T0, typename Common_t = std::common_type_t<T0, T1, T2, T3>>
Common_t DeltaR (T0 eta1, T1 eta2, T2 phi1, T3 phi2, const Common_t c=M_PI)
 Return the distance on the \(\eta\)- \(\phi\) plane ( \(\Delta R\)) from the scalars eta1, eta2, phi1 and phi2.
 
template<typename T0 , typename T1 = T0, typename T2 = T0, typename T3 = T0, typename Common_t = std::common_type_t<T0, T1, T2, T3>>
RVec< Common_t > DeltaR2 (const RVec< T0 > &eta1, const RVec< T1 > &eta2, const RVec< T2 > &phi1, const RVec< T3 > &phi2, const Common_t c=M_PI)
 Return the square of the distance on the \(\eta\)- \(\phi\) plane ( \(\Delta R\)) from the collections eta1, eta2, phi1 and phi2.
 
template<typename T , typename V >
auto Dot (const RVec< T > &v0, const RVec< V > &v1) -> decltype(v0[0] *v1[0])
 Inner product.
 
template<typename T >
RVec< T > Drop (const RVec< T > &v, RVec< typename RVec< T >::size_type > idxs)
 Return a copy of the container without the elements at the specified indices.
 
template<typename T >
RVec< typename RVec< T >::size_type > Enumerate (const RVec< T > &v)
 For any Rvec v produce another RVec with entries starting from 0, and incrementing by 1 until a N = v.size() is reached.
 
template<typename T , typename F >
RVec< T > Filter (const RVec< T > &v, F &&f)
 Create a new collection with the elements passing the filter expressed by the predicate.
 
template<typename T >
RVec< T > Intersect (const RVec< T > &v1, const RVec< T > &v2, bool v2_is_sorted=false)
 Return the intersection of elements of two RVecs.
 
template<typename T0 , typename T1 = T0, typename T2 = T0, typename T3 = T0, typename Common_t = std::common_type_t<T0, T1, T2, T3>>
Common_t InvariantMass (const RVec< T0 > &pt, const RVec< T1 > &eta, const RVec< T2 > &phi, const RVec< T3 > &mass)
 Return the invariant mass of multiple particles given the collections of the quantities transverse momentum (pt), rapidity (eta), azimuth (phi) and mass.
 
template<typename T0 , typename T1 = T0, typename T2 = T0, typename T3 = T0, typename T4 = T0, typename T5 = T0, typename T6 = T0, typename T7 = T0, typename Common_t = std::common_type_t<T0, T1, T2, T3, T4, T5, T6, T7>>
RVec< Common_t > InvariantMasses (const RVec< T0 > &pt1, const RVec< T1 > &eta1, const RVec< T2 > &phi1, const RVec< T3 > &mass1, const RVec< T4 > &pt2, const RVec< T5 > &eta2, const RVec< T6 > &phi2, const RVec< T7 > &mass2)
 Return the invariant mass of two particles given the collections of the quantities transverse momentum (pt), rapidity (eta), azimuth (phi) and mass.
 
template<typename T0 , typename T1 = T0, typename T2 = T0, typename T3 = T0, typename T4 = T0, typename T5 = T0, typename T6 = T0, typename T7 = T0, typename Common_t = std::common_type_t<T0, T1, T2, T3, T4, T5, T6, T7>>
RVec< Common_t > InvariantMasses_PxPyPzM (const RVec< T0 > &px1, const RVec< T1 > &py1, const RVec< T2 > &pz1, const RVec< T3 > &mass1, const RVec< T4 > &px2, const RVec< T5 > &py2, const RVec< T6 > &pz2, const RVec< T7 > &mass2)
 Return the invariant mass of two particles given the collections of the quantities x coordinate (px), y coordinate (py), z coordinate (pz) and mass.
 
template<typename T0 , typename T1 = T0, typename T2 = T0, typename T3 = T0, typename T4 = T0, typename T5 = T0, typename T6 = T0, typename T7 = T0, typename Common_t = std::common_type_t<T0, T1, T2, T3, T4, T5, T6, T7>>
Common_t InvariantMasses_PxPyPzM (const T0 &x1, const T1 &y1, const T2 &z1, const T3 &mass1, const T4 &x2, const T5 &y2, const T6 &z2, const T7 &mass2)
 Return the invariant mass of two particles given x coordinate (px), y coordinate (py), z coordinate (pz) and mass.
 
template<typename... Args>
auto Map (Args &&... args)
 Create new collection applying a callable to the elements of the input collection.
 
template<typename T >
Max (const RVec< T > &v)
 Get the greatest element of an RVec.
 
template<typename T >
double Mean (const RVec< T > &v)
 Get the mean of the elements of an RVec.
 
template<typename T , typename R = T>
R Mean (const RVec< T > &v, const R zero)
 Get the mean of the elements of an RVec with custom initial value.
 
template<typename T >
Min (const RVec< T > &v)
 Get the smallest element of an RVec.
 
template<typename T >
RVec< typename RVec< T >::size_type > Nonzero (const RVec< T > &v)
 Return the indices of the elements which are not zero.
 
template<class T >
std::ostream & operator<< (std::ostream &os, const RVec< T > &v)
 Print a RVec at the prompt:
 
template<typename T >
Product (const RVec< T > &v, const T init=T(1))
 Return the product of the elements of the RVec.
 
RVec< long long intRange (long long int begin, long long int end, long long int stride)
 Allows for negative begin, end, and/or stride.
 
RVec< std::size_t > Range (std::size_t begin, std::size_t end)
 Produce RVec with entries equal to begin, begin+1, ..., end-1.
 
RVec< std::size_t > Range (std::size_t length)
 Produce RVec with entries starting from 0, and incrementing by 1 until a user-specified N is reached.
 
template<typename T >
RVec< T > Reverse (const RVec< T > &v)
 Return copy of reversed vector.
 
template<typename T >
RVec< T > Sort (const RVec< T > &v)
 Return copy of RVec with elements sorted in ascending order.
 
template<typename T , typename Compare >
RVec< T > Sort (const RVec< T > &v, Compare &&c)
 Return copy of RVec with elements sorted based on a comparison operator.
 
template<typename T >
RVec< typename RVec< T >::size_type > StableArgsort (const RVec< T > &v)
 Return an RVec of indices that sort the input RVec while keeping the order of equal elements.
 
template<typename T , typename Compare >
RVec< typename RVec< T >::size_type > StableArgsort (const RVec< T > &v, Compare &&c)
 Return an RVec of indices that sort the input RVec based on a comparison function while keeping the order of equal elements.
 
template<typename T >
RVec< T > StableSort (const RVec< T > &v)
 Return copy of RVec with elements sorted in ascending order while keeping the order of equal elements.
 
template<typename T , typename Compare >
RVec< T > StableSort (const RVec< T > &v, Compare &&c)
 Return copy of RVec with elements sorted based on a comparison operator while keeping the order of equal elements.
 
template<typename T >
double StdDev (const RVec< T > &v)
 Get the standard deviation of the elements of an RVec.
 
std::size_t Sum (const RVec< bool > &v, std::size_t zero=0ul)
 
template<typename T >
Sum (const RVec< T > &v, const T zero=T(0))
 Sum elements of an RVec.
 
template<typename T >
void swap (RVec< T > &lhs, RVec< T > &rhs)
 
template<typename T >
RVec< T > Take (const RVec< T > &v, const int n)
 Return first n elements of an RVec if n > 0 and last n elements if n < 0.
 
template<typename T >
RVec< T > Take (const RVec< T > &v, const int n, const T default_val)
 Return first n elements of an RVec if n > 0 and last n elements if n < 0.
 
template<typename T >
RVec< T > Take (const RVec< T > &v, const RVec< typename RVec< T >::size_type > &i)
 Return elements of a vector at given indices.
 
template<typename T >
RVec< T > Take (const RVec< T > &v, const RVec< typename RVec< T >::size_type > &i, const T default_val)
 Take version that defaults to (user-specified) output value if some index is out of range.
 
template<typename T >
double Var (const RVec< T > &v)
 Get the variance of the elements of an RVec.
 
template<typename T >
RVec< T > Where (const RVec< int > &c, const RVec< T > &v1, const RVec< T > &v2)
 Return the elements of v1 if the condition c is true and v2 if the condition c is false.
 
template<typename T >
RVec< T > Where (const RVec< int > &c, const RVec< T > &v1, typename RVec< T >::value_type v2)
 Return the elements of v1 if the condition c is true and sets the value v2 if the condition c is false.
 
template<typename T >
RVec< T > Where (const RVec< int > &c, T v1, T v2)
 Return a vector with the value v2 if the condition c is false and sets the value v1 if the condition c is true.
 
template<typename T >
RVec< T > Where (const RVec< int > &c, typename RVec< T >::value_type v1, const RVec< T > &v2)
 Return the elements of v2 if the condition c is false and sets the value v1 if the condition c is true.
 
RVec Unary Arithmetic Operators
template<typename T >
RVec< T > operator+ (const RVec< T > &v)
 
template<typename T >
RVec< T > operator- (const RVec< T > &v)
 
template<typename T >
RVec< T > operator~ (const RVec< T > &v)
 
template<typename T >
RVec< T > operator! (const RVec< T > &v)
 
RVec Binary Arithmetic Operators
template<typename T0 , typename T1 >
auto operator+ (const RVec< T0 > &v, const T1 &y) -> RVec< decltype(v[0]+y)>
 
template<typename T0 , typename T1 >
auto operator+ (const T0 &x, const RVec< T1 > &v) -> RVec< decltype(x+v[0])>
 
template<typename T0 , typename T1 >
auto operator+ (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< decltype(v0[0]+v1[0])>
 
template<typename T0 , typename T1 >
auto operator- (const RVec< T0 > &v, const T1 &y) -> RVec< decltype(v[0] - y)>
 
template<typename T0 , typename T1 >
auto operator- (const T0 &x, const RVec< T1 > &v) -> RVec< decltype(x - v[0])>
 
template<typename T0 , typename T1 >
auto operator- (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< decltype(v0[0] - v1[0])>
 
template<typename T0 , typename T1 >
auto operator* (const RVec< T0 > &v, const T1 &y) -> RVec< decltype(v[0] *y)>
 
template<typename T0 , typename T1 >
auto operator* (const T0 &x, const RVec< T1 > &v) -> RVec< decltype(x *v[0])>
 
template<typename T0 , typename T1 >
auto operator* (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< decltype(v0[0] *v1[0])>
 
template<typename T0 , typename T1 >
auto operator/ (const RVec< T0 > &v, const T1 &y) -> RVec< decltype(v[0]/y)>
 
template<typename T0 , typename T1 >
auto operator/ (const T0 &x, const RVec< T1 > &v) -> RVec< decltype(x/v[0])>
 
template<typename T0 , typename T1 >
auto operator/ (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< decltype(v0[0]/v1[0])>
 
template<typename T0 , typename T1 >
auto operator% (const RVec< T0 > &v, const T1 &y) -> RVec< decltype(v[0] % y)>
 
template<typename T0 , typename T1 >
auto operator% (const T0 &x, const RVec< T1 > &v) -> RVec< decltype(x % v[0])>
 
template<typename T0 , typename T1 >
auto operator% (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< decltype(v0[0] % v1[0])>
 
template<typename T0 , typename T1 >
auto operator^ (const RVec< T0 > &v, const T1 &y) -> RVec< decltype(v[0] ^ y)>
 
template<typename T0 , typename T1 >
auto operator^ (const T0 &x, const RVec< T1 > &v) -> RVec< decltype(x ^ v[0])>
 
template<typename T0 , typename T1 >
auto operator^ (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< decltype(v0[0] ^ v1[0])>
 
template<typename T0 , typename T1 >
auto operator| (const RVec< T0 > &v, const T1 &y) -> RVec< decltype(v[0]|y)>
 
template<typename T0 , typename T1 >
auto operator| (const T0 &x, const RVec< T1 > &v) -> RVec< decltype(x|v[0])>
 
template<typename T0 , typename T1 >
auto operator| (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< decltype(v0[0]|v1[0])>
 
template<typename T0 , typename T1 >
auto operator& (const RVec< T0 > &v, const T1 &y) -> RVec< decltype(v[0] &y)>
 
template<typename T0 , typename T1 >
auto operator& (const T0 &x, const RVec< T1 > &v) -> RVec< decltype(x &v[0])>
 
template<typename T0 , typename T1 >
auto operator& (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< decltype(v0[0] &v1[0])>
 
RVec Assignment Arithmetic Operators
template<typename T0 , typename T1 >
RVec< T0 > & operator+= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator+= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator-= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator-= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator*= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator*= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator/= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator/= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator%= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator%= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator^= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator^= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator|= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator|= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator&= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator&= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator>>= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator>>= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator<<= (RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< T0 > & operator<<= (RVec< T0 > &v0, const RVec< T1 > &v1)
 
RVec Comparison and Logical Operators
template<typename T0 , typename T1 >
auto operator< (const RVec< T0 > &v, const T1 &y) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator< (const T0 &x, const RVec< T1 > &v) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator< (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator> (const RVec< T0 > &v, const T1 &y) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator> (const T0 &x, const RVec< T1 > &v) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator> (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator== (const RVec< T0 > &v, const T1 &y) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator== (const T0 &x, const RVec< T1 > &v) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator== (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator!= (const RVec< T0 > &v, const T1 &y) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator!= (const T0 &x, const RVec< T1 > &v) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator!= (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator<= (const RVec< T0 > &v, const T1 &y) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator<= (const T0 &x, const RVec< T1 > &v) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator<= (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator>= (const RVec< T0 > &v, const T1 &y) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator>= (const T0 &x, const RVec< T1 > &v) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator>= (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator&& (const RVec< T0 > &v, const T1 &y) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator&& (const T0 &x, const RVec< T1 > &v) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator&& (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator|| (const RVec< T0 > &v, const T1 &y) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator|| (const T0 &x, const RVec< T1 > &v) -> RVec< int >
 
template<typename T0 , typename T1 >
auto operator|| (const RVec< T0 > &v0, const RVec< T1 > &v1) -> RVec< int >
 
RVec Standard Mathematical Functions
template<typename T >
RVec< PromoteType< T > > abs (const RVec< T > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > fdim (const T0 &x, const RVec< T1 > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > fdim (const RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > fdim (const RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > fmod (const T0 &x, const RVec< T1 > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > fmod (const RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > fmod (const RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > remainder (const T0 &x, const RVec< T1 > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > remainder (const RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > remainder (const RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T >
RVec< PromoteType< T > > exp (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > exp2 (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > expm1 (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > log (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > log10 (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > log2 (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > log1p (const RVec< T > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > pow (const T0 &x, const RVec< T1 > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > pow (const RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > pow (const RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T >
RVec< PromoteType< T > > sqrt (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > cbrt (const RVec< T > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > hypot (const T0 &x, const RVec< T1 > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > hypot (const RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > hypot (const RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T >
RVec< PromoteType< T > > sin (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > cos (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > tan (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > asin (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > acos (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > atan (const RVec< T > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > atan2 (const T0 &x, const RVec< T1 > &v)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > atan2 (const RVec< T0 > &v, const T1 &y)
 
template<typename T0 , typename T1 >
RVec< PromoteTypes< T0, T1 > > atan2 (const RVec< T0 > &v0, const RVec< T1 > &v1)
 
template<typename T >
RVec< PromoteType< T > > sinh (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > cosh (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > tanh (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > asinh (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > acosh (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > atanh (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > floor (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > ceil (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > trunc (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > round (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > lround (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > llround (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > erf (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > erfc (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > lgamma (const RVec< T > &v)
 
template<typename T >
RVec< PromoteType< T > > tgamma (const RVec< T > &v)