TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
mapped_functions.hpp File Reference
#include "./concepts.hpp"
#include "./map.hpp"
#include "./traits.hpp"
#include <cmath>
#include <complex>
#include <type_traits>
#include <utility>

Detailed Description

Provides some custom implementations of standard mathematical functions used for lazy, coefficient-wise array operations.

Definition in file mapped_functions.hpp.

Go to the source code of this file.

Classes

struct  nda::conj_f
 Wrapper for nda::conj. More...
 

Functions

double nda::abs2 (double x)
 Get the squared absolute value of a double.
 
double nda::abs2 (std::complex< double > z)
 Get the squared absolute value of a std::complex<double>.
 
template<Array A>
decltype(auto) nda::conj (A &&a)
 Lazy, coefficient-wise complex conjugate function for nda::Array types.
 
template<typename T >
requires (nda::is_scalar_v<T>)
auto nda::conj (T t)
 Get the complex conjugate of a scalar.
 
bool nda::isnan (std::complex< double > const &z)
 Check if a std::complex<double> is NaN.
 
template<Array A>
auto nda::pow (A &&a, double p)
 Lazy, coefficient-wise power function for nda::Array types.
 
template<typename T >
requires (std::is_integral_v<T>)
nda::pow (T x, int n)
 Calculate the integer power of an integer.
 
template<typename T >
requires (nda::is_scalar_v<T>)
auto nda::real (T t)
 Get the real part of a scalar.