Anonymous
Нет смысла городить свои костыли, когда самые мощные движки стали практически бесплатными.
Anonymous
Что есть "костыль"?
Anonymous
Можешь аргументировать?
Вот докажи что движок ААА класса со 100%-ой вероятностью прекрасно справится с узкоспециализированной задачкой.
Anonymous
Anonymous
У игры может быть своя специфика, следовательно движок может быть зализан именно под неё. Не вижу ничего ужасного.
Вжик
Anonymous
Вжик
после того сообщения не хотел заходить в чат)
Anonymous
Покажите мне идеальный код - а я найду способ раскритиковать его =)
Любое нестандартное решение принято называть костылем, предполагая, что УЖЕ существует решение получше
Проблема в том, что НЕ ВСЕГДА это ЛУЧШЕ лежит на поверхности или существует вообще. Не раз сталкивался с ситуацией, когда люди орут "костыль!", но при этом не ссылаются на труЪ way
Anonymous
в общем, полет мысли я понял, го закроем тред
Pavel
Evgenii
Processor
Processor
к примеру рисование линии брензенхема наиболее дешевый метод рисовать линии
Processor
и будет работать довольно быстро на любом яп и платформе
Processor
по мне так идеально когда есть движок на скриптовом языке и синтаксис чтобы легко встраивать возможности на более низком уровне, если вдруг нужно разгрузить логику
Processor
или к примеру исходник чтобы написать туда какой-нибудь С++
Processor
но и это не обязательно
Evgenii
pinnokio
pinnokio
да в том-то и дело, что конкретики особо не было ( какой движок, зачем, на чем? ).
и есть ли опыт/аргументы, чтобы уверенно говорить о 0.000002% и "хватит скиллов" ?
pinnokio
либо мне до конкретики далеко вверх листать, тогда извините :)
Evgenii
ну я представляю две цели написания любого кода
Evgenii
ради процесса и ради результата
Evgenii
ради процесса есть смысл писать что угодно и это обсуждать бессмысленно
Evgenii
Processor
Processor
а ты нет
pinnokio
простите, я не нанял людей, не написал фазер, не знал что делаю, спрашивал о чем-то в чате или просто нет? ))
Artem
Здравствуйте. Если у меня есть шаблон класса Matrx. Пример шаблона: template <size_t _size, typename T> и если у меня есть шаблонный класс Fraction: template<typename T>. Если я передам в Matrix, тип Fraction<int>.
Пример: Matrix<2, Fraction<int» o1, o2; Как мне быть с перегрузками +/-/* у матрицы если у меня тип Fraction<int>.. Не до конца понимаю этот момент
Artem
?
Artem
Спасибо за внимание.
Tom
Berkus
Vladislav
еще вангую что ты имел в виду eigen)
Berkus
да, твой либастрал версии 2.0!
Berkus
а я еще не выпил утренний кофе
🐙 Antony
🐙 Antony
Прост
🐙 Antony
:)
Anatoly
"- Тут поспешишь - людей насмешишь. Я имею в виду, при рельефных ... Одно дело шпицштихель! И совсем другое — больштихель!" (с)
Александр
Похоже вольюсь в задачу с битами
Vladislav
Vladislav
Andrei
Для interleave битов используются таблицы Мортона.
Andrei
Задача эквивалента задаче интерлива числа с самим собой.
Andrei
https://graphics.stanford.edu/~seander/bithacks.html#InterleaveTableLookup вот интерлив двух shortов в int.
Andrei
причем при x=y можно еще сэкономить на операциях.
Andrei
Кого пингануть? Кто спрашивал про задачу?
Andrei
А, его уже забанили.
Ivan
Парни, а есть какой-то warning, чтобы не писать вот так:
#include <iostream>
#include <string>
int main() {
std::string s;
int a = 88;
s = a;
std::cout << s;
}
Anatoly
а ты так и не напишешь
Ivan
Да
ep
Слабая типизация во всей "красе"
Ivan
Сейчас вам скину ссылку: https://wandbox.org/permlink/jXR36jrpvVhc7Roi
Ivan
В коде явно ошибка, человек должен был написать s = std::to_string(a);
Ivan
Вау, только MSVC выдал warning: warning C4244: 'argument': conversion from 'int' to 'const char', possible loss of data
Александр
Призываю всех заинтересованных в той задачке с битами к честному холивару - бенчмарки!
@webreh @antoshkka @Triang3l @berkus @MasterZiv (вроде всех назвал)
http://quick-bench.com/fVbOB6L3BlUIs2CjAXXkV3rryuM
Есть подозрение, что я накосячил с оптимизацией и могло что-то выброситься. Поправьте, если не прав.
В любом случае, го добавлять свои варианты.
Пока что добавил lookup и решение от @antoshkka
Ivan
А на GCC ?
Anonymous
Nikolai
ep
Наткнулся тут на такое.
Есть библиотека Б, которая использует библиотеку A. В библиотеке A есть опциональная поддержка OpenCL. В библиотеке Б тоже есть опциональная поддержка OpenCL. Они просто скопировали классы с реализацией поддержки из A к себе и назвали их Improved. Если включить OpenCL в Б, то они проверяют, чтобы A была собрана без поддержки OpenCL. То есть они скопипастили код и запретили включать OpenCL в библиотеке, которую используют в качстве зависимости и теперь нельзя использовать возможности OpenCL из A и из Б одновременно. Где логика вообще во всём этом?
Ivan
Не помогает
🐙 Antony
babysitter
тоже не сразу нашел
Ivan
babysitter
Спасибо.
http://rextester.com/SNVM70381
babysitter
-Werror делает все ворны ошибками. можно сделать что-то типа -Werror=conversion. я думаю ты догадался
Ivan
Evgenii
https://baptiste-wicht.com/posts/2017/09/cpp11-performance-tip-when-to-use-std-pow.html
Anonymous
какие еще есть 2д кросс платформ ооп либы С++ кроме СФМЛ?! Или лучше будет на СДЛ свои классы и.т.д?
Burado
Cocos2D вроде.