Ignat
с SNAN это и происходит
Anonymous
ос должна перезагрузиться
Ignat
лол
Ignat
ну интересная обработка, конечно
Ignat
рад, что IEEE-754 дизайнили не в этом чяте, что тут ещё сказать
Loyd
xd
Сережа
Что такое SNAN?
Ignat
signalling nan
Ignat
as opposed to quiet nan
Сережа
Спасибо
Anonymous
Тут внезапно получилось, что не получается запустить бинарник на малине
Сережа
Вы пробовали выключить и затем включить?
Anonymous
Да нормально, нашел решение проблемы. Просто поныл
Alexey
А на расте можно компилять под lego mindstorms ev3? Кросскомпиляцией, или прямо там, не важно.
Alexey
там TI Sitara AM1808 (ARM926EJ-S core)
Alexey
вроде бы там FPU нету
Vladimir
вроде бы там FPU нету
Так eabi это ж софтверные флоаты
Vladimir
Без gnu таргет, тебе ж под голое железо?
Alexey
еще вопрос: в rust есть что-то похожее newtype из хаскеля? ну или хотя бы алиасы для типов, аля typedef из сей.
Vladimir
И то и то есть
Alexey
Без gnu таргет, тебе ж под голое железо?
не, мне под дебианище. под ev3dev.
Vladimir
Алиасы type Type= OldType;
Vladimir
Ну а структуры с одним полем это Нью тайпы
Vladimir
не, мне под дебианище. под ev3dev.
Ну тогда тот чел правильный таргет сказал
Alexey
struct A(b); зерокост
а всякие разные операции/операторы так сохранятся? то есть если struct A(u32); то переменные типа A можно будет слкадывать?
Anonymous
нет
Alexey
:-/
Anonymous
a.0 + a.0
A64m
а кастить между этими стрктурами из одного поля и типом поля можно?
Vladimir
Ну так ты ж сам захотел Нью тайп
Alexey
a.0 + a.0
это ж нифига себе, зерокост. тогда newtype и в чистых сях есть :-)
A64m
Ну так ты ж сам захотел Нью тайп
так для ньютайпа можно операции (выборочно) сохранить как раз
Vladimir
а кастить между этими стрктурами из одного поля и типом поля можно?
Если есть From или например поле публичное, то кастить можно
Vladimir
так для ньютайпа можно операции (выборочно) сохранить как раз
Нью тайп = новый тип, то что у вас в хаскелях удобства разные, это ваша бида
Vladimir
У нас системное программирование вообще-то
Anonymous
struct A(i32); let a = A(1); let b = A(2); let c = a.0 + b.0; по эффективности эквивалентно let a = 1; let b = 2; let c = a + b;
Сережа
там TI Sitara AM1808 (ARM926EJ-S core)
Xargo armv5te-unknown-gnueabi?
A64m
в системном программировании удобства запрещены?
Anonymous
да причем здесь системное программирование
Anonymous
в расте из принципа все эксплицитно
分解物質
Anonymous
и не могу представить как A(0) + A(1) должно работать без дополнительной имплементации
A64m
ну так и GND эксплицитны, надо объявлять для каких классов для ньютайпа будут использованы инстансы обернутого типа
Сережа
Если линукса там нет то возможны проблемы с атомарными инструкциями
Anonymous
Derive
причем здесь дерайв?
A64m
соотвественно и coerce эксплицитен, выглядит как вызов функции
Anonymous
я же специально упомянул про отсутствие имплементации
Vladimir
причем здесь дерайв?
А что именно тебе не понятно как работать будет?
分解物質
Anonymous
А что именно тебе не понятно как работать будет?
человек хочет чтобы для struct A(i32); волшебным образом работал +
Vladimir
Да не хочет он этого
Сережа
По моему там что-то эмулируется на уровне ОС
Vladimir
Он хочет чтоб было все просто
Anonymous
а что не просто
Anonymous
:\
A64m
еще чтоб контейнер таких A можно было в контейнер i32 кастануть бесплатно, иначе не ньютайп
Anonymous
причем здесь касты
Anonymous
google.com/#q=rust+language+tuple+structs
Сережа
https://github.com/rust-embedded/rfcs/issues/25
A64m
при том, что ньютайпы
Anonymous
нету ньютайпов
A64m
об этом и речь
Vladimir
при том, что ньютайпы
Нью тайп - эт новый тип
Vladimir
Чё значит нету
Anonymous
в хаскеле нет
Vladimir
Все структуры и энамы - новый тип
Anonymous
struct A(b); зерокост
сказав это, отмечу, я не отверждал что это ньютайпы
Сережа
from the POV of LLVM these targets don't support atomics as there are no atomic load / store instructions in the instruction set.
A64m
новый тип это data Foo = Foo а ньютайп это не просто новый тип, а некая обертка с удобствами
Anonymous
Все структуры и энамы - новый тип
в хаскеле ньютайпы это тупл стракты с одним элементом, потому что можно ускорить если сделать разделение