From c4d33e5eb46c123761ac501e8c52f33850483a8a Mon Sep 17 00:00:00 2001 From: Mike Date: Thu, 4 Jul 2019 15:11:40 +0900 Subject: [PATCH] Replace D1 operator overloads with D2 operator overloads for complex.d --- src/dmd/complex.d | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/dmd/complex.d b/src/dmd/complex.d index 57f04ff5f24b..13e9e330e163 100644 --- a/src/dmd/complex.d +++ b/src/dmd/complex.d @@ -32,42 +32,50 @@ struct complex_t this.im = im; } - complex_t opAdd(complex_t y) + complex_t opBinary(string op)(complex_t y) + if (op == "+") { return complex_t(re + y.re, im + y.im); } - complex_t opSub(complex_t y) + complex_t opBinary(string op)(complex_t y) + if (op == "-") { return complex_t(re - y.re, im - y.im); } - complex_t opNeg() + complex_t opUnary(string op)() + if (op == "-") { return complex_t(-re, -im); } - complex_t opMul(complex_t y) + complex_t opBinary(string op)(complex_t y) + if (op == "*") { return complex_t(re * y.re - im * y.im, im * y.re + re * y.im); } - complex_t opMul_r(real_t x) + complex_t opBinaryRight(string op)(real_t x) + if (op == "*") { return complex_t(x) * this; } - complex_t opMul(real_t y) + complex_t opBinary(string op)(real_t y) + if (op == "*") { return this * complex_t(y); } - complex_t opDiv(real_t y) + complex_t opBinary(string op)(real_t y) + if (op == "/") { return this / complex_t(y); } - complex_t opDiv(complex_t y) + complex_t opBinary(string op)(complex_t y) + if (op == "/") { if (CTFloat.fabs(y.re) < CTFloat.fabs(y.im)) {