- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
template <typename RetT> RetT Max() { return (RetT)0; }
template <typename RetT, typename ArgT, typename ... Args> RetT Max(ArgT Arg1, Args ... args)
{ RetT Temp = Max<RetT>(args ...); return ((RetT)Arg1 > Temp) ? ((RetT)Arg1) : (Temp); }
int main(int argc, char* argv[])
{
printf("%d\n", Max<int>(100, 200.356, false, -300));
return 0;
}
pushkoff 19.04.2011 10:43 # +5
absolut 19.04.2011 12:01 # 0
pushkoff 19.04.2011 13:29 # −1
absolut 19.04.2011 13:47 # +1
ReL 19.04.2011 14:30 # −2
pushkoff 19.04.2011 16:39 # 0
ReL 19.04.2011 18:53 # −2
почему это?
pushkoff 19.04.2011 18:54 # 0
ReL 19.04.2011 18:57 # −3
в таком случае надо ограничивать рекурсию до одного параметра)))
pushkoff 19.04.2011 18:55 # 0
absolut 19.04.2011 20:16 # +1
pushkoff 19.04.2011 20:17 # +1
ReL 19.04.2011 20:35 # −1
pushkoff 20.04.2011 10:35 # −2
Lure Of Chaos 21.04.2011 10:48 # 0
TheCalligrapher 19.04.2011 20:26 # +4
Во-вторых, 'INT_MAX' больше, чем что угодно? А про тип 'unsigned int' вы слышали, с максимальным значением 'UINT_MAX'? А как насчет 'LONG_MAX'? 'LLONG_MAX'? А есть еще 'DBL_MAX'...
Если уж идти по тому пути, который избрал автор, то возвращать надо бы 'std::numeric_limits<RetT>::max()'.
pushkoff 19.04.2011 20:28 # 0
TheCalligrapher 19.04.2011 20:23 # 0
Что же касается фразы "будут сравниваться по модулю", то тут надо следить за терминологией. В русском языке "сравнивать по модулю" означает сравнивать абсолютные величины чисел. Т.е. '-5' по модулю больше, чем '-2'. Такого сравнения, разумеется, в данном случае никак не получится если 'RetT' беззнаков и входные числа отрицательны.
Как тут лучше правильно сказать по-русски я навскидку даже и не соображу... Может сказать, что если 'RetT' беззнаков, то все отрицательные операнды будут [i]проинтерпретированы по модулю 2^N[i] (где N - количество битов в беззнаковом типе).
pushkoff 19.04.2011 13:31 # −3
gegMOPO4 19.04.2011 13:46 # +3
pushkoff 19.04.2011 13:48 # −3
guest 19.04.2011 13:56 # +3
guest 20.04.2011 18:38 # −2
SmackMyBitchUp 20.04.2011 19:22 # 0
guest 20.04.2011 21:01 # −2
Далее. Лямбда-исчисление на тайплевеле.
Комментарии излишни. Но это совсем простенький примерчик и реализован в лоб. А вот так Олег Киселев опускает адептов крестов в 3 строчки: http://okmij.org/ftp/Computation/lambda-calc.html#haskell-type-level
TheCalligrapher 20.04.2011 21:54 # +3
guest 20.04.2011 22:01 # −2
Почему у вас такая ОБИДА при соприкосновении с настоящим программированием и CS?
TheCalligrapher 21.04.2011 10:02 # +2
guest 21.04.2011 10:29 # −5
TheCalligrapher 21.04.2011 10:40 # +3
guest 21.04.2011 10:59 # −4
Повторю тезис - кресты CANT INTO вычисления на тайплевеле.
TheCalligrapher 21.04.2011 11:08 # +1
Кстати, "CANT INTO" - это на каким языке? (Заранее извиняюсь за "уведение разговора в сторону" :))
bugmenot 21.04.2011 11:10 # +1
God's language :-P
pushkoff 21.04.2011 10:56 # 0
guest 21.04.2011 11:27 # −2
А так... Язык для перекладывания байтов, что с него взять.
pushkoff 21.04.2011 12:20 # 0
guest 21.04.2011 12:39 # −1
http://www.ffconsultancy.com/languages/ray_tracer/comparison.html
ps Все утечки уже пофиксил?
pushkoff 21.04.2011 12:43 # 0
вот все жду, когда убийцу крайзиса напишут на окамле...
guest 21.04.2011 12:46 # −1
---
Гей-дев это тупой конвеер. Там не нужны надежные и проверенные решения. Выпускай говно в срок и радуйся. Очень тупой конвеер.
pushkoff 21.04.2011 12:50 # +1
pushkoff 21.04.2011 12:47 # 0
можно существенно ускорить версию на С++, а если отказаться от виртуального вызова, то еще более существенно... что может предложить окамл в плане оптимизаций...
guest 21.04.2011 12:55 # +1
man MLton
man алгоритмические оптимизации
man rewriting using the monad/functor laws
Перекладывай байтики, не отвлекайся. Рабовладелец будет недоволен.
pushkoff 21.04.2011 13:05 # 0
первое отпадает ибо чел юзал ocamlopt, что уже является компилятором...
второе возможно в С++ причем в более извращенной форме, с учетом особенностей оборудования (заметь в высокопроизводительной части есть виртуальные вызовы и грамотная статическая типизация их может зарешать)
ну и 3 опять таки возможно в С++...
то есть имеем типичный рекламный тест, где берется самая оптимальная реализация на "best language" и кусок говнокода на С++...
и к стати не показан расход памяти для обоих программ, уверен что С++ версия обходит конкурента даже не на проценты а в разы...
ну а теперь плескай опытом... какую крутую фичу писал на сем чуде или оно до сих пор не востребовано?
guest 21.04.2011 13:12 # 0
Нет, фанбой, невозможно, да ты даже не знаешь, что это. Prove me wrong.
`уверен что С++ версия обходит конкурента даже не на проценты а в разы...'
По количеству утечек на строку.
ps И разорванная нижняя дырка и `сперва добейся' все в один пост собрал,
pushkoff 21.04.2011 13:14 # 0
guest 21.04.2011 13:20 # 0
pushkoff 21.04.2011 13:25 # +2
или боишься что окажется что твой начальник сэкономил не взяв уровневого байтоеба, в надежде на то, что твои фейлы можно исправить, докупив более мощный проц и еще пару планок оперативки?
guest 21.04.2011 13:04 # 0
У Вас паттерны с губы свисают.
pushkoff 21.04.2011 13:06 # +1
pushkoff 21.04.2011 12:26 # 0
http://ru.wikipedia.org/wiki/Linux_(ядро)
или этого
http://ru.wikipedia.org/wiki/Haiku-OS
ну или этого
http://ru.wikipedia.org/wiki/Microsoft_Windows
ну или хотя бы возможность существования подобного на лиспе...
pushkoff 21.04.2011 12:29 # 0
http://ru.wikipedia.org/wiki/L4_(микроядро)
http://ru.wikipedia.org/wiki/Haiku-OS
http://ru.wikipedia.org/wiki/Symbian_OS
реализовано на "экскрементах страуструпа" практически полностью...
guest 21.04.2011 12:42 # −1
Не говоря про http://en.wikipedia.org/wiki/Lisp_machine
pushkoff 21.04.2011 12:45 # +2
ReL 20.04.2011 21:00 # −2
guest 20.04.2011 21:10 # 0
ReL 21.04.2011 09:18 # 0
guest 21.04.2011 09:36 # −3
Только никто крестовых фанбоев всерьез воспринимать не станет: демагогию развести может каждый, но факт остается фактом - повторить вышеприведенный пример на CPP невозможно.
eth0 21.04.2011 09:55 # +4
guest 21.04.2011 10:03 # −5
TheCalligrapher 21.04.2011 10:25 # +3
Зрители сочувственно кивают в ответ)
pushkoff 21.04.2011 10:56 # +2
absolut 21.04.2011 10:59 # +4
guest 21.04.2011 11:14 # −4
eth0 21.04.2011 11:51 # −2
Давно замечено.
absolut 21.04.2011 13:15 # +3
ReL 21.04.2011 15:17 # −2
guest - http://govnokod.ru/user/1
ну полный кретин йобана....
Lure Of Chaos 21.04.2011 21:52 # 0
absolut 21.04.2011 22:37 # 0
upd: и пох-уин ...
Lure Of Chaos 21.04.2011 22:43 # 0
пох- только -уй.
k06a 26.04.2011 21:52 # 0
guest 27.04.2011 10:51 # 0
guest 26.04.2011 23:11 # 0
Дельфи говно.
ReL 27.04.2011 07:21 # −2
guest 27.04.2011 07:36 # 0
bugmenot 27.04.2011 09:49 # 0
guest 27.04.2011 10:57 # +1
guest 27.04.2011 10:53 # 0
guest 27.04.2011 10:56 # 0
guest 27.04.2011 11:04 # 0
вы батенька чай не за наших будете?
guest 27.04.2011 11:11 # 0