Reference documentation for deal.II version Git 2618e0f 2017-11-23 17:25:26 +0100
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
numbers::NumberTraits< number > Struct Template Reference

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

Public Types

typedef number real_type
 

Static Public Member Functions

static const number & conjugate (const number &x)
 
static DEAL_II_CUDA_HOST_DEV real_type abs_square (const number &x)
 
static real_type abs (const number &x)
 

Static Public Attributes

static const bool is_complex = false
 

Detailed Description

template<typename number>
struct numbers::NumberTraits< number >

A structure that, together with its partial specializations NumberTraits<std::complex<number> >, provides traits and member functions that make it possible to write templates that work on both real number types and complex number types. This template is mostly used to implement linear algebra classes such as vectors and matrices that work for both real and complex numbers.

Author
Wolfgang Bangerth, 2007

Definition at line 195 of file numbers.h.

Member Typedef Documentation

template<typename number>
typedef number numbers::NumberTraits< number >::real_type

For this data type, typedef the corresponding real type. Since the general template is selected for all data types that are not specializations of std::complex<T>, the underlying type must be real- values, so the real_type is equal to the underlying type.

Definition at line 210 of file numbers.h.

Member Function Documentation

template<typename number>
const number & numbers::NumberTraits< number >::conjugate ( const number &  x)
static

Return the complex-conjugate of the given number. Since the general template is selected if number is not a complex data type, this function simply returns the given number.

Definition at line 333 of file numbers.h.

template<typename number>
DEAL_II_CUDA_HOST_DEV NumberTraits< number >::real_type numbers::NumberTraits< number >::abs_square ( const number &  x)
static

Return the square of the absolute value of the given number. Since the general template is chosen for types not equal to std::complex, this function simply returns the square of the given number.

Definition at line 343 of file numbers.h.

template<typename number>
NumberTraits< number >::real_type numbers::NumberTraits< number >::abs ( const number &  x)
static

Return the absolute value of a number.

Definition at line 352 of file numbers.h.

Member Data Documentation

template<typename number>
const bool numbers::NumberTraits< number >::is_complex = false
static

A flag that specifies whether the template type given to this class is complex or real. Since the general template is selected for non-complex types, the answer is false.

Definition at line 202 of file numbers.h.


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