Баги моего времени

Позднее Ctrl + ↑

Функции C++ определяющие битовый характер числа

Проверка на то, что в «1» установлен только один бит

// 000001000 - true
// 000001010 - false
// 000000000 - false
template< typename T > // работает только для целых чисел
bool only_one_bit_set_to_one (T bits)
{
    return bits && !(bits & (bits-1));
}

Обратите внимание, что операторы «&&» и «!» логические, а не битовые!


Проверка на то что установлен только один бит и его порядковый номер от 0 до sizeof(T)-1

template< typename T >
int findSetBit(T bits)
{
    if (!(bits && !(bits & (bits-1))))
        return -1;
    return log2(bits);
}



Компилятор GNU (GCC) имеет в своем арсенале стандартную функцию для определения числа установленных битов

#include <iostream>

int main()
{
   std::cout << __builtin_popcount (4) << std::endl;
   std::cout << __builtin_popcount (3) << std::endl;

   return 0;
}



Начиная с С++11 можно использовать тип bitset в котором реализованы функции any(), none(), count() etc

#include <iostream>       // std::cin, std::cout
#include <bitset>         // std::bitset

int main ()
{
  std::bitset<16> foo;

  std::cout << "Please, enter a binary number: ";
  std::cin >> foo;

  if (foo.any())
    std::cout << foo << " has " << foo.count() << " bits set.\n";
  else
    std::cout << foo << " has no bits set.\n";

  return 0;
}

Adobe и CUDA под Mac OS

Чтобы всякие фотошопы могли использовать всю мощь графической карты NVIDIA на данный момент необходима ни больше и ни меньше, а в точности Mac Os High Sierra 10.13.6

В ней нужно установить нативный драйвер NVIDIA (https://www.tonymacx86.com/threads/nvidia-releases-alternate-graphics-drivers-for-macos-high-sierra-10-13-6-387-10-10-10-40.255913/ )
После установки драйвера видеокарты уже можно ставить CUDA 130 (https://www.nvidia.com/object/macosx-cuda-410.130-driver.html ), с которой и работают программы от Adobe.

Речь идёт о последних версиях Adobe Creative на данный момент это 13.1
Предполагаю, что для более ранних версий сойдёт и более младшая версия CUDA, а следовательно и Mac OS X.

Mojave там у них пока ещё даже не пахнет!

 Нет комментариев    271   2019   adobe   cuda   macos

Выключение системной защиты SIP в Mac OS X

Такой информации в интернете полно, но первыми стоят ссылки на сайты которые тут же начинают «майнить» в браузере. Или уж не знаю чем они там ещё занимаются от чего всё подвисает, поэтому продублирую информацию об отключении SIP здесь:

Как отключить System Integrity Protection в macOS
Во время перезагрузки Mac OS держать нажатымb Command-R, мак загрузится в Recovery Mode.
Выбрать в верхнем меню Utilities→Terminal.
В терминале ввести

csrutil disable

Перезагрузиться из меню с яблоком

И чтобы два раза не вставать: How to Allow Apps from Anywhere
Защита от установки сторонних приложений отключается в обычном приложении терминала, перезагрузка в Recovery Mode не требуется.
Ввести в терминале

sudo spctl --master-disable

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

 Нет комментариев    353   2019   macos   sip

Цель этого блога

Сейчас моя работа во многом состоит в том что я бьюсь с непонятными багами компиляторов и прочих несовершенных механизмов, включая свой мозг. Битва эта происходит во многом из-за того что первое, второе и третье гугление не даёт никаких результатов. Потом, чаще всего, решение ака «заплатка» находятся и очень хочется поделиться такой информацией с гуглом, но поскольку гугл (наверное к счастью) голову мою пока еще не индексирует, буду постить этот хлам сюда. Авось кому ещё пригодится.
Со временем попытаюсь разработать стандартную форму и систему тэгов пока наверное это будет больше похоже на свалку. Ритм возникновения проблем неравномерный, и сейчас вроде бы отлегло, но то ли ещё будет ой-йо-йой, зуб даю!