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