Сообщение Re[2]: Про true-сишников от 14.02.2025 18:03
Изменено 14.02.2025 18:31 ononim
Re[2]: Про true-сишников
S>>Замечали ли вы, что на голом Си проекты получаются как бы более компактными и выразительными? Но нужно уметь писать, не пытаться в ООП и пр. извраты.
BFE>Выразительными?
BFE>Что, по вашему, выражает автор этого кода следующими строчками?
BFE>
сюрреализм какой то, там такой комент:
gpt2-124M.ckpt -- tmp = ('1' + 3 * '4' + 3) & 3 = (49 + 3 * 52 + 3) & 3 = 208 & 3 = 0
gpt2-355M.ckpt -- tmp = ('3' + 3 * '5' + 3) & 3 = (51 + 3 * 53 + 3) & 3 = 213 & 3 = 1
gpt2-774M.ckpt -- tmp = ('7' + 3 * '4' + 3) & 3 = (55 + 3 * 52 + 3) & 3 = 214 & 3 = 2
gpt2-1558M.ckpt -- tmp = ('1' + 3 * '5' + 3) & 3 = (49 + 3 * 53 + 3) & 3 = 211 & 3 = 3
кмк это писал не человек
BFE>Выразительными?
BFE>Что, по вашему, выражает автор этого кода следующими строчками?
BFE>
BFE>int tmp,zz;
BFE>...
BFE>int main(int tmp, char** argv) {
BFE> tmp = argv[1][5] + 3*argv[1][7] + 3 & 3;
BFE>сюрреализм какой то, там такой комент:
файлы у него зовутся так:// argv[1] stores the name of the model we're loading
// tmp will map 124M -> 0, 355M -> 1, 775M -> 2, 1558M -> 3
// Note that if you change the name of the file then this will break.
gpt2-124M.ckpt -- tmp = ('1' + 3 * '4' + 3) & 3 = (49 + 3 * 52 + 3) & 3 = 208 & 3 = 0
gpt2-355M.ckpt -- tmp = ('3' + 3 * '5' + 3) & 3 = (51 + 3 * 53 + 3) & 3 = 213 & 3 = 1
gpt2-774M.ckpt -- tmp = ('7' + 3 * '4' + 3) & 3 = (55 + 3 * 52 + 3) & 3 = 214 & 3 = 2
gpt2-1558M.ckpt -- tmp = ('1' + 3 * '5' + 3) & 3 = (49 + 3 * 53 + 3) & 3 = 211 & 3 = 3
кмк это писал не человек
Re[2]: Про true-сишников
S>>Замечали ли вы, что на голом Си проекты получаются как бы более компактными и выразительными? Но нужно уметь писать, не пытаться в ООП и пр. извраты.
BFE>Выразительными?
BFE>Что, по вашему, выражает автор этого кода следующими строчками?
BFE>
сюрреализм какой то, там такой комент:
gpt2-124M.ckpt -- tmp = ('1' + 3 * '4' + 3) & 3 = (49 + 3 * 52 + 3) & 3 = 208 & 3 = 0
gpt2-355M.ckpt -- tmp = ('3' + 3 * '5' + 3) & 3 = (51 + 3 * 53 + 3) & 3 = 213 & 3 = 1
gpt2-774M.ckpt -- tmp = ('7' + 3 * '4' + 3) & 3 = (55 + 3 * 52 + 3) & 3 = 214 & 3 = 2
gpt2-1558M.ckpt -- tmp = ('1' + 3 * '5' + 3) & 3 = (49 + 3 * 53 + 3) & 3 = 211 & 3 = 3
и далее вишенкой на торте: NHEAD = 12 + 4*tmp + (tmp>2);
кмк это писал не человек
человек даже, срезая углы (ради количества строк, смысл экономить такты в парсинге комстроки) сделал бы так:
еще и короче получилось по строчкам, ибо код так сказать самодокументирующийся
BFE>Выразительными?
BFE>Что, по вашему, выражает автор этого кода следующими строчками?
BFE>
BFE>int tmp,zz;
BFE>...
BFE>int main(int tmp, char** argv) {
BFE> tmp = argv[1][5] + 3*argv[1][7] + 3 & 3;
BFE>сюрреализм какой то, там такой комент:
файлы у него зовутся так:// argv[1] stores the name of the model we're loading
// tmp will map 124M -> 0, 355M -> 1, 775M -> 2, 1558M -> 3
// Note that if you change the name of the file then this will break.
gpt2-124M.ckpt -- tmp = ('1' + 3 * '4' + 3) & 3 = (49 + 3 * 52 + 3) & 3 = 208 & 3 = 0
gpt2-355M.ckpt -- tmp = ('3' + 3 * '5' + 3) & 3 = (51 + 3 * 53 + 3) & 3 = 213 & 3 = 1
gpt2-774M.ckpt -- tmp = ('7' + 3 * '4' + 3) & 3 = (55 + 3 * 52 + 3) & 3 = 214 & 3 = 2
gpt2-1558M.ckpt -- tmp = ('1' + 3 * '5' + 3) & 3 = (49 + 3 * 53 + 3) & 3 = 211 & 3 = 3
и далее вишенкой на торте: NHEAD = 12 + 4*tmp + (tmp>2);
кмк это писал не человек
человек даже, срезая углы (ради количества строк, смысл экономить такты в парсинге комстроки) сделал бы так:
if (strstr(argv[1], "gpt2-124M.ckpt")) NHEAD = 12;
else if (strstr(argv[1], "gpt2-355M.ckpt")) NHEAD = 16;
else if (strstr(argv[1], "gpt2-774M.ckpt")) NHEAD = 20;
else if (strstr(argv[1], "gpt2-1558M.ckpt")) NHEAD = 25;
else abort();еще и короче получилось по строчкам, ибо код так сказать самодокументирующийся