Mercurial > projects > ldc
comparison dmd/constfold.c @ 734:6dcab994ddc3
Fold in mandel's patch for ARM from #106
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Mon, 27 Oct 2008 16:36:59 +0100 |
parents | a26b0c5d5942 |
children | eee9efe5b51f |
comparison
equal
deleted
inserted
replaced
733:cc8ba72c0350 | 734:6dcab994ddc3 |
---|---|
485 | 485 |
486 #ifdef __DMC__ | 486 #ifdef __DMC__ |
487 c = fmodl(e1->toReal(), r2) + fmodl(e1->toImaginary(), r2) * I; | 487 c = fmodl(e1->toReal(), r2) + fmodl(e1->toImaginary(), r2) * I; |
488 #elif defined(IN_GCC) | 488 #elif defined(IN_GCC) |
489 c = complex_t(e1->toReal() % r2, e1->toImaginary() % r2); | 489 c = complex_t(e1->toReal() % r2, e1->toImaginary() % r2); |
490 #elif defined(__FreeBSD__) && __FreeBSD_version < 800000 | 490 #elif (defined(__FreeBSD__) && __FreeBSD_version < 800000) || defined(__arm__) |
491 // freebsd is kinda messed up. the STABLE branch doesn't support C99's fmodl !?! | 491 // freebsd is kinda messed up. the STABLE branch doesn't support C99's fmodl !?! |
492 c = complex_t(fmod(e1->toReal(), r2), fmod(e1->toImaginary(), r2)); | 492 // arm also doesn't like fmodl |
493 c = complex_t(fmod(e1->toReal(), r2), fmod(e1->toImaginary(), r2)); | |
493 #else | 494 #else |
494 c = complex_t(fmodl(e1->toReal(), r2), fmodl(e1->toImaginary(), r2)); | 495 c = complex_t(fmodl(e1->toReal(), r2), fmodl(e1->toImaginary(), r2)); |
495 #endif | 496 #endif |
496 } | 497 } |
497 else if (e2->type->isimaginary()) | 498 else if (e2->type->isimaginary()) |
499 | 500 |
500 #ifdef __DMC__ | 501 #ifdef __DMC__ |
501 c = fmodl(e1->toReal(), i2) + fmodl(e1->toImaginary(), i2) * I; | 502 c = fmodl(e1->toReal(), i2) + fmodl(e1->toImaginary(), i2) * I; |
502 #elif defined(IN_GCC) | 503 #elif defined(IN_GCC) |
503 c = complex_t(e1->toReal() % i2, e1->toImaginary() % i2); | 504 c = complex_t(e1->toReal() % i2, e1->toImaginary() % i2); |
504 #elif defined(__FreeBSD__) && __FreeBSD_version < 800000 | 505 #elif (defined(__FreeBSD__) && __FreeBSD_version < 800000) || defined(__arm__) |
505 // freebsd is kinda messed up. the STABLE branch doesn't support C99's fmodl !?! | 506 // freebsd is kinda messed up. the STABLE branch doesn't support C99's fmodl !?! |
506 c = complex_t(fmod(e1->toReal(), i2), fmod(e1->toImaginary(), i2)); | 507 // arm also doesn't like fmodl |
508 c = complex_t(fmod(e1->toReal(), i2), fmod(e1->toImaginary(), i2)); | |
507 #else | 509 #else |
508 c = complex_t(fmodl(e1->toReal(), i2), fmodl(e1->toImaginary(), i2)); | 510 c = complex_t(fmodl(e1->toReal(), i2), fmodl(e1->toImaginary(), i2)); |
509 #endif | 511 #endif |
510 } | 512 } |
511 else | 513 else |