build: removing the debug mode

This commit is contained in:
Raphael 2025-03-24 15:48:14 +01:00
parent 6631b3042a
commit 647c777037
4 changed files with 122 additions and 3 deletions

View file

@ -6,7 +6,7 @@
# By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ # # By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2023/11/12 11:05:05 by rparodi #+# #+# # # Created: 2023/11/12 11:05:05 by rparodi #+# #+# #
# Updated: 2025/03/24 14:51:15 by rparodi ### ########.fr # # Updated: 2025/03/24 15:47:19 by rparodi ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -25,9 +25,9 @@ CXXFLAGS = -Werror -Wextra -Wall -std=c++98 -I./includes/
# Flags to have the dependences (can be removed for correction) # Flags to have the dependences (can be removed for correction)
CXXFLAGS += -MMD CXXFLAGS += -MMD
# Flags to have the debug (can be removed for correction) # Flags to have the debug (can be removed for correction)
DEBUG = -g3 # DEBUG = -g3
# DEBUG += -fsanitize=address # DEBUG += -fsanitize=address
CXXFLAGS += $(DEBUG) # CXXFLAGS += $(DEBUG)
# Sources # Sources
SRC = sources/char.cpp \ SRC = sources/char.cpp \

View file

@ -0,0 +1,39 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* double.cpp :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/03/22 22:11:44 by rparodi #+# #+# */
/* Updated: 2025/03/24 15:11:15 by rparodi ### ########.fr */
/* */
/* ************************************************************************** */
#include "ScalarConverter.hpp"
bool isDouble(std::string const &str) {
if (str.empty())
return false;
char *end;
int err = 0;
std::strtod(str.c_str(), &end);
if (*end)
return false;
if (err == ERANGE)
return false;
return true;
}
void convertDouble(std::string const &str) {
char *end;
float the_double = std::strtod(str.c_str(), &end);
std::cout << CLR_BLUE << "Char:\t" << CLR_RESET;
if (the_double > -128 && the_double < 127 && std::isprint(the_double))
std::cout << CLR_BLUE << "'" << CLR_GOLD << static_cast<char>(the_double) << CLR_BLUE << "'" << CLR_RESET << std::endl;
else
std::cout << CLR_RED << "Non displayable" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Int:\t" << CLR_GOLD << static_cast<int>(the_double)<< CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Float:\t" << CLR_GOLD << std::fixed << std::setprecision(1) << static_cast<float>(the_double) << "f" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Double:\t" << CLR_GOLD << std::fixed << std::setprecision(1) << the_double << CLR_RESET << std::endl;
}

View file

@ -0,0 +1,35 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* exeception.cpp :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/03/24 11:38:01 by rparodi #+# #+# */
/* Updated: 2025/03/24 14:09:50 by rparodi ### ########.fr */
/* */
/* ************************************************************************** */
#include "ScalarConverter.hpp"
#include "color.hpp"
void not_a_number() {
std::cout << CLR_BLUE << "Char:\t" << CLR_RED << "Impossible" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Int:\t" << CLR_RED << "Impossible" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Float:\t" << CLR_GOLD << "nanf" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Double:\t" << CLR_GOLD << "nan" << CLR_RESET << std::endl;
}
void minus_infinity() {
std::cout << CLR_BLUE << "Char:\t" << CLR_RED << "Impossible" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Int:\t" << CLR_RED << "Impossible" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Float:\t" << CLR_GOLD << "-inff" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Double:\t" << CLR_GOLD << "-inf" << CLR_RESET << std::endl;
}
void plus_infinity() {
std::cout << CLR_BLUE << "Char:\t" << CLR_RED << "Impossible" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Int:\t" << CLR_RED << "Impossible" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Float:\t" << CLR_GOLD << "+inff" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Double:\t" << CLR_GOLD << "+inf" << CLR_RESET << std::endl;
}

View file

@ -0,0 +1,45 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* float.cpp :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/03/22 22:11:44 by rparodi #+# #+# */
/* Updated: 2025/03/24 15:11:39 by rparodi ### ########.fr */
/* */
/* ************************************************************************** */
#include "ScalarConverter.hpp"
#include "color.hpp"
#include <cstdlib>
#include <climits>
#include <string>
#include <iostream>
#include <cerrno>
bool isFloat(std::string const &str) {
if (str.empty())
return false;
char *end;
int err = 0;
std::strtof(str.c_str(), &end);
if (*end)
return false;
if (err == ERANGE)
return false;
return true;
}
void convertFloat(std::string const &str) {
char *end;
float floating = std::strtof(str.c_str(), &end);
std::cout << CLR_BLUE << "Char:\t" << CLR_RESET;
if (floating > -128 && floating < 127 && std::isprint(floating))
std::cout << CLR_BLUE << "'" << CLR_GOLD << static_cast<char>(floating) << CLR_BLUE << "'" << CLR_RESET << std::endl;
else
std::cout << CLR_RED << "Non displayable" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Int:\t" << CLR_GOLD << static_cast<int>(floating)<< CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Float:\t" << CLR_GOLD << std::fixed << std::setprecision(1) << floating << "f" << CLR_RESET << std::endl;
std::cout << CLR_BLUE << "Double:\t" << CLR_GOLD << std::fixed << std::setprecision(1) << static_cast<double>(floating) << CLR_RESET << std::endl;
}