Вопросы

Вопросы


***entropy.h


1.

Прочитала, что size_t это почти что современная замена int, где единицей измерения берется 32 или 64 бита. Там есть строчки:

const size_t cDefaultWindowSz = 0x400;

size_t statistics[0x100];

Почему мы используем 16ричную систему, если можно просто 1024 и 256 написать. И почему именно такие числа

2.

__declspec(property(get = value))

  const EntropyType Value;

Можно подробнее узнать, что это происходит? Я просмотрела __declspec, но мне не стало особо понятнее. :(

3. 

Пыталась найти, но не нашла, где были бы через запятую написаны новые имена формата. Но в этом выражении мне логика ясна:

typedef EntropyType EntropyX, EntropyY;

А в этом, зачем нам два названия, я не понимаю:

typedef struct EntropyCharacteristics {

...

} EntropyChars, EntropyPoint;

4.

Просто не соображу, что это значит:

EntropyY entropy_value;//Собственно энтропия окна, серединой которого является точка X

Среднее значение энтропии скользящего окна? 

5.

Это уже больше вопрос по программе. Зачем нам максимумы и минимумы и т.д. Производная нам потом нужна для передачи нейросети, это я помню. Я скажу, что якобы ее заранее считаю.

А экстремумы чет не очень понимаю. Для того же самого?

6.

Видимо, я недостаточно поняла теорию или просто формулу, раз мне не ясно предложение:

//Ф-я приведения дельты производной к типу EntropyDirection

А в построении обычного графика производная тоже участвует?

7. 

Не разобралась :(

ExtremumPoint(EntropyX x = 0., EntropyY y = 0.,

EntropyDirection edir = edirNo) : X(x), Y(y),

eDir(edir)

{}

***enrtopy.cpp


Дальше по коду нашла аналогичное:

Entropy::Entropy(unsigned char *pData,

  size_t DataSz) : _value(0.), _size(DataSz)

{

  _calc_entropy(pData, DataSz);

}

8.

ZEROARR(statistics);//Очиска таблицы частот

Не нашла ничего по ZEROARR

И что подразумевается под очисткой таблицы частот? Что-то типа сброса предыдущих значений? :( Мы это типа делаем для каждого нового блока, получается?

COUNT(statistics) аналогично.

9.

calc_entropy(unsigned char *pData, size_t DataSz)

Я поняла, что unsigned char *pData это вроде как указатель на массив.

и вот эти переменные передаются туда соответственно: unsigned char *Area, size_t AreaSz или cWinHalfSz. Из комментов я понимаю, что это область памяти. Больше не понимаю о них ничего. Ни их значения, ни откуда берутся, как рассчитываются :(

И если глянуть entropyflowwindow.cpp, то зачем нам половина окна? Там были пояснения, но я не поняла.

10.

if(const EntropyType c_freq = ((EntropyType)statistics[i]) / ((EntropyType)DataSz))

Это мы каждый раз создаем константу, получается? Почему не просто переменную? Она же больше не участвует нигде кроме этой строки.

11.

Логика append_byte и reduce_byte мне ясна не до конца: размер плавающего окна у нас отличается от блока байт для обсчета? Или я запуталась.

Report Page