diff options
Diffstat (limited to 'lib/pure/complex.nim')
-rw-r--r-- | lib/pure/complex.nim | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/pure/complex.nim b/lib/pure/complex.nim index 87b0670d1..2ea29a4f9 100644 --- a/lib/pure/complex.nim +++ b/lib/pure/complex.nim @@ -409,6 +409,11 @@ proc formatValueAsTuple(result: var string; value: Complex; specifier: string) = proc formatValueAsComplexNumber(result: var string; value: Complex; specifier: string) = ## Format implementation for `Complex` representing the value as a (RE+IMj) number + ## By default, the real and imaginary parts are formatted using the general ('g') format + let specifier = if specifier.contains({'e', 'E', 'f', 'F', 'g', 'G'}): + specifier.replace("j") + else: + specifier.replace('j', 'g') result.add "(" formatValue(result, value.re, specifier) if value.im >= 0 and not specifier.contains({'+', '-'}): @@ -425,11 +430,6 @@ proc formatValue*(result: var string; value: Complex; specifier: string) = if specifier.len == 0: result.add $value elif 'j' in specifier: - let specifier = if specifier.contains({'e', 'E', 'f', 'F', 'g', 'G'}): - specifier.replace("j") - else: - # 'The 'j' format defaults to 'g' - specifier.replace('j', 'g') formatValueAsComplexNumber(result, value, specifier) else: formatValueAsTuple(result, value, specifier) |