Eigen::internal::bitwise_binary_impl< Scalar, IsComplex > Struct Template Reference

#include <BinaryFunctors.h>

Public Types

using uint_t = typename numext::get_integer_by_size< Size >::unsigned_type
 

Static Public Member Functions

static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run_and (const Scalar &a, const Scalar &b)
 
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run_or (const Scalar &a, const Scalar &b)
 
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run_xor (const Scalar &a, const Scalar &b)
 

Static Public Attributes

static constexpr size_t Size = sizeof(Scalar)
 

Member Typedef Documentation

◆ uint_t

template<typename Scalar , bool IsComplex = NumTraits<Scalar>::IsComplex>
using Eigen::internal::bitwise_binary_impl< Scalar, IsComplex >::uint_t = typename numext::get_integer_by_size<Size>::unsigned_type

Member Function Documentation

◆ run_and()

template<typename Scalar , bool IsComplex = NumTraits<Scalar>::IsComplex>
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar Eigen::internal::bitwise_binary_impl< Scalar, IsComplex >::run_and ( const Scalar a,
const Scalar b 
)
inlinestatic
542  {
543  uint_t a_as_uint = numext::bit_cast<uint_t, Scalar>(a);
544  uint_t b_as_uint = numext::bit_cast<uint_t, Scalar>(b);
545  uint_t result = a_as_uint & b_as_uint;
546  return numext::bit_cast<Scalar, uint_t>(result);
547  }
Scalar * b
Definition: benchVecAdd.cpp:17
const Scalar * a
Definition: level2_cplx_impl.h:32
typename numext::get_integer_by_size< Size >::unsigned_type uint_t
Definition: BinaryFunctors.h:541

References a, and b.

Referenced by Eigen::internal::scalar_bitwise_and_op< Scalar >::operator()(), and Eigen::internal::bitwise_binary_impl< Scalar, true >::run_and().

◆ run_or()

template<typename Scalar , bool IsComplex = NumTraits<Scalar>::IsComplex>
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar Eigen::internal::bitwise_binary_impl< Scalar, IsComplex >::run_or ( const Scalar a,
const Scalar b 
)
inlinestatic
548  {
549  uint_t a_as_uint = numext::bit_cast<uint_t, Scalar>(a);
550  uint_t b_as_uint = numext::bit_cast<uint_t, Scalar>(b);
551  uint_t result = a_as_uint | b_as_uint;
552  return numext::bit_cast<Scalar, uint_t>(result);
553  }

References a, and b.

Referenced by Eigen::internal::scalar_bitwise_or_op< Scalar >::operator()(), and Eigen::internal::bitwise_binary_impl< Scalar, true >::run_or().

◆ run_xor()

template<typename Scalar , bool IsComplex = NumTraits<Scalar>::IsComplex>
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar Eigen::internal::bitwise_binary_impl< Scalar, IsComplex >::run_xor ( const Scalar a,
const Scalar b 
)
inlinestatic
554  {
555  uint_t a_as_uint = numext::bit_cast<uint_t, Scalar>(a);
556  uint_t b_as_uint = numext::bit_cast<uint_t, Scalar>(b);
557  uint_t result = a_as_uint ^ b_as_uint;
558  return numext::bit_cast<Scalar, uint_t>(result);
559  }

References a, and b.

Referenced by Eigen::internal::scalar_bitwise_xor_op< Scalar >::operator()(), and Eigen::internal::bitwise_binary_impl< Scalar, true >::run_xor().

Member Data Documentation

◆ Size

template<typename Scalar , bool IsComplex = NumTraits<Scalar>::IsComplex>
constexpr size_t Eigen::internal::bitwise_binary_impl< Scalar, IsComplex >::Size = sizeof(Scalar)
staticconstexpr

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