242 lines
5.8 KiB
Plaintext
242 lines
5.8 KiB
Plaintext
|
|
=encoding UTF-8
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head1 НАИМЕНОВАНИЕ
|
|||
|
|
|
|||
|
|
BH_Util - Вспомогательные функции
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head1 СИНТАКСИС
|
|||
|
|
|
|||
|
|
#include <BH/Math.h>
|
|||
|
|
|
|||
|
|
cc prog.c -o prog -lbh
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head1 ОПИСАНИЕ
|
|||
|
|
|
|||
|
|
Библиотека BH_Util предоставляет набор функций для работы с числами в форматах
|
|||
|
|
little-endian и big-endian, а также для классификации значений с плавающей
|
|||
|
|
точкой.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head1 API ВЫЗОВЫ
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_ClassifyDouble
|
|||
|
|
|
|||
|
|
int BH_ClassifyDouble(double value);
|
|||
|
|
|
|||
|
|
Классифицирует значение с плавающей точкой.
|
|||
|
|
|
|||
|
|
Данная функция возвращает комбинацию из следующих значений:
|
|||
|
|
|
|||
|
|
=over
|
|||
|
|
|
|||
|
|
=item B<BH_FP_NORMAL>
|
|||
|
|
|
|||
|
|
Значение является нормальным или субнормальным.
|
|||
|
|
|
|||
|
|
=item B<BH_FP_ZERO>
|
|||
|
|
|
|||
|
|
Значение является положительным или отрицательным нулём.
|
|||
|
|
|
|||
|
|
=item B<BH_FP_INFINITE>
|
|||
|
|
|
|||
|
|
Значение является положительной или отрицательной бесконечностью.
|
|||
|
|
|
|||
|
|
=item B<BH_FP_NAN>
|
|||
|
|
|
|||
|
|
Значение не является числом (NaN).
|
|||
|
|
|
|||
|
|
=item B<BH_FP_NEGATIVE>
|
|||
|
|
|
|||
|
|
Значение является отрицательным.
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read16LEu
|
|||
|
|
|
|||
|
|
uint16_t BH_Read16LEu(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 16-битное беззнаковое little-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read16LEs
|
|||
|
|
|
|||
|
|
int16_t BH_Read16LEs(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 16-битное знаковое little-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read32LEu
|
|||
|
|
|
|||
|
|
uint32_t BH_Read32LEu(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 32-битное беззнаковое little-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read32LEs
|
|||
|
|
|
|||
|
|
int32_t BH_Read32LEs(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 32-битное знаковое little-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read64LEu
|
|||
|
|
|
|||
|
|
uint64_t BH_Read64LEu(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 64-битное беззнаковое little-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read64LEs
|
|||
|
|
|
|||
|
|
int64_t BH_Read64LEs(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 64-битное знаковое little-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read16BEu
|
|||
|
|
|
|||
|
|
uint16_t BH_Read16BEu(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 16-битное беззнаковое big-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read16BEs
|
|||
|
|
|
|||
|
|
int16_t BH_Read16BEs(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 16-битное знаковое big-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read32BEu
|
|||
|
|
|
|||
|
|
uint32_t BH_Read32BEu(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 32-битное беззнаковое big-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read32BEs
|
|||
|
|
|
|||
|
|
int32_t BH_Read32BEs(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 32-битное знаковое big-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read64BEu
|
|||
|
|
|
|||
|
|
uint64_t BH_Read64BEu(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 64-битное беззнаковое big-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Read64BEs
|
|||
|
|
|
|||
|
|
int64_t BH_Read64BEs(const char *buffer);
|
|||
|
|
|
|||
|
|
Считывает целое 64-битное знаковое big-endian число из буфера.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write16LEu
|
|||
|
|
|
|||
|
|
void BH_Write16LEu(char *buffer,
|
|||
|
|
uint16_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 16-битное беззнаковое little-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write16LEs
|
|||
|
|
|
|||
|
|
void BH_Write16LEs(char *buffer,
|
|||
|
|
int16_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 16-битное знаковое little-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write32LEu
|
|||
|
|
|
|||
|
|
void BH_Write32LEu(char *buffer,
|
|||
|
|
uint32_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 32-битное беззнаковое little-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write32LEs
|
|||
|
|
|
|||
|
|
void BH_Write32LEs(char *buffer,
|
|||
|
|
int32_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 32-битное знаковое little-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write64LEu
|
|||
|
|
|
|||
|
|
void BH_Write64LEu(char *buffer,
|
|||
|
|
uint64_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 64-битное беззнаковое little-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write64LEs
|
|||
|
|
|
|||
|
|
void BH_Write64LEs(char *buffer,
|
|||
|
|
int64_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 64-битное знаковое little-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write16BEu
|
|||
|
|
|
|||
|
|
void BH_Write16BEu(char *buffer,
|
|||
|
|
uint16_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 16-битное беззнаковое big-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write16BEs
|
|||
|
|
|
|||
|
|
void BH_Write16BEs(char *buffer,
|
|||
|
|
int16_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 16-битное знаковое big-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write32BEu
|
|||
|
|
|
|||
|
|
void BH_Write32BEu(char *buffer,
|
|||
|
|
uint32_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 32-битное беззнаковое big-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write32BEs
|
|||
|
|
|
|||
|
|
void BH_Write32BEs(char *buffer,
|
|||
|
|
int32_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 32-битное знаковое big-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write64BEu
|
|||
|
|
|
|||
|
|
void BH_Write64BEu(char *buffer,
|
|||
|
|
uint64_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 64-битное беззнаковое big-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head2 BH_Write64BEs
|
|||
|
|
|
|||
|
|
void BH_Write64BEs(char *buffer,
|
|||
|
|
int64_t value);
|
|||
|
|
|
|||
|
|
Записывает целое 64-битное знаковое big-endian число в буфер.
|
|||
|
|
|
|||
|
|
|
|||
|
|
=head1 СМ. ТАКЖЕ
|
|||
|
|
|
|||
|
|
L<BH>
|