59#include <gtest/gtest.h>
79 EXPECT_NEAR(
GSL_REAL(z), 5.0 * std::cos(M_PI / 4.0), 1e-10);
80 EXPECT_NEAR(
GSL_IMAG(z), 5.0 * std::sin(M_PI / 4.0), 1e-10);
88 EXPECT_DOUBLE_EQ(
GSL_REAL(sum), 4.0);
89 EXPECT_DOUBLE_EQ(
GSL_IMAG(sum), 6.0);
97 EXPECT_DOUBLE_EQ(
GSL_REAL(diff), 3.0);
98 EXPECT_DOUBLE_EQ(
GSL_IMAG(diff), 3.0);
117 EXPECT_NEAR(
GSL_REAL(quot), 0.0, 1e-10);
118 EXPECT_NEAR(
GSL_IMAG(quot), -1.0, 1e-10);
125 EXPECT_DOUBLE_EQ(
GSL_REAL(conj), 3.0);
126 EXPECT_DOUBLE_EQ(
GSL_IMAG(conj), -4.0);
133 EXPECT_NEAR(abs, 5.0, 1e-10);
140 EXPECT_NEAR(arg, M_PI / 4.0, 1e-10);
148 EXPECT_NEAR(
GSL_REAL(tanh_z), std::tanh(1.0), 1e-10);
149 EXPECT_NEAR(
GSL_IMAG(tanh_z), 0.0, 1e-10);
155 EXPECT_NEAR(
GSL_REAL(tanh_z), 0.0, 1e-10);
156 EXPECT_NEAR(
GSL_IMAG(tanh_z), std::tan(1.0), 1e-10);
164 EXPECT_NEAR(
GSL_REAL(exp_z), -1.0, 1e-10);
165 EXPECT_NEAR(
GSL_IMAG(exp_z), 0.0, 1e-10);
173 EXPECT_NEAR(
GSL_REAL(log_z), 0.0, 1e-10);
174 EXPECT_NEAR(
GSL_IMAG(log_z), 0.0, 1e-10);
gsl_complex gsl_complex_rect(double x, double y)
Construct .
gsl_complex gsl_complex_exp(gsl_complex a)
Complex exponential .
gsl_complex gsl_complex_div(gsl_complex a, gsl_complex b)
Quotient .
gsl_complex gsl_complex_mul(gsl_complex a, gsl_complex b)
Product .
double gsl_complex_abs(gsl_complex z)
Magnitude .
gsl_complex gsl_complex_polar(double r, double theta)
Construct .
gsl_complex gsl_complex_conjugate(gsl_complex a)
Complex conjugate .
gsl_complex gsl_complex_add(gsl_complex a, gsl_complex b)
Sum .
double gsl_complex_arg(gsl_complex z)
Argument (phase) .
gsl_complex gsl_complex_tanh(gsl_complex a)
Complex hyperbolic tangent .
gsl_complex gsl_complex_log(gsl_complex a)
Complex natural logarithm .
gsl_complex gsl_complex_sub(gsl_complex a, gsl_complex b)
Difference .
KOKKOS_INLINE_FUNCTION matrix_t< Rows1, Cols2 > prod(const matrix_t< Rows1, Cols1 > &a, const matrix_t< Rows2, Cols2 > &b)
TEST_F(GSLComplexTest, CreateRectangular)
Complex number stored as .