https://www.youtube.com/playlist?list=PLiWcnsSmNaTfvBRVwr80r6RcFjA58GYux

https://www.youtube.com/playlist?list=PLiWcnsSmNaTfvBRVwr80r6RcFjA58GYux

Паренек рассказывает про Whatson API на Bluemix. Рассказывает настолько толково, что захотелось что-то попробовать свое написать. А что здесь необычного спросите вы? А то, что пареньку всего 12 лет то. У него есть еще много интересных лекций для 12 летнего.

Quantization / quantisation

Quantization / quantisation

Не сжатие, но полезная штука. Мы ее в каждую статью пихали.

В общем виде этим занимается signal processing ( https://en.wikipedia.org/wiki/Quantization_(signal_processing) ).

Допустим, нам нужно хранить вещественные числа — результат вычислений или поток от точных сенсоров.

Если в double (и даже float) нам дорого, а fixed point библиотека нас не устраивает, используем квантизацию.

1) Линейная — отображаем множество значений (вероятно, бесконечное) на конечное множество нужного размера — например, 256.

Конвертируем линейной функцией — пара инструкций.

2) “раздаем” 256 значений не униформно как в (1), а согласно плотности распределения.

А где его взять? Как говорил Жеглов, для этого есть 3-й подход.

3) Согласно domain knowledge. Проще пояснить на примере.

Пусть у нас сенсор температуры снимает точные показания из нутра бойлера.

Отоброжать отрицательные значения и значения больше точки кипения не нужно — underflow/overflow для нас saturation.

0 – 5, записываем как 0. Если вода в бойлере замерзает, тут уже не до точности.

95 – 100 как 255. Все равно сейчас взорвется.

Изучаем рабочий диапазон бойлера в разные сезоны.

Для каждого сезона выделяем под основной сегмент много бит, чтобы получить нужную резолюцию,

а для остальных температур используем приближение военного времени.

4) Гибрид — разбиваем множество на несколько сегментов и в каждом сегменте используем линейную функций с опр. коэфициентом.

Бонус — квант. значения сжимаются куда лучше float/double.

Пишем сочинение на тему: “Почему я люблю С++”.

Пишем сочинение на тему: “Почему я люблю С++”.

template

tuple combine( const tuple& lhs, const tuple rhs, index_sequence nn ) {

//template using type_selector = Nth_type;

return make_tuple( typename tuple_element< Is, tuple< Combiners< typename tuple_element< Is, tuple >::type >…> >::type() ( get( lhs ), get ( rhs ) ) …);

}

#проститенеудержался.

Наткнулся тут на основанную на Eclipse/CDT среду разработки для С++ с поддержкой продвинутых языковых конструкций и…

Наткнулся тут на основанную на Eclipse/CDT среду разработки для С++ с поддержкой продвинутых языковых конструкций и юнит-тестов. Бесплатно, но не опен-сорс.

https://www.cevelop.com/