#include #include "cplx.h" int main() { complex int a = 1 + 2I; complex double b = 2 + I; gsl_complex c = gsl_cplx_from_c99(a); gsl_vector *v = gsl_vector_alloc(8); for (size_t i = 0; i < v->size; i++) { gsl_vector_set(v, i, i/8.); } complex double adotb = dot(a, b); printf("(1+2i) dot (2+i): %g+%gi\n", creal(adotb), cimag(adotb)); printf("v dot 2:\n"); double d = 2; gsl_vector_complex_print(dot(v, d)); printf("v dot (1+2i)\n"); gsl_vector_complex *vc = dot(v, a); gsl_vector_complex_print(vc); printf("v dot (1+2i) again\n"); gsl_vector_complex_print(dot(v, c)); }