Doxygen kind'a sucks and I need multilanguage documentation, so I did that. Also, separated massive Math.h file into smaller files.
374 lines
14 KiB
Plaintext
374 lines
14 KiB
Plaintext
=encoding UTF-8
|
||
|
||
|
||
=head1 НАИМЕНОВАНИЕ
|
||
|
||
BH_String - Работа со строками
|
||
|
||
|
||
=head1 СИНТАКСИС
|
||
|
||
#include <BH/Math.h>
|
||
|
||
cc prog.c -o prog -lbh
|
||
|
||
|
||
=head1 ОПИСАНИЕ
|
||
|
||
Библиотека BH_String предоставляет набор функций для работы со строками, включая
|
||
преобразование чисел в строки и обратно.
|
||
|
||
|
||
=head1 ОПРЕДЛЕНИЕ ОСНОВАНИЯ
|
||
|
||
В функциях семейства I<StringToInt> присутсвует алгоритм определения основания
|
||
числа по префиксам строки:
|
||
|
||
=over
|
||
|
||
=item *
|
||
|
||
Если префикс I<0b> - основние 2
|
||
|
||
=item *
|
||
|
||
Если префикс I<0> - основние 8
|
||
|
||
=item *
|
||
|
||
Если префикс I<0x> - основние 16
|
||
|
||
=item *
|
||
|
||
Иначе - основание 10
|
||
|
||
=back
|
||
|
||
|
||
=head1 API ВЫЗОВЫ
|
||
|
||
|
||
=head2 BH_StringFromDouble
|
||
|
||
int BH_StringFromDouble(char *string,
|
||
size_t size,
|
||
double value,
|
||
char format,
|
||
int precision,
|
||
size_t *actual);
|
||
|
||
|
||
Форматирует вещественное число I<value> в нуль-терминированную строку I<string>
|
||
(с ограничением по длинне I<size>).
|
||
|
||
Параметр I<format> задает формат преобразования числа в строку. Допустимые
|
||
форматы:
|
||
|
||
=over
|
||
|
||
=item B<f>, B<F>
|
||
|
||
Фиксированный формат: [-]ddd.ddd
|
||
|
||
=item B<e>, B<E>
|
||
|
||
Научный формат: [-]d.dddedd
|
||
|
||
=item B<g>, B<G>
|
||
|
||
Фиксированный или научный формат, в зависимости от того, какой из них короче
|
||
|
||
=back
|
||
|
||
Параметр I<precision> задает точность преобразования числа в строку. Если
|
||
значение точности отрицательное, преобразование будет выполнено с минимально
|
||
необходимой точностью, чтобы при обратном преобразовании получилось исходное
|
||
число.
|
||
|
||
Опциональный параметр I<actual> возвращает длину записанной строки.
|
||
|
||
Данная функция следует правилу IEEE 754 округление до четного.
|
||
|
||
В случае успеха, возвращает 0 или код ошибки.
|
||
|
||
|
||
=head2 BH_StringFromInt8s
|
||
|
||
int BH_StringFromInt8s(char *string,
|
||
size_t size,
|
||
int8_t value,
|
||
int base,
|
||
size_t *actual);
|
||
|
||
Форматирует целое 8-битное знаковое число I<value> в нуль-терминированную строку
|
||
I<string> (с ограничением по длинне I<size>).
|
||
|
||
Параметр I<base> задает основание для преобразования.
|
||
|
||
Опциональный параметр I<actual> возвращает длину записанной строки.
|
||
|
||
В случае успеха, возвращает 0 или код ошибки.
|
||
|
||
|
||
=head2 BH_StringFromInt16s
|
||
|
||
int BH_StringFromInt16s(char *string,
|
||
size_t size,
|
||
int16_t value,
|
||
int base,
|
||
size_t *actual);
|
||
|
||
Форматирует целое 16-битное знаковое число I<value> в нуль-терминированную
|
||
строку I<string> (с ограничением по длинне I<size>).
|
||
|
||
Параметр I<base> задает основание для преобразования.
|
||
|
||
Опциональный параметр I<actual> возвращает длину записанной строки.
|
||
|
||
В случае успеха, возвращает 0 или код ошибки.
|
||
|
||
|
||
=head2 BH_StringFromInt32s
|
||
|
||
int BH_StringFromInt32s(char *string,
|
||
size_t size,
|
||
int32_t value,
|
||
int base,
|
||
size_t *actual);
|
||
|
||
Форматирует целое 32-битное знаковое число I<value> в нуль-терминированную
|
||
строку I<string> (с ограничением по длинне I<size>).
|
||
|
||
Параметр I<base> задает основание для преобразования.
|
||
|
||
Опциональный параметр I<actual> возвращает длину записанной строки.
|
||
|
||
В случае успеха, возвращает 0 или код ошибки.
|
||
|
||
|
||
=head2 BH_StringFromInt64s
|
||
|
||
int BH_StringFromInt64s(char *string,
|
||
size_t size,
|
||
int64_t value,
|
||
int base,
|
||
size_t *actual);
|
||
|
||
Форматирует целое 64-битное знаковое число I<value> в нуль-терминированную
|
||
строку I<string> (с ограничением по длинне I<size>).
|
||
|
||
Параметр I<base> задает основание для преобразования.
|
||
|
||
Опциональный параметр I<actual> возвращает длину записанной строки.
|
||
|
||
В случае успеха, возвращает 0 или код ошибки.
|
||
|
||
|
||
=head2 BH_StringFromInt8u
|
||
|
||
int BH_StringFromInt8u(char *string,
|
||
size_t size,
|
||
uint8_t value,
|
||
int base,
|
||
size_t *actual);
|
||
|
||
Форматирует целое 8-битное беззнаковое число I<value> в нуль-терминированную
|
||
строку I<string> (с ограничением по длинне I<size>).
|
||
|
||
Параметр I<base> задает основание для преобразования.
|
||
|
||
Опциональный параметр I<actual> возвращает длину записанной строки.
|
||
|
||
В случае успеха, возвращает 0 или код ошибки.
|
||
|
||
|
||
=head2 BH_StringFromInt16u
|
||
|
||
int BH_StringFromInt16u(char *string,
|
||
size_t size,
|
||
uint16_t value,
|
||
int base,
|
||
size_t *actual);
|
||
|
||
Форматирует целое 16-битное беззнаковое число I<value> в нуль-терминированную
|
||
строку I<string> (с ограничением по длинне I<size>).
|
||
|
||
Параметр I<base> задает основание для преобразования.
|
||
|
||
Опциональный параметр I<actual> возвращает длину записанной строки.
|
||
|
||
В случае успеха, возвращает 0 или код ошибки.
|
||
|
||
|
||
=head2 BH_StringFromInt32u
|
||
|
||
int BH_StringFromInt32u(char *string,
|
||
size_t size,
|
||
uint32_t value,
|
||
int base,
|
||
size_t *actual);
|
||
|
||
Форматирует целое 32-битное беззнаковое число I<value> в нуль-терминированную
|
||
строку I<string> (с ограничением по длинне I<size>).
|
||
|
||
Параметр I<base> задает основание для преобразования.
|
||
|
||
Опциональный параметр I<actual> возвращает длину записанной строки.
|
||
|
||
В случае успеха, возвращает 0 или код ошибки.
|
||
|
||
|
||
=head2 BH_StringFromInt64u
|
||
|
||
int BH_StringFromInt64u(char *string,
|
||
size_t size,
|
||
uint64_t value,
|
||
int base,
|
||
size_t *actual);
|
||
|
||
Форматирует целое 64-битное беззнаковое число I<value> в нуль-терминированную
|
||
строку I<string> (с ограничением по длинне I<size>).
|
||
|
||
Параметр I<base> задает основание для преобразования.
|
||
|
||
Опциональный параметр I<actual> возвращает длину записанной строки.
|
||
|
||
В случае успеха, возвращает 0 или код ошибки.
|
||
|
||
|
||
=head2 BH_StringToDouble
|
||
|
||
double BH_StringToDouble(const char *string,
|
||
size_t *size);
|
||
|
||
Преобразовывает строку I<string> в вещественное число.
|
||
|
||
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
|
||
|
||
В случае успеха, возвращает преобразованное число или 0.
|
||
|
||
|
||
=head2 BH_StringToInt8s
|
||
|
||
int8_t BH_StringToInt8s(const char *string,
|
||
size_t *size,
|
||
int base);
|
||
|
||
Преобразовывает строку I<string> в целое знаковое 8-битное число.
|
||
|
||
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
|
||
|
||
Опциональный параметр I<base> задает основание числа.
|
||
|
||
В случае успеха, возвращает преобразованное число или 0.
|
||
|
||
|
||
=head2 BH_StringToInt16s
|
||
|
||
int16_t BH_StringToInt16s(const char *string,
|
||
size_t *size,
|
||
int base);
|
||
|
||
Преобразовывает строку I<string> в целое знаковое 16-битное число.
|
||
|
||
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
|
||
|
||
Опциональный параметр I<base> задает основание числа.
|
||
|
||
В случае успеха, возвращает преобразованное число или 0.
|
||
|
||
|
||
=head2 BH_StringToInt32s
|
||
|
||
int32_t BH_StringToInt32s(const char *string,
|
||
size_t *size,
|
||
int base);
|
||
|
||
Преобразовывает строку I<string> в целое знаковое 32-битное число.
|
||
|
||
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
|
||
|
||
Опциональный параметр I<base> задает основание числа.
|
||
|
||
В случае успеха, возвращает преобразованное число или 0.
|
||
|
||
|
||
=head2 BH_StringToInt64s
|
||
|
||
int64_t BH_StringToInt64s(const char *string,
|
||
size_t *size,
|
||
int base);
|
||
|
||
Преобразовывает строку I<string> в целое знаковое 64-битное число.
|
||
|
||
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
|
||
|
||
Опциональный параметр I<base> задает основание числа.
|
||
|
||
В случае успеха, возвращает преобразованное число или 0.
|
||
|
||
|
||
=head2 BH_StringToInt8u
|
||
|
||
uint8_t BH_StringToInt8u(const char *string,
|
||
size_t *size,
|
||
int base);
|
||
|
||
Преобразовывает строку I<string> в целое беззнаковое 8-битное число.
|
||
|
||
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
|
||
|
||
Опциональный параметр I<base> задает основание числа.
|
||
|
||
В случае успеха, возвращает преобразованное число или 0.
|
||
|
||
|
||
=head2 BH_StringToInt16u
|
||
|
||
uint16_t BH_StringToInt16u(const char *string,
|
||
size_t *size,
|
||
int base);
|
||
|
||
Преобразовывает строку I<string> в целое беззнаковое 16-битное число.
|
||
|
||
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
|
||
|
||
Опциональный параметр I<base> задает основание числа.
|
||
|
||
В случае успеха, возвращает преобразованное число или 0.
|
||
|
||
|
||
=head2 BH_StringToInt32u
|
||
|
||
uint32_t BH_StringToInt32u(const char *string,
|
||
size_t *size,
|
||
int base);
|
||
|
||
Преобразовывает строку I<string> в целое беззнаковое 32-битное число.
|
||
|
||
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
|
||
|
||
Опциональный параметр I<base> задает основание числа.
|
||
|
||
В случае успеха, возвращает преобразованное число или 0.
|
||
|
||
|
||
=head2 BH_StringToInt64u
|
||
|
||
uint64_t BH_StringToInt64u(const char *string,
|
||
size_t *size,
|
||
int base);
|
||
|
||
Преобразовывает строку I<string> в целое беззнаковое 64-битное число.
|
||
|
||
Опциональный параметр I<size> возвращает число прочитанных символов из строки.
|
||
|
||
Опциональный параметр I<base> задает основание числа.
|
||
|
||
В случае успеха, возвращает преобразованное число или 0.
|
||
|
||
|
||
=head1 СМ. ТАКЖЕ
|
||
|
||
L<BH>
|