annotate gen/complex.h @ 883:b52d5de7783f

GC defines and linkage changes.
author Christian Kamm <kamm incasoftware de>
date Thu, 08 Jan 2009 18:20:02 +0100
parents eef8ac26c66c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
664
eef8ac26c66c Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents: 617
diff changeset
1 #ifndef LDC_GEN_COMPLEX_H
eef8ac26c66c Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents: 617
diff changeset
2 #define LDC_GEN_COMPLEX_H
104
4d1e9eb001e0 [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported.
lindquist
parents:
diff changeset
3
4d1e9eb001e0 [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported.
lindquist
parents:
diff changeset
4 const llvm::StructType* DtoComplexType(Type* t);
217
0806379a5eca [svn r233] Added: -oq command line option for writing fully qualified object names.
lindquist
parents: 213
diff changeset
5 const LLType* DtoComplexBaseType(Type* t);
104
4d1e9eb001e0 [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported.
lindquist
parents:
diff changeset
6
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 164
diff changeset
7 LLConstant* DtoConstComplex(Type* t, long double re, long double im);
104
4d1e9eb001e0 [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported.
lindquist
parents:
diff changeset
8
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 164
diff changeset
9 LLConstant* DtoComplexShuffleMask(unsigned a, unsigned b);
104
4d1e9eb001e0 [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported.
lindquist
parents:
diff changeset
10
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 164
diff changeset
11 LLValue* DtoRealPart(DValue* val);
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 164
diff changeset
12 LLValue* DtoImagPart(DValue* val);
399
0e6b4d65d3f8 Give error messages for invalid casts.
Christian Kamm <kamm incasoftware de>
parents: 244
diff changeset
13 DValue* DtoComplex(Loc& loc, Type* to, DValue* val);
104
4d1e9eb001e0 [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported.
lindquist
parents:
diff changeset
14
213
7816aafeea3c [svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents: 164
diff changeset
15 void DtoComplexSet(LLValue* c, LLValue* re, LLValue* im);
104
4d1e9eb001e0 [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported.
lindquist
parents:
diff changeset
16
617
634fbbdec390 Simplify complex number handling. Fixes bug with complex substraction.
Christian Kamm <kamm incasoftware de>
parents: 585
diff changeset
17 void DtoGetComplexParts(Loc& loc, Type* to, DValue* c, LLValue*& re, LLValue*& im);
107
3efbcc81ba45 [svn r111] Fixed most problems with complex number support and added typeinfo for them.
lindquist
parents: 104
diff changeset
18
399
0e6b4d65d3f8 Give error messages for invalid casts.
Christian Kamm <kamm incasoftware de>
parents: 244
diff changeset
19 DValue* DtoComplexAdd(Loc& loc, Type* type, DValue* lhs, DValue* rhs);
0e6b4d65d3f8 Give error messages for invalid casts.
Christian Kamm <kamm incasoftware de>
parents: 244
diff changeset
20 DValue* DtoComplexSub(Loc& loc, Type* type, DValue* lhs, DValue* rhs);
0e6b4d65d3f8 Give error messages for invalid casts.
Christian Kamm <kamm incasoftware de>
parents: 244
diff changeset
21 DValue* DtoComplexMul(Loc& loc, Type* type, DValue* lhs, DValue* rhs);
0e6b4d65d3f8 Give error messages for invalid casts.
Christian Kamm <kamm incasoftware de>
parents: 244
diff changeset
22 DValue* DtoComplexDiv(Loc& loc, Type* type, DValue* lhs, DValue* rhs);
0e6b4d65d3f8 Give error messages for invalid casts.
Christian Kamm <kamm incasoftware de>
parents: 244
diff changeset
23 DValue* DtoComplexNeg(Loc& loc, Type* type, DValue* val);
104
4d1e9eb001e0 [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported.
lindquist
parents:
diff changeset
24
399
0e6b4d65d3f8 Give error messages for invalid casts.
Christian Kamm <kamm incasoftware de>
parents: 244
diff changeset
25 LLValue* DtoComplexEquals(Loc& loc, TOK op, DValue* lhs, DValue* rhs);
104
4d1e9eb001e0 [svn r108] Now basic suppport for complex types. =,+,-,*,/ are supported.
lindquist
parents:
diff changeset
26
399
0e6b4d65d3f8 Give error messages for invalid casts.
Christian Kamm <kamm incasoftware de>
parents: 244
diff changeset
27 DValue* DtoCastComplex(Loc& loc, DValue* val, Type* to);
244
a95056b3c996 [svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
lindquist
parents: 217
diff changeset
28
664
eef8ac26c66c Some missed LLVMDC -> LDC.
Christian Kamm <kamm incasoftware de>
parents: 617
diff changeset
29 #endif // LDC_GEN_COMPLEX_H