Mercurial > projects > ddmd
view dmd/expression/Neg.d @ 114:e28b18c23469
added a module dmd.common for commonly used stuff
it currently holds code for consistency checking of predefined versions
also added a VisualD project file
author | Trass3r |
---|---|
date | Wed, 01 Sep 2010 18:21:58 +0200 |
parents | 10317f0c89a5 |
children |
line wrap: on
line source
module dmd.expression.Neg; import dmd.common; import dmd.Type; import dmd.Loc; import dmd.RealExp; import dmd.Expression; import dmd.ComplexExp; import dmd.IntegerExp; import dmd.Complex; Expression Neg(Type type, Expression e1) { Expression e; Loc loc = e1.loc; if (e1.type.isreal()) { e = new RealExp(loc, -e1.toReal(), type); } else if (e1.type.isimaginary()) { e = new RealExp(loc, -e1.toImaginary(), type); } else if (e1.type.iscomplex()) { Complex!(real) c = e1.toComplex(); e = new ComplexExp(loc, Complex!(real)(-c.re, -c.im), type); } else e = new IntegerExp(loc, -e1.toInteger(), type); return e; }