isce3 0.25.0
Loading...
Searching...
No Matches
complexOperations.h
1#pragma once
2
3#include <thrust/complex.h>
4
5#include <isce3/core/Common.h>
6#include <isce3/math/complexOperations.h>
7
9namespace isce3 { namespace cuda { namespace math { namespace complex_operations {
10
11template<typename T1, typename T2>
12CUDA_HOSTDEV inline auto operator*(T1 t, thrust::complex<T2> u)
13{
14 using U = typename std::common_type_t<T1, T2>;
15 return U(t) * thrust::complex<U>(u);
16}
17
18template<typename T1, typename T2>
19CUDA_HOSTDEV inline auto operator*(thrust::complex<T1> t, T2 u)
20{
21 using U = typename std::common_type_t<T1, T2>;
22 return thrust::complex<U>(t) * U(u);
23}
24
25template<typename T1, typename T2>
26CUDA_HOSTDEV inline auto operator/(T1 t, thrust::complex<T2> u)
27{
28 using U = typename std::common_type_t<T1, T2>;
29 return U(t) / thrust::complex<U>(u);
30}
31
32template<typename T1, typename T2>
33CUDA_HOSTDEV inline auto operator/(thrust::complex<T1> t, T2 u)
34{
35 using U = typename std::common_type_t<T1, T2>;
36 return thrust::complex<U>(t) / U(u);
37}
38
39}}}} // namespace isce3::cuda::math::complex_operations
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5

Generated for ISCE3.0 by doxygen 1.13.2.