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) +          \