From f0d3f10c43c9029378adba11a65b3d1287e4be32 Mon Sep 17 00:00:00 2001 From: Sergey B Kirpichev Date: Tue, 26 Nov 2024 21:20:37 +0300 Subject: [PATCH] gh-69639: Add mixed-mode rules for complex arithmetic (C-like) (GH-124829) "Generally, mixed-mode arithmetic combining real and complex variables should be performed directly, not by first coercing the real to complex, lest the sign of zero be rendered uninformative; the same goes for combinations of pure imaginary quantities with complex variables." (c) Kahan, W: Branch cuts for complex elementary functions. This patch implements mixed-mode arithmetic rules, combining real and complex variables as specified by C standards since C99 (in particular, there is no special version for the true division with real lhs operand). Most C compilers implementing C99+ Annex G have only these special rules (without support for imaginary type, which is going to be deprecated in C2y).