Mercurial > projects > ldc
view lphobos/typeinfo1/ti_creal.d @ 1619:c61782a76dff
Merge DMD r304: refactor invariant => immutable
---
dmd/cast.c | 2 +-
dmd/declaration.c | 2 +-
dmd/declaration.h | 3 +--
dmd/doc.c | 2 +-
dmd/expression.c | 6 +++---
dmd/interpret.c | 4 ++--
dmd/mtype.c | 2 +-
dmd/mtype.h | 2 +-
dmd/parse.c | 4 ++--
dmd/struct.c | 2 +-
10 files changed, 14 insertions(+), 15 deletions(-)
author | Leandro Lucarella <llucax@gmail.com> |
---|---|
date | Wed, 06 Jan 2010 15:18:22 -0300 |
parents | 79c9ac745fbc |
children |
line wrap: on
line source
// creal module typeinfo1.ti_creal; class TypeInfo_c : TypeInfo { char[] toString() { return "creal"; } hash_t getHash(void *p) { return (cast(uint *)p)[0] + (cast(uint *)p)[1] + (cast(uint *)p)[2] + (cast(uint *)p)[3] + (cast(uint *)p)[4]; } static int _equals(creal f1, creal f2) { return f1 == f2; } static int _compare(creal f1, creal f2) { int result; if (f1.re < f2.re) result = -1; else if (f1.re > f2.re) result = 1; else if (f1.im < f2.im) result = -1; else if (f1.im > f2.im) result = 1; else result = 0; return result; } int equals(void *p1, void *p2) { return _equals(*cast(creal *)p1, *cast(creal *)p2); } int compare(void *p1, void *p2) { return _compare(*cast(creal *)p1, *cast(creal *)p2); } size_t tsize() { return creal.sizeof; } void swap(void *p1, void *p2) { creal t; t = *cast(creal *)p1; *cast(creal *)p1 = *cast(creal *)p2; *cast(creal *)p2 = t; } void[] init() { static creal r; return (cast(creal *)&r)[0 .. 1]; } }