Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / libstdc++ / cinst.cc
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