1
1
mirror of https://github.com/theoludwig/libcproject.git synced 2024-11-12 23:23:12 +01:00
libcproject/lib/convert.h

91 lines
1.8 KiB
C
Raw Normal View History

#ifndef __LIBCPROJECT_CONVERT__
#define __LIBCPROJECT_CONVERT__
2023-01-05 19:28:05 +01:00
#include <errno.h>
2023-01-07 19:38:01 +01:00
#include <stdio.h>
#include <stdlib.h>
#include "character.h"
#include "mathematics.h"
#include "stdbool.h"
#include "string.h"
2023-06-25 15:07:34 +02:00
#include "types.h"
2023-01-07 19:38:01 +01:00
/**
* @brief Convert a character to a string.
*
* @param character
2023-08-09 21:08:15 +02:00
* @return string_t
* @since v1.0.0
*/
string_t convert_character_to_string(const char character);
2023-01-05 19:28:05 +01:00
/**
* @brief Convert a character to a digit.
*
* @param character
2023-08-09 21:08:15 +02:00
* @return char
* @since v1.0.0
*/
2023-01-05 19:28:05 +01:00
char convert_character_to_digit(const char character);
/**
* @brief Convert a digit to a character.
*
* @param digit
2023-08-09 21:08:15 +02:00
* @return char
* @since v1.0.0
*/
2023-01-05 19:28:05 +01:00
char convert_digit_to_character(const char digit);
/**
* @brief Convert a string to a number.
*
* @param string
2023-08-09 21:08:15 +02:00
* @return long long
* @since v1.0.0
*/
long long convert_string_to_number(const string_t string);
2023-01-05 19:28:05 +01:00
/**
* @brief Convert a number to a string.
*
* @param integer
2023-08-09 21:08:15 +02:00
* @return string_t
* @since v1.0.0
*/
string_t convert_number_to_string(const long long integer);
2023-01-05 19:28:05 +01:00
/**
* @brief Convert a number (base 10) to a string with a specific base.
*
* @param number
* @param base
2023-08-09 21:08:15 +02:00
* @return string_t
* @since v1.0.0
*/
string_t convert_number_from_base_10_to_base(unsigned long long number, unsigned long base);
2023-01-05 19:28:05 +01:00
/**
* @brief Convert a number with a specific base to a number base 10.
*
* @param number
* @param base
2023-08-09 21:08:15 +02:00
* @return int
* @since v1.0.0
*/
unsigned long convert_number_from_base_to_base_10(string_t number, unsigned long base);
2023-01-05 19:28:05 +01:00
/**
* @brief Convert a number with a specific base to a number of specific base.
*
* @param number
* @param base_from
* @param base_target
2023-08-09 21:08:15 +02:00
* @return string_t
* @since v1.0.0
*/
string_t convert_number_from_base_to_another(string_t number, unsigned long base_from, unsigned long base_target);
2023-01-05 19:28:05 +01:00
#endif