From de2853025930ac6ea8ff54a12fe089cc3eb777e8 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 | 6 ++++++ srcs/ft_fabs.c | 6 ++++++ srcs/ft_labs.c | 8 +++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/srcs/ft_abs.c b/srcs/ft_abs.c index c4743a0..cb89caf 100644 --- a/srcs/ft_abs.c +++ b/srcs/ft_abs.c @@ -1,8 +1,14 @@ #include "libft.h" +/** + * returns the absolute value of an int number + */ + int ft_abs(int n) { if (n < 0) n *= -1; + else if (n == 0) + n = 0; // for -0 return (n); } diff --git a/srcs/ft_fabs.c b/srcs/ft_fabs.c index 45c9223..9e8b11d 100644 --- a/srcs/ft_fabs.c +++ b/srcs/ft_fabs.c @@ -1,8 +1,14 @@ #include "libft.h" +/** + * returns the absolute value of a double number + */ + double ft_fabs(double n) { if (n < 0) n *= -1; + else if (n == 0) + n = 0; // for -0 return (n); } diff --git a/srcs/ft_labs.c b/srcs/ft_labs.c index 2203c33..d47f847 100644 --- a/srcs/ft_labs.c +++ b/srcs/ft_labs.c @@ -1,8 +1,14 @@ #include "libft.h" +/** + * returns the absolute value of a long int number + */ + long int ft_labs(long int n) { - if (n < 0) + if (n <= 0) n *= -1; + else if (n == 0) + n = 0; // for -0 return (n); }