Reference documentation for deal.II version 9.2.0
\(\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\}}\)
Classes | Namespaces | Typedefs | Functions | Variables
vector_operations_internal.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/memory_space.h>
#include <deal.II/base/multithread_info.h>
#include <deal.II/base/parallel.h>
#include <deal.II/base/types.h>
#include <deal.II/base/vectorization.h>
#include <deal.II/lac/cuda_kernels.h>
#include <deal.II/lac/cuda_kernels.templates.h>
#include <deal.II/lac/vector_operation.h>
#include <cstdio>
#include <cstring>

Go to the source code of this file.

Classes

struct  internal::VectorOperations::TBBForFunctor< Functor >
 
struct  internal::VectorOperations::Vector_set< Number >
 
struct  internal::VectorOperations::Vector_copy< Number, OtherNumber >
 
struct  internal::VectorOperations::Vectorization_multiply_factor< Number >
 
struct  internal::VectorOperations::Vectorization_add_av< Number >
 
struct  internal::VectorOperations::Vectorization_sadd_xav< Number >
 
struct  internal::VectorOperations::Vectorization_subtract_v< Number >
 
struct  internal::VectorOperations::Vectorization_add_factor< Number >
 
struct  internal::VectorOperations::Vectorization_add_v< Number >
 
struct  internal::VectorOperations::Vectorization_add_avpbw< Number >
 
struct  internal::VectorOperations::Vectorization_sadd_xv< Number >
 
struct  internal::VectorOperations::Vectorization_sadd_xavbw< Number >
 
struct  internal::VectorOperations::Vectorization_scale< Number >
 
struct  internal::VectorOperations::Vectorization_equ_au< Number >
 
struct  internal::VectorOperations::Vectorization_equ_aubv< Number >
 
struct  internal::VectorOperations::Vectorization_equ_aubvcw< Number >
 
struct  internal::VectorOperations::Vectorization_ratio< Number >
 
struct  internal::VectorOperations::Dot< Number, Number2 >
 
struct  internal::VectorOperations::Norm2< Number, RealType >
 
struct  internal::VectorOperations::Norm1< Number, RealType >
 
struct  internal::VectorOperations::NormP< Number, RealType >
 
struct  internal::VectorOperations::MeanValue< Number >
 
struct  internal::VectorOperations::AddAndDot< Number >
 
struct  internal::VectorOperations::TBBReduceFunctor< Operation, ResultType >
 
struct  internal::VectorOperations::functions< Number, Number2, MemorySpace >
 
struct  internal::VectorOperations::functions< Number, Number2, ::MemorySpace::Host >
 
struct  internal::VectorOperations::functions< Number, Number, ::MemorySpace::CUDA >
 

Namespaces

 internal
 
 internal::VectorOperations
 

Typedefs

using internal::VectorOperations::size_type = types::global_dof_index
 

Functions

template<typename T >
bool internal::VectorOperations::is_non_negative (const T &t)
 
template<typename T >
bool internal::VectorOperations::is_non_negative (const std::complex< T > &)
 
template<typename T , typename U >
void internal::VectorOperations::copy (const T *begin, const T *end, U *dest)
 
template<typename T , typename U >
void internal::VectorOperations::copy (const std::complex< T > *begin, const std::complex< T > *end, std::complex< U > *dest)
 
template<typename T , typename U >
void internal::VectorOperations::copy (const std::complex< T > *, const std::complex< T > *, U *)
 
template<typename Functor >
void internal::VectorOperations::parallel_for (Functor &functor, const size_type start, const size_type end, const std::shared_ptr<::parallel::internal::TBBPartitioner > &partitioner)
 
template<typename Operation , typename ResultType >
void internal::VectorOperations::accumulate_recursive (const Operation &op, const size_type first, const size_type last, ResultType &result)
 
template<typename Operation , typename ResultType >
void internal::VectorOperations::accumulate_regular (const Operation &op, const size_type &n_chunks, size_type &index, ResultType(&outer_results)[vector_accumulation_recursion_threshold], std::integral_constant< bool, false >)
 
template<typename Operation , typename Number >
void internal::VectorOperations::accumulate_regular (const Operation &op, size_type &n_chunks, size_type &index, Number(&outer_results)[vector_accumulation_recursion_threshold], std::integral_constant< bool, true >)
 
template<typename Operation , typename ResultType >
void internal::VectorOperations::parallel_reduce (const Operation &op, const size_type start, const size_type end, ResultType &result, const std::shared_ptr<::parallel::internal::TBBPartitioner > &partitioner)
 

Variables

const unsigned int internal::VectorOperations::vector_accumulation_recursion_threshold = 128