-
Список говнокодов пользователя j123123
Всего: 338
-
−18
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
uint64_t ObjectLoadListener::getRelocationAddend(uint64_t LLVMRelocationType,
uint8_t *FixupAddress) {
uint64_t Addend = 0;
switch (LLVMRelocationType) {
case IMAGE_REL_AMD64_ABSOLUTE:
Addend = *(uint32_t *)FixupAddress;
break;
case IMAGE_REL_AMD64_ADDR64:
Addend = *(uint64_t *)FixupAddress;
break;
case IMAGE_REL_AMD64_REL32:
Addend = *(uint32_t *)FixupAddress;
break;
default:
llvm_unreachable("Unknown reloc type.");
}
return Addend;
}
https://github.com/dotnet/llilc/blob/97cf48ea9a3cdf4a2582a95683a74b572f4cfe45/lib/Jit/LLILCJit.cpp#L770-L787
Надеюсь, мне не нужно объяснять, в чем тут говно?
j123123,
12 Октября 2016
-
−50
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
# my_first_calculator.py by AceLewis
# TODO: Make it work for all floating point numbers too
if 3/2 == 1: # Because Python 2 does not know maths
input = raw_input # Python 2 compatibility
print('Welcome to this calculator!')
print('It can add, subtract, multiply and divide whole numbers from 0 to 50')
num1 = int(input('Please choose your first number: '))
sign = input('What do you want to do? +, -, /, or *: ')
num2 = int(input('Please choose your second number: '))
if num1 == 0 and sign == '+' and num2 == 0:
print("0+0 = 0")
if num1 == 0 and sign == '+' and num2 == 1:
print("0+1 = 1")
if num1 == 0 and sign == '+' and num2 == 2:
print("0+2 = 2")
if num1 == 0 and sign == '+' and num2 == 3:
print("0+3 = 3")
if num1 == 0 and sign == '+' and num2 == 4:
print("0+4 = 4")
if num1 == 0 and sign == '+' and num2 == 5:
print("0+5 = 5")
if num1 == 0 and sign == '+' and num2 == 6:
print("0+6 = 6")
...
https://github.com/AceLewis/my_first_calculator.py/blob/master/my_first_calculator.py оптимизация!
j123123,
11 Сентября 2016
-
+1004
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
// shit.h :
#if END_SHIT == 0
bagor++;
#if BIT0 == 0
#undef BIT0
#define BIT0 1
#else
#undef BIT0
#define BIT0 0
#if BIT1 == 0
#undef BIT1
#define BIT1 1
#else
#undef BIT1
#define BIT1 0
#if BIT2 == 0
#undef BIT2
#define BIT2 1
#else
#undef BIT0
#undef BIT1
#undef BIT2
#define END_SHIT 1
#endif
#endif
#endif
#include "shit.h"
#endif
//shit.c
#include <stdio.h>
int main(void) {
int bagor = 0;
#define BIT0 0
#define BIT1 0
#define BIT2 0
#include "shit.h"
printf("bagor = %i\n", bagor);
return 0;
}
http://govnokod.ru/20947#comment348047
CHayT 3 часа назад # 0
> нет ни циклов, ни рекурсий
Можно, думаю, файлы сами в себя инклудить, чем не рекурсия. Не очень понятно, что с этим делать, правда.
-----
Но ведь совершенно очевидно, что с этим можно делать. Очередной шедевр макроговна
j123123,
25 Августа 2016
-
+2302
- 1
- 2
- 3
- 4
- 5
http://govnokod.ru/20924
Запрашиваемая страница не найдена!
Возможно, её и не было никогда
http://dump.bitcheese.net/files/pimarut/%D0%93%D0%BE%D0%B2%D0%BD%D0%BE%D0%BA%D0%BE%D0%B4_%2320924_%E2%80%94_C___%E2%80%94_%D0%93%D0%BE%D0%B2%D0%BD%D0%BE%D0%BA%D0%BE%D0%B4.%D1%80%D1%83.html
но бекап я сделал, так что хуй вам. Я требую продолжения банкета.
j123123,
24 Августа 2016
-
+7
- 1
http://dump.bitcheese.net/images/aditoso/sc.png
Умножение двух трехбитных чисел с применением https://ru.wikipedia.org/wiki/Дешифратор
Для сравнения - вот умножение через сумматоры https://i.imgur.com/9JCy2D2.png
j123123,
06 Августа 2016
-
+7
- 1
https://twitter.com/neuromzan
Нейросеть научилась писать твиты за Рамзана Кадырова https://nplus1.ru/news/2016/08/05/neurokad
Вореции
j123123,
06 Августа 2016
-
−715
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
return instruction emitted twice with branch target inbetween
function
unsigned int fact( unsigned int n) { return n < 1 ? 1 : n*fact(n-1); }
produces
fact:
.LFB0:
.cfi_startproc
testl %edi, %edi
movl $1, %eax
je .L4
.p2align 4,,10
.p2align 3
.L3:
imull %edi, %eax
subl $1, %edi
jne .L3
rep ret # <-- this instruction can be removed
.L4:
rep ret
.cfi_endproc
.LFE0:
.size fact, .-fact
.section .text.unlikely
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71923 даже факториал не могут скомпилировать нормально
j123123,
25 Июля 2016
-
−47
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
Имеем приблизительно такой код
#define XXX(n) ar[n]=s._field_##n;
XXX(01);
XXX(02);
XXX(03);
XXX(04);
XXX(05);
XXX(06);
XXX(07);
XXX(08);
Естесвенно при при компиляции получаем ошибку, т.к. 08 это неправильная восмеричная константа. Обойти можно так
#define XXX(n) ar[1##n-100]=s._field_##n;
Но как-то это некрасиво. Может есть более красивый подход?
https://www.linux.org.ru/forum/development/12607523
j123123,
24 Июля 2016
-
−50
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
Timer_Overflow_Interrupt(void)
{
switch(TMR_State) // Обработчик прерывания по переполнению
{
case 0:
{
Clr_Pin(); // Вывод в 0
TCNT = 255-100; // Задержка в 100 (до переполнения)
TMR_State = 1; // Следующая стадия 1
Break; // Выход
}
case 1:
{
Set_Pin();
TCNT = 255-1;
TMR_State = 2;
Break;
}
case 2:
{
Clr_Pin();
TCNT = 255-5;
TMR_State = 3;
Break;
}
case 3:
{
Set_Pin();
TCNT = 255-2;
TMR_State = 4;
Break;
}
case 4:
{
Clr_Pin();
TCNT = 255-3;
TMR_State = 5;
Break;
}
case 5:
{
Set_Pin();
TCNT = 255-4;
TMR_State = 6;
Break;
}
case 6:
{
Clr_Pin();
Timer_OFF(); // Выключаем таймер. Работа окончена
TMR_State = 0; // Обнуляем состояние
Break;
}
default: break;
}
}
http://easyelectronics.ru/avr-uchebnyj-kurs-konechnyj-avtomat.html
А не лучше ли сделать массив указателей на функции, каждая из которых будет соответствовать case-у, и пусть там оно вызывает из массива фукнцию под номером TMR_State? Притом вот эту хню TMR_State = 1; TMR_State = 2; TMR_State = 3; которая дублируется во всех этих case-ах, ее ж можно хуйнуть всего один раз, типа TMR_State = (TMR_state+1)%7. Хотя для AVR контроллеров это скорее всего будет дорогая операция, так что можно хуйнуть TMR_State = TMR_state == 7 ? 0 : TMR_state+1;
j123123,
20 Июля 2016
-
−47
- 1
while((*dst++ = *src++));
двойные скобки, чтоб заткнуть ворнинг
warning: suggest parentheses around assignment used as truth value [-Wparentheses]
j123123,
08 Июля 2016