OSDN Git Service

8
[pf3gnuchains/gcc-fork.git] / 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 class complex<f>;
36 template c& __doapl (c*, ccr);
37 template c& __doaml (c*, ccr);
38 template c& __doami (c*, ccr);
39 template c& __doadv (c*, ccr);
40 #endif
41
42 #ifdef ADDCC
43 template c operator+ (ccr, ccr);
44 #endif
45 #ifdef ADDCF
46 template c operator+ (ccr, f);
47 #endif
48 #ifdef ADDFC
49 template c operator+ (f, ccr);
50 #endif
51 #ifdef SUBCC
52 template c operator- (ccr, ccr);
53 #endif
54 #ifdef SUBCF
55 template c operator- (ccr, f);
56 #endif
57 #ifdef SUBFC
58 template c operator- (f, ccr);
59 #endif
60 #ifdef MULCC
61 template c operator* (ccr, ccr);
62 #endif
63 #ifdef MULCF
64 template c operator* (ccr, f);
65 #endif
66 #ifdef MULFC
67 template c operator* (f, ccr);
68 #endif
69 #ifdef DIVCC
70 template c operator/ (ccr, ccr);
71 #endif
72 #ifdef DIVCF
73 template c operator/ (ccr, f);
74 #endif
75 #ifdef DIVFC
76 template c operator/ (f, ccr);
77 #endif
78 #ifdef PLUS
79 template c operator+ (ccr);
80 #endif
81 #ifdef MINUS
82 template c operator- (ccr);
83 #endif
84 #ifdef EQCC
85 template bool operator== (ccr, ccr);
86 #endif
87 #ifdef EQCF
88 template bool operator== (ccr, f);
89 #endif
90 #ifdef EQFC
91 template bool operator== (f, ccr);
92 #endif
93 #ifdef NECC
94 template bool operator!= (ccr, ccr);
95 #endif
96 #ifdef NECF
97 template bool operator!= (ccr, f);
98 #endif
99 #ifdef NEFC
100 template bool operator!= (f, ccr);
101 #endif
102 #ifdef ABS
103 template f abs (ccr);
104 #endif
105 #ifdef ARG
106 template f arg (ccr);
107 #endif
108 #ifdef POLAR
109 template c polar (f, f);
110 #endif
111 #ifdef CONJ
112 template c conj (ccr);
113 #endif
114 #ifdef NORM
115 template f norm (ccr);
116 #endif
117 #ifdef COS
118 template c cos (ccr);
119 #endif
120 #ifdef COSH
121 template c cosh (ccr);
122 #endif
123 #ifdef EXP
124 template c exp (ccr);
125 #endif
126 #ifdef LOG
127 template c log (ccr);
128 #endif
129 #ifdef POWCC
130 template c pow (ccr, ccr);
131 #endif
132 #ifdef POWCF
133 template c pow (ccr, f);
134 #endif
135 #ifdef POWCI
136 template c pow (ccr, int);
137 #endif
138 #ifdef POWFC
139 template c pow (f, ccr);
140 #endif
141 #ifdef SIN
142 template c sin (ccr);
143 #endif
144 #ifdef SINH
145 template c sinh (ccr);
146 #endif
147 #ifdef SQRT
148 template c sqrt (ccr);
149 #endif
150 #ifdef EXTRACT
151 template istream& operator>> (istream&, complex<f>&);
152 #endif
153 #ifdef INSERT
154 template ostream& operator<< (ostream&, const complex<f>&);
155 #endif