|
|
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 23:43 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
scf Код: plaintext 1. 2. 3. Приведите лучше полный пример, на любом удобном языке :) http://ideone.com/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2014, 23:57 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
Васу Уткинна любом удобном языке Код: python 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 08:54 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
scf, давай max(a, b, c), хвастун. P.S. Разумеется с оптимизацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 13:48 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
maytonдавай max(a, b, c) Код: c# 1. 2. Что там внутри - не колышет. mayton с оптимизацией. Код: c# 1. Распараллеливаем - оптимизация же! PS: C#, LINQ. PPS: знаю, что не оптимально, на правах шутки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 15:15 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
petalvik, я вижу что мой голос никто не хочет слышать. А в таком кейсе ничего не изменится? Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 15:38 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
scf Код: plaintext 1. 2. 3. Тут вобщем-то фейл. Не знаю как и где он тестировался но на Java не взлетает. С обоими вариантами ">>" signed/unsigned не взлетает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 16:22 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
scf Код: plaintext 1. 2. 3. Хрень это какая-то: если значения 32-битные, то при четном значении (b - a) всегда mask = 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 16:30 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
FishHookВасу Уткинна любом удобном языке Код: python 1. 2. Имелось ввиду, чтобы не гадать какой язык и какие типы, а можно было кликнуть и сразу увидеть результат: http://ideone.com/6e17FL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2014, 16:32 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
maytonдавай max(a, b, c), хвастун. max(a, b, c) = max(a, max(b, c)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 04:51 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
Dima Tscf Код: plaintext 1. 2. 3. Хрень это какая-то: если значения 32-битные, то при четном значении (b - a) всегда mask = 0 и мы помним что бывает при знаковом сдвиге вправо. Марк рано похвалил товарища. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:06 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
SashaMercury, хотя тут я не до конца прав(с точки зрения причинно-следственных связей). Тем не менее, формула выше не должна работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:12 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
Читаю комментарии... думаю, может это все-таки я идиот, а не все остальные? http://ideone.com/6W0kWO А оказалось, что все-таки я не идиот. Стадное чувство - страшная штука. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:18 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryи мы помним что бывает при знаковом сдвиге вправо. Точно, опять забыл что он знаковый )) Извиняюсь, неправ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 10:25 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
SashaMercurySashaMercury, хотя тут я не до конца прав(с точки зрения причинно-следственных связей). Тем не менее, формула выше не должна работать Не должна, а работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2014, 11:13 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
scfЧитаю комментарии... думаю, может это все-таки я идиот, а не все остальные? http://ideone.com/6W0kWO А оказалось, что все-таки я не идиот. Стадное чувство - страшная штука. не надо ляля. Эту строчку Код: plaintext 1. я только сейчас увидел, и что вы подразумевали сортировку до меня, и до других не дошло. Противопоставления по типу либо я идиот либо все остальные делайте в яслях, пожалуйста ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 11:15 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
SashaMercury Хрень это какая-то: если значения 32-битные, то при четном значении (b - a) всегда mask = 0 и мы помним что бывает при знаковом сдвиге вправо. Марк рано похвалил товарища.[/quot] Ну по стандарту результат сдвига вправо отрицательного числа зависит от реализации. Может быть и беззнаковым. The value of E1 >> E2 is E1 right-shifted E2 bit positions. If E1 has an unsigned type or if E1 has a signed type and a non-negative value, the value of the result is the integral part of the quotient of E1/2 E2 . If E1 has a signed type and a negative value, the resulting value is implementation-defined. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 13:55 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
BarloneSashaMercuryDima TХрень это какая-то: если значения 32-битные, то при четном значении (b - a) всегда mask = 0 и мы помним что бывает при знаковом сдвиге вправо. Марк рано похвалил товарища. Ну по стандарту результат сдвига вправо отрицательного числа зависит от реализации. Может быть и беззнаковым. The value of E1 >> E2 is E1 right-shifted E2 bit positions. If E1 has an unsigned type or if E1 has a signed type and a non-negative value, the value of the result is the integral part of the quotient of E1/2 E2 . If E1 has a signed type and a negative value, the resulting value is implementation-defined. Т.е. исходя из "If E1 has a signed type and a negative value, the resulting value is implementation-defined.", приведенный выше пример будет работать implementation-defined, т.е. где-то правильно, а где то нет? scfЧитаю комментарии... думаю, может это все-таки я идиот, а не все остальные? http://ideone.com/6W0kWO А оказалось, что все-таки я не идиот. Стадное чувство - страшная штука. авторint A = 1; int B; B = A << -3; // undefined behavior B = A << 100; // undefined behavior B = -1 << 5; // undefined behavior B = -1 >> 5; // unspecified behavior ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 16:19 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
Реализация для 32-битных знаковых Код: c# 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 18:00 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
Правда тут веселье будет на равных числах )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 18:28 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
Для JavaScript задачу гораздо проще решить, чем для C# Код: javascript 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 18:49 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
зачётная формула я так понимаю тут дело в производительности (особенно,наверное, на видеокартах) - штраф за переходы не идёт тестил на i5 в fpc, процентов на 20 быстрее чем классическая перестановка со сравнением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 20:38 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)зачётная формула я так понимаю тут дело в производительности (особенно,наверное, на видеокартах) - штраф за переходы не идёт тестил на i5 в fpc, процентов на 20 быстрее чем классическая перестановка со сравнением Куда "не идёт" "штраф за переходы" "на видеокартах"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2014, 23:38 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
JeStoneРеализация для 32-битных знаковых Код: c# 1. 2. 3. 4. 5. 6. Вот так вот можно решить проблему одинаковых чисел. Код: c# 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2014, 08:05 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
Вася Уткин, современные процы пытаются просчитать заранее куда пойдёт ваш код, если он ошибается - "штраф" (время больше, в видеокартах ещё хуже с условными переходами) в этом коде условных переходов нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2014, 19:11 |
|
||
|
Кто там искал max(a, b) без условных выражений?
|
|||
|---|---|---|---|
|
#18+
Вася Уткинkealon(Ruslan)зачётная формула я так понимаю тут дело в производительности (особенно,наверное, на видеокартах) - штраф за переходы не идёт тестил на i5 в fpc, процентов на 20 быстрее чем классическая перестановка со сравнением Куда "не идёт" "штраф за переходы" "на видеокартах"? kealon(Ruslan)Вася Уткин, современные процы пытаются просчитать заранее куда пойдёт ваш код, если он ошибается - "штраф" (время больше, в видеокартах ещё хуже с условными переходами) в этом коде условных переходов нет Так значит наоборот - на видеокартах идёт штраф за переходы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2014, 19:55 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1341138]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
155ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 409ms |

| 0 / 0 |
