Loading...
Searching...
No Matches
Utils defines
My Libs » General Tools

Общие вспомогательные макросы More...

Collaboration diagram for Utils defines:

## Macros

#define | ClearStruct(_struct_)
| Обнуление структуры.
#define | Divide_Up(_val_, _div_)
| Деление с округлением вверх
#define | ByteSwap16(v)
| Swap between Little Endian and Big Endian.
#define | ABS(x)
| Абсолютное значение числа

## Detailed Description

Общие вспомогательные макросы

## Macro Definition Documentation

## ClearStruct

#define ClearStruct | ( |  | _struct_ | ) |

Value:
memset(&(_struct_), 0, sizeof(_struct_))

Обнуление структуры.

Parameters

  _struct_ | Структура, которую нужно обнулить.

Макрос использует memset для обнуления всей памяти структуры. Используется для быстрой и безопасной инициализации переменных структур до нуля.

Definition at line 169 of file mylibs_defs.h.

## Divide_Up

#define Divide_Up | ( |  | _val_,
|  |  | _div_ )

Value:
((_val_ - 1) / _div_) + 1 /* через мат выражение */

Деление с округлением вверх

Parameters

  _val_ | Делимое.
  _div_ | Делитель.

Returns
  Результат деления, округленный вверх.

Если результат деления без остатка: он возвращается как есть Если с остатком - округляется вверх

Definition at line 180 of file mylibs_defs.h.

## ByteSwap16

#define ByteSwap16 | ( |  | v | ) |

Value:
(((v&0xFF00) >> (8)) | ((v&0x00FF) << (8)))

Swap between Little Endian and Big Endian.

Parameters

  v | Исходное 16-битное значение.

Returns
  Результат с поменяными местами старшим и младшим байтом.

Переключения между двумя типами хранения слова: HI-LO байты и LO-HI байты.

Definition at line 188 of file mylibs_defs.h.

## ABS

#define ABS | ( |  | x | ) |

Value:
( ((x) > 0)? (x) : -(x))

Абсолютное значение числа

Parameters

  x | Число.

Returns
  Абсолютное значение числа x.

Берет число по модулю. Хз как работает библиотечный abs в stdlib.h, мб это быстрее, но вряд ли конечно.

Definition at line 196 of file mylibs_defs.h.