/**
 * @file lib.h
 * @author Ernesto Casablanca (casablancaernesto@gmail.com)
 * @copyright 2024
 * @licence Apache-2.0 license
 */
#pragma once

/**
 * @brief Add two integers
 *
 * Who knows what the result will be?
 * @note This function is very complex. Use it with caution.
 * @warning The result can be greater than the maximum value that can be stored!
 * @param a First integer
 * @param b Second integer
 * @return Sum of a and b
 */
int add(int a, int b);