Aiwan \ (•◡•) / _bot
Больше чем а сейчас?
Kirill
Добрый день!
Кто-нибудь готов сделать задание на c++?
Второй курс института.
Kirill
Чатом ошибся.
И направлением.
Согласен, это чат любителей ассемблера. Я знаю, но это не значит, что тут никому не интересно сделать такое задание.
Kirill
vi'talij
срочно нужен быстрейший способ преобразования из "char" в "float".
"char" всегда
X.XXXXXXXe-X
где X - 0-9 (+x1.x7e-x1)
Eugene
vi'talij
Eugene
Ааа, я думал срочно надо :)
Eugene
from_chars, может?
Я где-то на хабре видел статью со сравнением.
vi'talij
более 4 гигабайт такой шняги...
Eugene
vi'talij
исправляется быстро. но atof тормозит.
Eugene
Х/з, from_chars попробуй.
Либо вручную.
vi'talij
vi'talij
как без pow обойтись?
Eugene
Можно ещё попробовать массив сделать для троек цифр (map помедленнее будет всё ж, в т.ч. unordered).
Типа num[16][16][16]. И берешь по 3 цифры, вычитаешь из каждой '0' и адресуешь: num[первая_цифра][вторая_цифра][третья_цифра]. В кэш влезет. Не 10, а 16 — потому что будет расчёт через сдвиг идти, а не через умножение. Хотя сейчас умножение такое быстрое, что через него, может, быстрее получится :)
Eugene
А какие там значения макс и минимум в экспоненте?
vi'talij
0 ... -9
Eugene
Знак всегда перед числом есть?
vi'talij
плюса перед числом нет никогда
Eugene
Eugene
Там скорее всего double нужен, во float не поместится по точности.
Eugene
Ща тебе скину вариант.
Stas
Это должен быть бан. Решать тестовое задание для работы в чате - поребик же.
vi'talij
Eugene
Лол! Я вообще думал, мы в другом чате общаемся 🤣
vi'talij
Лол! Я вообще думал, мы в другом чате общаемся 🤣
// Calc 10^e
float p = 1, z = neg ? 0.1f : 10.f;
while (e) {
if (e & 1) { p *= z; }
z *= z;
e >>= 1;
}
вот это я искал. сейчас пробую.
да, я тоже к тому другому чату больше привык.
Eugene
Eugene
А про быструю степень описано тут: https://ru.wikipedia.org/wiki/Алгоритмы_быстрого_возведения_в_степень
vi'talij
kitsu
Парсинг флоатов тут наименьшая из проблем
vi'talij
vi'talij
vi'talij
vi'talij
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
а... gas синтаксис.
тебе остается перевести своемвещесвеное в сжатое bcd и загнать в fpu. какие там правила первода вещественных в bsd я не знаю
vi'talij
Aiwan \ (•◡•) / _bot
советую чтото похожее поискать в simd, будет еще быстрей. но может и нет там такого
Anonymous
А расскажите про бцд. Легаси фпу с ним нативно умеет работать?
Eugene
vi'talij
Eugene
А from_chars пробовал?
vi'talij
Aiwan \ (•◡•) / _bot
Anonymous
Вот нашёл ответ
In addition, the x87 part supports a unique 18-digit (ten-byte) BCD format that can be loaded into and stored from the floating point registers, from where ordinary FP computations can be performed.[1]
Eugene
Aiwan \ (•◡•) / _bot
Eugene
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
Eugene
сколько по агнеру составляет?
Я уже не помню, в районе 20-30 + латенси около 30-40. Ты ж понимаешь, ещё зависит от процессора, везде по-разному, но в целом в районе того.
Eugene
Zen3 - 25+34
Sandy Bridge - 43+45
Skylake - 43+46
Даже так.
Aiwan \ (•◡•) / _bot
по мне так норм. если лепить по битам мож примерно так и выйдет, но кода больше
Aiwan \ (•◡•) / _bot
можно еще посмотреть как это делает atof и оптимизировать
Сергей
Кто работает разрабом asm подскажите роадмап, какие технологии изучать и ide
Yura
Yura
ChoiPinMing
ChoiPinMing
Eugene
Far Manager.
IDE всякие есть (FASMW, RadAsm, SASM и ещё куча, не считая VSCode и т.п.). Это вопрос вкуса и области разработки. Одно дело - оконные приложения Windows, совсем другое - прошивка ARM.
Aiwan \ (•◡•) / _bot
Stas
*nsight graphics!*
Eugene
Возьми книгу нормальную и там будет начальный роадмеп. Вообще, надо отталкиваться от того, что тебя интересует: под какой процессор, под какую ОС и что именно. Одно дело, как я сказал, писать оконные приложения под винду, другое - прошивки под АРМ. И даже под винду можно писать просто прикладные приложухи, можно системные типа sysinternals, а можно защиты, кряки или не дай бог вирусы :). Везде разное нужно знать и уметь.
Eugene
Если х86 интересует, вот тут много всего полезного:
https://forum.sources.ru/index.php?showtopic=413570
Сергей
Есть в канале те кто работает за зп разработчиком или начальником/тимлидом? Какие скилы вам нужны или вы используете?