11#ifndef TBCI_STD_CPLX_H
12#define TBCI_STD_CPLX_H
14#include "tbci/basics.h"
15#ifndef HAVE_NO_NEW_HEADERS_BUG
23# define CPLX(t) CPLX__ complex<t>
24# define CPLXR(t,a,r) CPLX__ complex<t> a (r)
25# define CPLXRI(t,a,r,i) CPLX__ complex<t> a (r,i)
26# define CPLXC(t,a,c) CPLX__ complex<t> a (c)
27# define CPLXVRI(t,r,i) (CPLX__ complex<t>(r,i))
35#ifndef TEMPLATED_FABSSQR
39{
return (
a.real()*
a.real() +
a.imag()*
a.imag()); }
43#ifndef HAVE_STDCPLX_FABS
56{
return (
a.imag() == 0 &&
a.real() == d); }
80#if !defined(NO_NS) && !defined(HAVE_IGNORE_STD_NS_BUG) && defined(HAVE_LIBC_GLOBAL_NS_BUG) && (!defined(HAVE_CPP_GLOBAL_NS_BUG) || !defined(HAVE_CPLX_GLOBAL_NS_BUG))
81# define NEED_CPLX_TO_CSTD 1
84#ifdef NEED_CPLX_TO_CSTD
130#ifdef HAVE_MISS_STDCPLX_FANCY_FN_BUG
161#ifdef MISS_STDCPLX_TAN_BUG
176#ifdef HAVE_MISS_STDCPLX_LOG10_BUG
182 return log(
x)*InvLn10;
190const CPLXRI(
double,Imag_unit,0.0,1.0);
194#ifdef HAVE_MISS_CPLX_IO_BUG
199 return os <<
"(" << v.real() <<
"," << v.imag() <<
")";
206 char bra;
T re, im = 0;
216 STD__ cerr <<
"Error parsing complex!" <<
STD__ endl;
223 STD__ cerr <<
"Error parsing complex!" <<
STD__ endl;
const Vector< T > const Vector< T > & x
STD__ istream & operator>>(STD__ istream &istr, BdMatrix< T > &mat)
STD__ ostream & operator<<(STD__ ostream &ostr, const BdMatrix< T > &mat)
#define NAMESPACE_CPLX_END
#define NAMESPACE_CSTD_END
T imag(const TBCI__ cplx< T > &z)
double fabs(const TBCI__ cplx< T > &c)
TBCI__ cplx< T > sinh(const TBCI__ cplx< T > &z)
T arg(const TBCI__ cplx< T > &c)
TBCI__ cplx< T > atan(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > tan(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > exp(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > asin(const TBCI__ cplx< T > &z)
double fabssqr(const cplx< T > &c)
NAMESPACE_END NAMESPACE_CPLX TBCI__ cplx< T > conj(const TBCI__ cplx< T > &c)
TBCI__ cplx< T > log(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > sin(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > acos(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > cosh(const TBCI__ cplx< T > &z)
NAMESPACE_END NAMESPACE_CSTD TBCI__ cplx< T > sqrt(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > atanh(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > tanh(const TBCI__ cplx< T > &z)
TBCI__ cplx< T > cos(const TBCI__ cplx< T > &z)
bool operator==(const F_BandMatrix< T > &m1, const F_BandMatrix< T > &m2)
#define SPECIALIZE_MEMALLOC2(TYPE, SHTP)
#define SPECIALIZE_MEMALLOC(TYPE)
const unsigned TMatrix< T > const Matrix< T > * a
NAMESPACE_END NAMESPACE_CSTD double fabs(const CPLX__ complex< T > &a)
#define CPLXRI(t, a, r, i)
#define SPEC_TBCI_TRAITS_ALWAYS_COPY(TYPE)
#define SPEC_TBCI_TRAITS_LOOP_COPY(TYPE)