diff options
author | alexv-smirnov <alex@ydb.tech> | 2023-06-13 11:05:01 +0300 |
---|---|---|
committer | alexv-smirnov <alex@ydb.tech> | 2023-06-13 11:05:01 +0300 |
commit | bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch) | |
tree | 1d1df72c0541a59a81439842f46d95396d3e7189 /contrib/tools/cython/Cython/Includes/libcpp/complex.pxd | |
parent | 8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff) | |
download | ydb-bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0.tar.gz |
add ymake export to ydb
Diffstat (limited to 'contrib/tools/cython/Cython/Includes/libcpp/complex.pxd')
-rw-r--r-- | contrib/tools/cython/Cython/Includes/libcpp/complex.pxd | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/complex.pxd b/contrib/tools/cython/Cython/Includes/libcpp/complex.pxd new file mode 100644 index 0000000000..c875d5e5bd --- /dev/null +++ b/contrib/tools/cython/Cython/Includes/libcpp/complex.pxd @@ -0,0 +1,101 @@ +# Note: add integer versions of the functions? + +cdef extern from "<complex>" namespace "std" nogil: + cdef cppclass complex[T]: + complex() except + + complex(T, T) except + + complex(complex[T]&) except + + # How to make the converting constructor, i.e. convert complex[double] + # to complex[float]? + + complex[T] operator+(complex[T]&) + complex[T] operator-(complex[T]&) + complex[T] operator+(complex[T]&, complex[T]&) + complex[T] operator+(complex[T]&, T&) + complex[T] operator+(T&, complex[T]&) + complex[T] operator-(complex[T]&, complex[T]&) + complex[T] operator-(complex[T]&, T&) + complex[T] operator-(T&, complex[T]&) + complex[T] operator*(complex[T]&, complex[T]&) + complex[T] operator*(complex[T]&, T&) + complex[T] operator*(T&, complex[T]&) + complex[T] operator/(complex[T]&, complex[T]&) + complex[T] operator/(complex[T]&, T&) + complex[T] operator/(T&, complex[T]&) + + bint operator==(complex[T]&, complex[T]&) + bint operator==(complex[T]&, T&) + bint operator==(T&, complex[T]&) + bint operator!=(complex[T]&, complex[T]&) + bint operator!=(complex[T]&, T&) + bint operator!=(T&, complex[T]&) + + # Access real part + T real() + void real(T) + + # Access imaginary part + T imag() + void imag(T) + + # Return real part + T real[T](complex[T]&) + long double real(long double) + double real(double) + float real(float) + + # Return imaginary part + T imag[T](complex[T]&) + long double imag(long double) + double imag(double) + float imag(float) + + T abs[T](complex[T]&) + T arg[T](complex[T]&) + long double arg(long double) + double arg(double) + float arg(float) + + T norm[T](complex[T]) + long double norm(long double) + double norm(double) + float norm(float) + + complex[T] conj[T](complex[T]&) + complex[long double] conj(long double) + complex[double] conj(double) + complex[float] conj(float) + + complex[T] proj[T](complex[T]) + complex[long double] proj(long double) + complex[double] proj(double) + complex[float] proj(float) + + complex[T] polar[T](T&, T&) + complex[T] ploar[T](T&) + + complex[T] exp[T](complex[T]&) + complex[T] log[T](complex[T]&) + complex[T] log10[T](complex[T]&) + + complex[T] pow[T](complex[T]&, complex[T]&) + complex[T] pow[T](complex[T]&, T&) + complex[T] pow[T](T&, complex[T]&) + # There are some promotion versions too + + complex[T] sqrt[T](complex[T]&) + + complex[T] sin[T](complex[T]&) + complex[T] cos[T](complex[T]&) + complex[T] tan[T](complex[T]&) + complex[T] asin[T](complex[T]&) + complex[T] acos[T](complex[T]&) + complex[T] atan[T](complex[T]&) + + complex[T] sinh[T](complex[T]&) + complex[T] cosh[T](complex[T]&) + complex[T] tanh[T](complex[T]&) + + complex[T] asinh[T](complex[T]&) + complex[T] acosh[T](complex[T]&) + complex[T] atanh[T](complex[T]&) |