From ca72d61e72b926a69c6272f367fecf44024a83f2 Mon Sep 17 00:00:00 2001
From: Armando Luiz Nicolini Delgado <nicolui@inf.ufpr.br>
Date: Fri, 27 Oct 2023 08:59:25 -0300
Subject: [PATCH] =?UTF-8?q?/*=20Altera=C3=A7=C3=A3o=20na=20defini=C3=A7?=
 =?UTF-8?q?=C3=A3o=20de=20macro=20'isPot2'=20*/?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 utils/utils.h | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/utils/utils.h b/utils/utils.h
index e2711bd..e964a70 100644
--- a/utils/utils.h
+++ b/utils/utils.h
@@ -5,7 +5,7 @@
 #include <time.h>
 #include <sys/time.h>
 
-// Valor absoluto de um número. Alternativa ao uso da função 'fabs()'
+// Valor absoluto de um número real. Alternativa ao uso da função 'fabs()'
 #define ABS(num)  ((num) < 0.0 ? -(num) : (num))
 
 // real_t: tipo usado para representar valores em ponto flutuante
@@ -23,11 +23,12 @@ typedef double rtime_t;
 #define ALIGN_16 __attribute__((aligned(16)))
 #define ALIGN_8 __attribute__((aligned(8)))
 
-// Número máximo de dígitos em um número
-#define numDigits(n)  6  // ( (int) log10(n) + 1 )
+// Número máximo de dígitos em um número inteiro
+#define numDigits(n)  6  // ( n ? (int) log10(ABS(n)) + 1 : 1 )
 
-// Macro para verificar de valor 'n' é potência de 2 ou não
-#define isPot2(n) (n && !(n & (n - 1)))
+// Macro para verificar de valor 'n' é potência de 2 ou não.
+// 'n' DEVE ser positivo e não-nulo
+#define isPot2(n) (!(n & (n - 1)))     // #define isPot2(n) (n && !(n & (n - 1)))
 
 // Funções
 rtime_t timestamp(void);
-- 
GitLab