1 // { dg-do assemble } 2 // prms-id: 991 3 4 class Complex { 5 public: 6 double re; 7 double im; Complex(double r,double i)8 Complex(double r,double i) : re(r), im(i) {} 9 }; 10 11 Complex cos(const Complex&); 12 13 extern "C" double cos (double); // not the same as the above 14 extern "C" double cosh (double); 15 extern "C" double sin (double); 16 extern "C" double sinh (double); 17 cos(const Complex & arg)18Complex cos(const Complex& arg) { 19 double nr = cos(arg.re)*cosh(arg.im); 20 double ni = -sin(arg.re)*sinh(arg.im); 21 return Complex(nr,ni); 22 } 23