| 1 |
#ifndef LDC_GEN_COMPLEX_H |
|---|
| 2 |
#define LDC_GEN_COMPLEX_H |
|---|
| 3 |
|
|---|
| 4 |
const llvm::StructType* DtoComplexType(Type* t); |
|---|
| 5 |
const LLType* DtoComplexBaseType(Type* t); |
|---|
| 6 |
|
|---|
| 7 |
LLConstant* DtoConstComplex(Type* t, long double re, long double im); |
|---|
| 8 |
|
|---|
| 9 |
LLConstant* DtoComplexShuffleMask(unsigned a, unsigned b); |
|---|
| 10 |
|
|---|
| 11 |
LLValue* DtoRealPart(DValue* val); |
|---|
| 12 |
LLValue* DtoImagPart(DValue* val); |
|---|
| 13 |
DValue* DtoComplex(Loc& loc, Type* to, DValue* val); |
|---|
| 14 |
|
|---|
| 15 |
void DtoComplexSet(LLValue* c, LLValue* re, LLValue* im); |
|---|
| 16 |
|
|---|
| 17 |
void DtoGetComplexParts(Loc& loc, Type* to, DValue* c, LLValue*& re, LLValue*& im); |
|---|
| 18 |
|
|---|
| 19 |
DValue* DtoComplexAdd(Loc& loc, Type* type, DValue* lhs, DValue* rhs); |
|---|
| 20 |
DValue* DtoComplexSub(Loc& loc, Type* type, DValue* lhs, DValue* rhs); |
|---|
| 21 |
DValue* DtoComplexMul(Loc& loc, Type* type, DValue* lhs, DValue* rhs); |
|---|
| 22 |
DValue* DtoComplexDiv(Loc& loc, Type* type, DValue* lhs, DValue* rhs); |
|---|
| 23 |
DValue* DtoComplexNeg(Loc& loc, Type* type, DValue* val); |
|---|
| 24 |
|
|---|
| 25 |
LLValue* DtoComplexEquals(Loc& loc, TOK op, DValue* lhs, DValue* rhs); |
|---|
| 26 |
|
|---|
| 27 |
DValue* DtoCastComplex(Loc& loc, DValue* val, Type* to); |
|---|
| 28 |
|
|---|
| 29 |
#endif // LDC_GEN_COMPLEX_H |
|---|