From 45cc208f4474d2d880f926f88c5baafb8852d50f Mon Sep 17 00:00:00 2001 From: hugogogo Date: Sun, 10 May 2026 20:18:37 +0200 Subject: [PATCH] fix abs family for -0 value --- srcs/ft_abs.c | 8 ++++++-- srcs/ft_fabs.c | 8 ++++++-- srcs/ft_labs.c | 8 ++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/srcs/ft_abs.c b/srcs/ft_abs.c index c4743a0..8fd80b5 100644 --- a/srcs/ft_abs.c +++ b/srcs/ft_abs.c @@ -1,8 +1,12 @@ #include "libft.h" +/** + * returns the absolute value of an int number + */ + int ft_abs(int n) { - if (n < 0) - n *= -1; + if (n <= 0) + n *= -1; // also works for -0 return (n); } diff --git a/srcs/ft_fabs.c b/srcs/ft_fabs.c index 45c9223..9f5cbd0 100644 --- a/srcs/ft_fabs.c +++ b/srcs/ft_fabs.c @@ -1,8 +1,12 @@ #include "libft.h" +/** + * returns the absolute value of a double number + */ + double ft_fabs(double n) { - if (n < 0) - n *= -1; + if (n <= 0) + n *= -1; // also works for -0 return (n); } diff --git a/srcs/ft_labs.c b/srcs/ft_labs.c index 2203c33..8e69a3d 100644 --- a/srcs/ft_labs.c +++ b/srcs/ft_labs.c @@ -1,8 +1,12 @@ #include "libft.h" +/** + * returns the absolute value of a long int number + */ + long int ft_labs(long int n) { - if (n < 0) - n *= -1; + if (n <= 0) + n *= -1; // also works for -0 return (n); }