Mercurial > projects > ldc
annotate gen/complex.h @ 787:5d2ac0c2dd46
Fix StdCall selection.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Tue, 25 Nov 2008 17:15:02 +0100 |
parents | eef8ac26c66c |
children |
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 |