Reference documentation for deal.II version 9.6.1
 
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
internal::VectorizedArrayTrait< VectorizedArray< T, width_ > > Struct Template Reference

#include <deal.II/base/vectorization.h>

Inheritance diagram for internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >:

Public Types

using value_type = T
 
using vectorized_value_type = VectorizedArray<T, width_>
 
using value_type
 
using vectorized_value_type
 

Static Public Member Functions

static constexpr std::size_t width ()
 
static constexpr std::size_t stride ()
 
static value_typeget (vectorized_value_type &values, unsigned int c)
 
static const value_typeget (const vectorized_value_type &values, unsigned int c)
 
static vectorized_value_typeget_from_vectorized (vectorized_value_type &values, unsigned int c)
 
static const vectorized_value_typeget_from_vectorized (const vectorized_value_type &values, unsigned int c)
 
static constexpr std::size_t width ()
 
static constexpr std::size_t stride ()
 
static value_typeget (value_type &value, unsigned int c)
 
static const value_typeget (const value_type &value, unsigned int c)
 
static value_typeget_from_vectorized (vectorized_value_type &values, unsigned int c)
 
static const value_typeget_from_vectorized (const vectorized_value_type &values, unsigned int c)
 

Detailed Description

template<typename T, std::size_t width_>
struct internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >

Definition at line 6486 of file vectorization.h.

Member Typedef Documentation

◆ value_type [1/2]

template<typename T, std::size_t width_>
using internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >::value_type = T

Define scalar value type.

Definition at line 6491 of file vectorization.h.

◆ vectorized_value_type [1/2]

template<typename T, std::size_t width_>
using internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >::vectorized_value_type = VectorizedArray<T, width_>

Define vectorized value type for internal vectorization.

Definition at line 6505 of file vectorization.h.

◆ value_type [2/2]

using internal::VectorizedArrayTrait< T >::value_type

Define scalar value type.

Definition at line 6409 of file vectorization.h.

◆ vectorized_value_type [2/2]

using internal::VectorizedArrayTrait< T >::vectorized_value_type

Define vectorized value type for internal vectorization.

Definition at line 6423 of file vectorization.h.

Member Function Documentation

◆ width() [1/2]

template<typename T, std::size_t width_>
static constexpr std::size_t internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >::width ( )
inlinestaticconstexpr

Return the width of template type.

Definition at line 6497 of file vectorization.h.

◆ stride() [1/2]

template<typename T, std::size_t width_>
static constexpr std::size_t internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >::stride ( )
inlinestaticconstexpr

Return a stride which defines how often the template type VectorizedArray<T, width_> fits into the vectorized value type. This is useful to write vectorized templated code where the internal computation is vectorized and the user interface is optionally scalar or also vectorized.

Definition at line 6515 of file vectorization.h.

◆ get() [1/4]

template<typename T, std::size_t width_>
static value_type & internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >::get ( vectorized_value_type & values,
unsigned int c )
inlinestatic

Get a reference to scalar value on lane c.

Definition at line 6524 of file vectorization.h.

◆ get() [2/4]

template<typename T, std::size_t width_>
static const value_type & internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >::get ( const vectorized_value_type & values,
unsigned int c )
inlinestatic

Get a read-only reference to scalar value on lane c.

Definition at line 6535 of file vectorization.h.

◆ get_from_vectorized() [1/4]

template<typename T, std::size_t width_>
static vectorized_value_type & internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >::get_from_vectorized ( vectorized_value_type & values,
unsigned int c )
inlinestatic

Get a reference to vectorized values from a vectorized values field.

Definition at line 6546 of file vectorization.h.

◆ get_from_vectorized() [2/4]

template<typename T, std::size_t width_>
static const vectorized_value_type & internal::VectorizedArrayTrait< VectorizedArray< T, width_ > >::get_from_vectorized ( const vectorized_value_type & values,
unsigned int c )
inlinestatic

Get a read-only reference to vectorized values from a vectorized values field.

Definition at line 6559 of file vectorization.h.

◆ width() [2/2]

static constexpr std::size_t internal::VectorizedArrayTrait< T >::width ( )
inlinestaticconstexpr

Return the width of template type.

Definition at line 6415 of file vectorization.h.

◆ stride() [2/2]

static constexpr std::size_t internal::VectorizedArrayTrait< T >::stride ( )
inlinestaticconstexpr

Return a stride which defines how often the template type T fits into the vectorized_value_type. This is useful to write vectorized templated code where the internal computation is vectorized and the user interface is optionally scalar or also vectorized.

Definition at line 6432 of file vectorization.h.

◆ get() [3/4]

static value_type & internal::VectorizedArrayTrait< T >::get ( value_type & value,
unsigned int c )
inlinestatic

Get a reference to scalar value (on lane 0).

Definition at line 6441 of file vectorization.h.

◆ get() [4/4]

static const value_type & internal::VectorizedArrayTrait< T >::get ( const value_type & value,
unsigned int c )
inlinestatic

Get a read-only reference to scalar value (on lane 0).

Definition at line 6453 of file vectorization.h.

◆ get_from_vectorized() [3/4]

static value_type & internal::VectorizedArrayTrait< T >::get_from_vectorized ( vectorized_value_type & values,
unsigned int c )
inlinestatic

Get a reference to scalar value on lane c from a vectorized values field.

Definition at line 6465 of file vectorization.h.

◆ get_from_vectorized() [4/4]

static const value_type & internal::VectorizedArrayTrait< T >::get_from_vectorized ( const vectorized_value_type & values,
unsigned int c )
inlinestatic

Get a read-only reference to scalar value on lane c from a vectorized values field.

Definition at line 6477 of file vectorization.h.


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