Size: a a a

2020 December 04

AH

Ayrat Hudaygulov in pro.net
какой пиздец.
источник

AH

Ayrat Hudaygulov in pro.net
Ладно
источник

E

EgorBo in pro.net
что пиздец
источник

E

EgorBo in pro.net
посмотри бля
источник

E

EgorBo in pro.net
у тебя ComapreEqual первый бит и запишет 1 или 0
источник

E

EgorBo in pro.net
для каждого элемента
источник

E

EgorBo in pro.net
всё ж логично
источник

E

EgorBo in pro.net
SIMDы придумали для параллельной обработки данных, так что нечего жаловаться что нет удобных апишек работать с обычной скалярной логикой
источник

AH

Ayrat Hudaygulov in pro.net
ладно, ладно
источник

AH

Ayrat Hudaygulov in pro.net
ща запилим
источник

AH

Ayrat Hudaygulov in pro.net
вроде работает!
источник

E

EgorBo in pro.net
например по резульату ComapreEqual ты можешь судить сколько символов не равны между двумя векторами и в каких позициях
источник

E

EgorBo in pro.net
но вообще рекомендую брать AVX, потому что если ты со строками в UC2(UTF16) работаешь, то в один вектор SSE влезает всего 8 символов -_-
источник

AH

Ayrat Hudaygulov in pro.net
да, я уже начал подозревать неладное
источник

E

EgorBo in pro.net
а могло влезть 16 если бы был UTF8
источник

AH

Ayrat Hudaygulov in pro.net
но думаю что свичнуться можно будет быстро
источник

AH

Ayrat Hudaygulov in pro.net
щас доделаю на ссе
источник

E

EgorBo in pro.net
покажешь потом на суд
источник

E

EgorBo in pro.net
либо выпустим под залог либо расстреляем
источник

AH

Ayrat Hudaygulov in pro.net
Так, давайте поебем чутка. Мне надо выяснить, являются ли 8 чаров ASCII

Для этого я сравниваю их с такой маской

        private static readonly Vector128<sbyte> ASCIIMask = Vector128.Create(
           -128, // 0b1000_0000
           0,    // 0b0000_0000
           -128,
           0,
           -128,
           0,
           -128,
           0,
           -128,
           0,
           -128,
           0,
           -128,
           0,
           -128,
           0);

через ксор
источник