Mercurial > octave
changeset 29421:24e62692e8ac stable
avoid ambiguous call to pow (bug #60169)
* Table.cc (FORMATNUMBER): Avoid calling pow(int,int).
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 04 Mar 2021 16:19:48 -0500 |
parents | cb2d14b384df |
children | 8b9e3f0bd06f |
files | libgui/graphics/Table.cc |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/graphics/Table.cc Mon Mar 08 19:10:23 2021 +0100 +++ b/libgui/graphics/Table.cc Thu Mar 04 16:19:48 2021 -0500 @@ -80,11 +80,13 @@ char format = 'f', \ int precision = 4) \ { \ + type ten = 10; \ if (format == 'n') \ { \ if (d == floor (d)) \ return QString::number (d, 'g', precision); \ - else if (d <= pow (10, precision - 1) && d > pow (10, 1 - precision)) \ + else if (d <= pow (ten, precision - 1) \ + && d > pow (ten, 1 - precision)) \ return QString::number (d, 'f', precision); \ else \ return QString::number (d, 'e', precision); \ @@ -92,7 +94,7 @@ else if (format == 'F') \ { \ int exponent = floor (log10 (d) / 3) * 3; \ - d *= pow (10, -exponent); \ + d *= pow (ten, -exponent); \ return QString::number (d, 'f', precision) + "e" + \ (exponent < 0 ? "-" : "+") + \ QString ("%1").arg (abs (exponent), 3, 10, QChar ('0')); \ @@ -100,7 +102,7 @@ else if (format == 'E') \ { \ int exponent = floor (log10 (d) / 3) * 3; \ - d *= pow (10, -exponent); \ + d *= pow (ten, -exponent); \ return QString::number (d, \ 'f', \ precision - floor (log10 (d)) - 1) + \