Loading...
Searching...
No Matches
Classes | Namespaces | Functions
complex.h File Reference
#include <complex>
#include "backbone/array.h"
#include "backbone/vec.h"

Go to the source code of this file.

Classes

struct  complex< T >
 Complex numbers. More...
 

Namespaces

namespace  backbone
 Random number generator; built on top of Drjit.
 

Functions

template<typename T >
constexpr complex< T > rcp (complex< T > z)
 rcp
 
template<typename T >
constexpr vec2d< complex< T > > cossin (complex< T > z)
 cossin method
 
Core Inspectors
template<typename T >
constexpr T real (complex< T > z)
 
template<typename T >
constexpr T imag (complex< T > z)
 
template<typename T >
constexpr complex< T > conj (complex< T > z)
 
Horizontal methods
template<typename T >
constexpr complex< T > reverse (complex< T > z)
 
template<typename T >
constexpr complex< T > psum (complex< T > z)
 
template<typename T >
constexpr complex< T > normalize (complex< T > z)
 

std::complex -> complex Functions

#define BBM_DECL_COMPLEX_OP(op)   template<typename T> inline constexpr complex<T> op (complex<T> z) { return std::op (z.std_complex()); }
 
 BBM_DECL_COMPLEX_OP (exp)
 
 BBM_DECL_COMPLEX_OP (log)
 
 BBM_DECL_COMPLEX_OP (pow)
 
 BBM_DECL_COMPLEX_OP (sqrt)
 
 BBM_DECL_COMPLEX_OP (sin)
 
 BBM_DECL_COMPLEX_OP (cos)
 
 BBM_DECL_COMPLEX_OP (tan)
 
 BBM_DECL_COMPLEX_OP (asin)
 
 BBM_DECL_COMPLEX_OP (acos)
 
 BBM_DECL_COMPLEX_OP (atan)
 
 BBM_DECL_COMPLEX_OP (sinh)
 
 BBM_DECL_COMPLEX_OP (cosh)
 
 BBM_DECL_COMPLEX_OP (tanh)
 
 BBM_DECL_COMPLEX_OP (asinh)
 
 BBM_DECL_COMPLEX_OP (acosh)
 
 BBM_DECL_COMPLEX_OP (atanh)
 

type traits

template<typename T >
using is_complex = detail::is_complex_impl< std::decay_t< T > >
 
template<typename T >
constexpr bool is_complex_v = is_complex<T>::value
 

Macro Definition Documentation

◆ BBM_DECL_COMPLEX_OP

#define BBM_DECL_COMPLEX_OP (   op)    template<typename T> inline constexpr complex<T> op (complex<T> z) { return std::op (z.std_complex()); }