Mercurial > projects > ldc
comparison gen/complex.cpp @ 133:44a95ac7368a trunk
[svn r137] Many fixes towards tango.io.Console working, but not quite there yet...
In particular, assertions has been fixed to include file/line info, and much more!
author | lindquist |
---|---|
date | Mon, 14 Jan 2008 05:11:54 +0100 |
parents | 3efbcc81ba45 |
children | a64becf2a702 |
comparison
equal
deleted
inserted
replaced
132:1700239cab2e | 133:44a95ac7368a |
---|---|
133 const llvm::Type* base = DtoComplexBaseType(to); | 133 const llvm::Type* base = DtoComplexBaseType(to); |
134 | 134 |
135 llvm::Constant* undef = llvm::UndefValue::get(base); | 135 llvm::Constant* undef = llvm::UndefValue::get(base); |
136 llvm::Constant* zero; | 136 llvm::Constant* zero; |
137 if (ty == Tfloat32 || ty == Timaginary32 || ty == Tcomplex32) | 137 if (ty == Tfloat32 || ty == Timaginary32 || ty == Tcomplex32) |
138 zero = llvm::ConstantFP::get(llvm::Type::FloatTy, float(0)); | 138 zero = llvm::ConstantFP::get(llvm::Type::FloatTy, llvm::APFloat(0.0f)); |
139 else if (ty == Tfloat64 || ty == Timaginary64 || ty == Tcomplex64 || ty == Tfloat80 || ty == Timaginary80 || ty == Tcomplex80) | 139 else if (ty == Tfloat64 || ty == Timaginary64 || ty == Tcomplex64 || ty == Tfloat80 || ty == Timaginary80 || ty == Tcomplex80) |
140 zero = llvm::ConstantFP::get(llvm::Type::DoubleTy, double(0)); | 140 zero = llvm::ConstantFP::get(llvm::Type::DoubleTy, llvm::APFloat(0.0)); |
141 | 141 |
142 if (t->isimaginary()) { | 142 if (t->isimaginary()) { |
143 return new DComplexValue(to, zero, val->getRVal()); | 143 return new DComplexValue(to, zero, val->getRVal()); |
144 } | 144 } |
145 else if (t->isfloating()) { | 145 else if (t->isfloating()) { |