## 🆕 New Math Functions
- 🔢 Added `ft_max` → returns the maximum of two values.
- 🔢 Added `ft_min` → returns the minimum of two values.
- ✖️ Added `ft_power` → computes exponentiation.
- ➖ Added `ft_abs` → returns absolute value.
- √ Added `ft_sqrt` → computes integer square root.
- 📄 Created `math.h` to declare and document all math functions.
## 🛠️ Build System Integration
- 🧩 Updated the `Makefile` to include the new `math/` sources so they compile and link with the rest of the project.
## ⚡ Impact
- Project now includes a **dedicated math utility module**.
- Provides essential helper functions for broader use in future features.
- Cleaner organization with centralized declarations in `math.h`.
## 🛠️ Update to `ft_atou`
- 🌀 Added a loop in `convert/ft_atou.c` to **skip leading whitespace** characters before parsing, ensuring correct conversion of inputs with spaces at the start.
## 🗂️ Metadata
- 📅 Updated the file header timestamp for consistency.
## ⚡ Impact
- More accurate and standard-compliant behavior for `ft_atou`.
- Cleaner handling of edge cases with whitespace.
## ✨ New Functionality
- ➕ Added the `ft_atou` function in `ft_atou.c` to convert a string to `size_t` (unsigned integer), with built-in whitespace handling and null pointer safety.
- 📝 Declared `ft_atou` in `convert.h` with a detailed Doxygen-style comment explaining usage, return value, and parameters.
## 🧪 Test Coverage Improvements
- 🆕 Introduced `test_atou.c` to verify `ft_atou` against `strtoull`, covering edge cases such as empty strings, whitespace, and invalid input.
- 🔍 Expanded tests in `test_atoi.c`, `test_atoll.c`, and `test_itoa.c` to include more diverse scenarios (extra whitespace, varied integer ranges) to improve robustness and reliability.
## 🛠️ Codebase Maintenance
- 📦 Included `<stddef.h>` in `convert.h` to ensure `size_t` is available in function declarations.
## ⚡ Impact
- New unsigned integer conversion capability.
- Stronger and more comprehensive test suite for all conversion functions.
- Cleaner and safer header definitions.
📝 Documentation Overhaul:
- 🚚 Function docs have been migrated from implementation files (.c) to their header files (.h) across the following modules:
- char
- convert
- list
- memory
- All documentation is now in Doxygen-style comments, making headers self-documented and turning the API into an easier-to-navigate codex.
##
🛠️ Build System Tweaks:
- 🔗 Added str/ft_strncpy.c to the SRC list in the Makefile, ensuring it’s properly compiled and linked into the arsenal.
##
⚡ Impact
- Clearer and more maintainable API documentation.
- Stronger build consistency with all sources included.
- A polished codebase with up-to-date metadata.
🛡️ Robustness Buffs (Conversion Functions)
• 🧩 ft_atoi and ft_atoll gained a safety shield: they now return 0 when passed a null pointer, preventing accidental crashes.
• This change improves stability across the board, ensuring safer handling of unexpected input.
🧪 Test Suite Expansions
New & Expanded Conversion Trials
• 📝 Added extensive test coverage for ft_atoi, ft_atoll, and ft_itoa, including edge cases and null pointer handling.
• These tests live in test/convert/ and ensure your conversion toolkit is battle-ready for any scenario.
Character Function Test Output Polish
• ✨ Updated all character test files (test_isalnum.c, test_isalpha.c, test_isascii.c, test_isprint.c, test_tolower.c, test_toupper.c) with better output formatting.
• Each result now ends with a newline → improved readability during long test runs.
🔨 Build & Test Process
• 🧹 The Makefile has been optimized:
• test target now depends on fclean + $(NAME) → always runs on a clean build.
• The test runner loop has been reformatted for cleaner output.
📦 Minor Updates
• 📅 File headers refreshed to reflect the latest modification dates, keeping the codebase neat and consistent.
⚡ Impact
• Stronger crash resistance for conversion functions.
• More comprehensive and reliable test suite.
• Cleaner, more professional build & test pipeline.
• Better dev experience thanks to polished test outputs.
🎯 Gameplay Fixes (a.k.a. Function Corrections)
• 🔧 ft_isascii has been rebalanced: now consistently returns 1 for values within the ASCII range (0–127), instead of leaking the raw character value.
• 🔧 ft_isprint has been patched: returns 1 only for printable characters (32–126), aligning with the standard library.
➡️ These fixes bring our character classification system fully in line with the C standard behavior. No more unfair RNG in return values!
⸻
🆕 New Content (a.k.a. Fresh Test Files)
• 📜 test_isascii.c – Exhaustively tests ft_isascii vs isascii across values 0–128.
• 📜 test_isprint.c – Pits ft_isprint against isprint across the same range.
• 📜 test_tolower.c – Validates ft_tolower against tolower.
• 📜 test_toupper.c – Validates ft_toupper against toupper.
⸻
⚡ Impact
• Consistent, predictable behavior for all classification and transformation functions.
• A stronger, more reliable unit test suite to guard against future regressions.
• Confidence boost for upcoming boss fights (👀 the rest of libft).