1 // Instantiation file for the -*- C++ -*- complex number classes. 2 // Copyright (C) 1994 Free Software Foundation 3 4 #ifdef F 5 typedef float f; 6 #endif 7 #ifdef D 8 typedef double f; 9 #endif 10 #ifdef LD 11 typedef long double f; 12 #endif 13 14 #if defined (MAIN) && defined (__GNUG__) 15 #ifdef F 16 #pragma implementation "fcomplex" 17 #endif 18 #ifdef D 19 #pragma implementation "dcomplex" 20 #endif 21 #ifdef LD 22 #pragma implementation "ldcomplex" 23 #endif 24 #endif 25 26 #if 0 27 #define _G_NO_EXTERN_TEMPLATES 28 #endif 29 #include <std/complext.cc> 30 31 typedef complex<f> c; 32 typedef const c& ccr; 33 34 #ifdef MAIN 35 template c& __doapl (c*, ccr); 36 template c& __doaml (c*, ccr); 37 template c& __doami (c*, ccr); 38 template c& __doadv (c*, ccr); 39 #endif 40 41 #ifdef ADDCC 42 template c operator+ (ccr, ccr); 43 #endif 44 #ifdef ADDCF 45 template c operator+ (ccr, f); 46 #endif 47 #ifdef ADDFC 48 template c operator+ (f, ccr); 49 #endif 50 #ifdef SUBCC 51 template c operator- (ccr, ccr); 52 #endif 53 #ifdef SUBCF 54 template c operator- (ccr, f); 55 #endif 56 #ifdef SUBFC 57 template c operator- (f, ccr); 58 #endif 59 #ifdef MULCC 60 template c operator* (ccr, ccr); 61 #endif 62 #ifdef MULCF 63 template c operator* (ccr, f); 64 #endif 65 #ifdef MULFC 66 template c operator* (f, ccr); 67 #endif 68 #ifdef DIVCC 69 template c operator/ (ccr, ccr); 70 #endif 71 #ifdef DIVCF 72 template c operator/ (ccr, f); 73 #endif 74 #ifdef DIVFC 75 template c operator/ (f, ccr); 76 #endif 77 #ifdef PLUS 78 template c operator+ (ccr); 79 #endif 80 #ifdef MINUS 81 template c operator- (ccr); 82 #endif 83 #ifdef EQCC 84 template bool operator== (ccr, ccr); 85 #endif 86 #ifdef EQCF 87 template bool operator== (ccr, f); 88 #endif 89 #ifdef EQFC 90 template bool operator== (f, ccr); 91 #endif 92 #ifdef NECC 93 template bool operator!= (ccr, ccr); 94 #endif 95 #ifdef NECF 96 template bool operator!= (ccr, f); 97 #endif 98 #ifdef NEFC 99 template bool operator!= (f, ccr); 100 #endif 101 #ifdef ABS 102 template f abs (ccr); 103 #endif 104 #ifdef ARG 105 template f arg (ccr); 106 #endif 107 #ifdef POLAR 108 template c polar (f, f); 109 #endif 110 #ifdef CONJ 111 template c conj (ccr); 112 #endif 113 #ifdef NORM 114 template f norm (ccr); 115 #endif 116 #ifdef COS 117 template c cos (ccr); 118 #endif 119 #ifdef COSH 120 template c cosh (ccr); 121 #endif 122 #ifdef EXP 123 template c exp (ccr); 124 #endif 125 #ifdef LOG 126 template c log (ccr); 127 #endif 128 #ifdef POWCC 129 template c pow (ccr, ccr); 130 #endif 131 #ifdef POWCF 132 template c pow (ccr, f); 133 #endif 134 #ifdef POWCI 135 template c pow (ccr, int); 136 #endif 137 #ifdef POWFC 138 template c pow (f, ccr); 139 #endif 140 #ifdef SIN 141 template c sin (ccr); 142 #endif 143 #ifdef SINH 144 template c sinh (ccr); 145 #endif 146 #ifdef SQRT 147 template c sqrt (ccr); 148 #endif 149 #ifdef EXTRACT 150 template istream& operator>> (istream&, complex<f>&); 151 #endif 152 #ifdef INSERT 153 template ostream& operator<< (ostream&, const complex<f>&); 154 #endif 155