Mercurial > projects > ldc
comparison gen/complex.h @ 585:fbb1a366cfbc
Complex number should now follow the D ABI on x86. They're also treated as first class values now. Big change.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Tue, 09 Sep 2008 16:49:47 -0700 |
parents | 0e6b4d65d3f8 |
children | 634fbbdec390 |
comparison
equal
deleted
inserted
replaced
584:c7d7e2282ba3 | 585:fbb1a366cfbc |
---|---|
2 #define LLVMDC_GEN_COMPLEX_H | 2 #define LLVMDC_GEN_COMPLEX_H |
3 | 3 |
4 const llvm::StructType* DtoComplexType(Type* t); | 4 const llvm::StructType* DtoComplexType(Type* t); |
5 const LLType* DtoComplexBaseType(Type* t); | 5 const LLType* DtoComplexBaseType(Type* t); |
6 | 6 |
7 LLConstant* DtoConstComplex(Type* t, LLConstant* re, LLConstant* im); | |
8 LLConstant* DtoConstComplex(Type* t, long double re, long double im); | 7 LLConstant* DtoConstComplex(Type* t, long double re, long double im); |
9 | 8 |
10 LLConstant* DtoComplexShuffleMask(unsigned a, unsigned b); | 9 LLConstant* DtoComplexShuffleMask(unsigned a, unsigned b); |
11 | 10 |
12 LLValue* DtoRealPart(DValue* val); | 11 LLValue* DtoRealPart(DValue* val); |
13 LLValue* DtoImagPart(DValue* val); | 12 LLValue* DtoImagPart(DValue* val); |
14 DValue* DtoComplex(Loc& loc, Type* to, DValue* val); | 13 DValue* DtoComplex(Loc& loc, Type* to, DValue* val); |
15 | 14 |
16 void DtoComplexAssign(LLValue* l, LLValue* r); | |
17 void DtoComplexSet(LLValue* c, LLValue* re, LLValue* im); | 15 void DtoComplexSet(LLValue* c, LLValue* re, LLValue* im); |
18 | 16 |
19 void DtoGetComplexParts(DValue* c, LLValue*& re, LLValue*& im); | 17 void DtoGetComplexParts(DValue* c, LLValue*& re, LLValue*& im); |
20 | 18 |
21 DValue* DtoComplexAdd(Loc& loc, Type* type, DValue* lhs, DValue* rhs); | 19 DValue* DtoComplexAdd(Loc& loc, Type* type, DValue* lhs, DValue* rhs); |