> 1666400329 112678 PRIVMSG #esolangs :14[[07Burgeria14]]4 10 02https://esolangs.org/w/index.php?diff=104136&oldid=103956 5* 03Dtp09 5* (+98) 10/* Conditionals */ < 1666401152 675964 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 QUIT :Ping timeout: 260 seconds < 1666401172 226536 :Lord_of_Life!~Lord@user/lord-of-life/x-2819915 JOIN #esolangs Lord_of_Life :Lord > 1666406660 254938 PRIVMSG #esolangs :14[[0710Brainfuck14]]4 10 02https://esolangs.org/w/index.php?diff=104137&oldid=68495 5* 03Esolang1 5* (+159) 10Fixed python program > 1666407182 366314 PRIVMSG #esolangs :14[[0710Brainfuck14]]4 10 02https://esolangs.org/w/index.php?diff=104138&oldid=104137 5* 03Esolang1 5* (+2) 10 > 1666408714 74740 PRIVMSG #esolangs :14[[0713 bytes :D14]]4 N10 02https://esolangs.org/w/index.php?oldid=104139 5* 03Esolang1 5* (+870) 10Created new page: 13 bytes :D > 1666408769 465627 PRIVMSG #esolangs :14[[0713 bytes :D14]]4 M10 02https://esolangs.org/w/index.php?diff=104140&oldid=104139 5* 03Esolang1 5* (+0) 10Fixed typos: Creator and Name > 1666408793 371341 PRIVMSG #esolangs :14[[0713 bytes :D14]]4 M10 02https://esolangs.org/w/index.php?diff=104141&oldid=104140 5* 03Esolang1 5* (+0) 10Fixed typos: Creator and Name > 1666408830 100286 PRIVMSG #esolangs :14[[07User:Esolang114]]4 M10 02https://esolangs.org/w/index.php?diff=104142&oldid=101671 5* 03Esolang1 5* (+10) 10Added language: 13 bytes :D > 1666409198 705166 PRIVMSG #esolangs :14[[07Joke language list14]]4 M10 02https://esolangs.org/w/index.php?diff=104143&oldid=103898 5* 03Esolang1 5* (+46) 10Added language: 13 bytes :D > 1666410617 599686 PRIVMSG #esolangs :14[[07HQ9+: Functional Edition14]]4 10 02https://esolangs.org/w/index.php?diff=104144&oldid=103901 5* 03BoundedBeans 5* (+76) 10 < 1666416627 190440 :j4cbo!sid186930@id-186930.helmsley.irccloud.com QUIT :*.net *.split < 1666416637 234161 :j4cbo!sid186930@id-186930.helmsley.irccloud.com JOIN #esolangs * :j4cbo < 1666418037 115237 :shikhin!~shikhin@offtopia/offtopian QUIT :*.net *.split < 1666418037 392900 :Riviera!Riviera@user/riviera QUIT :*.net *.split < 1666418048 215222 :Riviera!~Riviera@user/riviera JOIN #esolangs Riviera ::) < 1666418051 293266 :shikhin!~shikhin@ahti.space JOIN #esolangs * :shikhin < 1666421155 671528 :razetime!~quassel@49.207.192.79 JOIN #esolangs * :razetime < 1666423808 379522 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1666425033 467314 :shikhin!~shikhin@ahti.space CHGHOST ~shikhin :offtopia/offtopian < 1666425175 966337 :Sgeo!~Sgeo@user/sgeo QUIT :Read error: Connection reset by peer < 1666425213 44986 :Sgeo!~Sgeo@user/sgeo JOIN #esolangs Sgeo :realname > 1666425356 47898 PRIVMSG #esolangs :14[[07Welcome to Esolang, the esoteric programming languages wiki!14]]4 10 02https://esolangs.org/w/index.php?diff=104145&oldid=103049 5* 03Username1234 5* (+5) 10/* Hello World */ > 1666425395 216159 PRIVMSG #esolangs :14[[07Welcome to Esolang, the esoteric programming languages wiki!14]]4 10 02https://esolangs.org/w/index.php?diff=104146&oldid=104145 5* 03Username1234 5* (-22) 10/* Operations */ > 1666425404 627664 PRIVMSG #esolangs :14[[07Welcome to Esolang, the esoteric programming languages wiki!14]]4 10 02https://esolangs.org/w/index.php?diff=104147&oldid=104146 5* 03Username1234 5* (-5) 10/* Hello World */ < 1666430487 998355 :tech_exorcist!13203@user/tech-exorcist/x-0447479 JOIN #esolangs tech_exorcist :he/him - IT, EN < 1666430587 587885 :razetime!~quassel@49.207.192.79 QUIT :Ping timeout: 260 seconds < 1666431312 647015 :tech_exorcist!13203@user/tech-exorcist/x-0447479 QUIT :Remote host closed the connection < 1666431430 265989 :tech_exorcist!13203@user/tech-exorcist/x-0447479 JOIN #esolangs tech_exorcist :he/him - IT, EN > 1666432210 189257 PRIVMSG #esolangs :14[[07Random Brainfuck14]]4 10 02https://esolangs.org/w/index.php?diff=104148&oldid=43005 5* 03Kaveh Yousefi 5* (+3045) 10Added an implementation in Common Lisp. > 1666432231 542178 PRIVMSG #esolangs :14[[07Random Brainfuck14]]4 10 02https://esolangs.org/w/index.php?diff=104149&oldid=104148 5* 03Kaveh Yousefi 5* (+54) 10Added categories to the page. < 1666432352 434357 :jix!~jix@2a01:4f8:1c1c:17d1::1 QUIT :Quit: quit < 1666432360 706338 :jix!~jix@user/jix JOIN #esolangs jix :Jannis Harder < 1666433092 636131 :sprout!~quassel@2a02-a467-ccd6-1-d88e-9b3d-eefd-8191.fixed6.kpn.net QUIT :Ping timeout: 268 seconds < 1666434941 983367 :__monty__!~toonn@user/toonn JOIN #esolangs toonn :Unknown < 1666437198 686343 :razetime!~quassel@49.207.192.79 JOIN #esolangs * :razetime > 1666438036 993142 PRIVMSG #esolangs :14[[07ABPLWNL but with stack14]]4 10 02https://esolangs.org/w/index.php?diff=104150&oldid=104135 5* 03Mario0Fan 5* (+0) 10 < 1666439908 931740 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1666442957 679973 :razetime!~quassel@49.207.192.79 QUIT :Ping timeout: 276 seconds < 1666445496 85461 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1666449301 712970 :razetime!~quassel@49.207.192.79 JOIN #esolangs * :razetime < 1666450775 709563 :sprout!~quassel@dhcp-077-249-168-103.chello.nl JOIN #esolangs sprout :sprout < 1666454194 599185 :tech_exorcist!13203@user/tech-exorcist/x-0447479 QUIT :Quit: Disconnecting < 1666454664 864758 :tech_exorcist!13203@user/tech-exorcist/x-0447479 JOIN #esolangs tech_exorcist :he/him - IT, EN < 1666455477 569888 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :hmm, if Unicode has only 17 planes (because that's how much UTF-16-M can encode), while D&D has 17 alignment planes plus lots of other planes, then why are two unicode planes named of the astral plane and the base material plane, which aren't among the 17 alignment planes? do some of the alignment planes not get used as names for unicode planes? < 1666455773 307023 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1666455796 669986 :Luci-ghoule!~firefly@glowbum/gluehwuermchen/firefly PRIVMSG #esolangs :..I never thought about it, but is the Unicode plane _actually_ named after the D&D plane? < 1666455838 7172 :Luci-ghoule!~firefly@glowbum/gluehwuermchen/firefly PRIVMSG #esolangs :I wouldn't entirely rule it out given how the unicode consortium seems to be a bunch of nerds :p < 1666455980 553897 :chiselfuse!~chiselfus@user/chiselfuse QUIT :Remote host closed the connection < 1666455995 143099 :chiselfuse!~chiselfus@user/chiselfuse JOIN #esolangs chiselfuse :chiselfuse < 1666456143 817118 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :though maybe that doesn't work because all of unicode is lawful, except for the private use areas which are chaotic < 1666456210 148774 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :Luci-ghoule: not actually. plane 0 of unicode is actually called "base multilingual plane" rather than "base material plane", and I think the D&D plane is called "prime material plane"; and "astral plane" for unicode is just a nickname < 1666456222 714474 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :https://en.wikipedia.org/wiki/Plane_(Unicode) gives the actual official plane names < 1666456266 838642 :Luci-ghoule!~firefly@glowbum/gluehwuermchen/firefly PRIVMSG #esolangs :aww < 1666456278 524199 :Luci-ghoule!~firefly@glowbum/gluehwuermchen/firefly PRIVMSG #esolangs :curious about the etymology for the nickname though < 1666456379 744786 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :and apparently "astral" isn't even any one plane, it's the nickname for all the planes other than base material plane. < 1666456384 903166 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :in unicode that is < 1666457550 431020 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1666458819 587729 :razetime!~quassel@49.207.192.79 QUIT :Quit: https://quassel-irc.org - Chat comfortably. Anywhere. < 1666460163 273996 :lagash!lagash@lagash.shelltalk.net QUIT :Quit: ZNC - https://znc.in < 1666460232 576753 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1666460265 916321 :lagash!lagash@lagash.shelltalk.net JOIN #esolangs * :ZNC - https://znc.in < 1666461491 135971 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User > 1666462322 516720 PRIVMSG #esolangs :14[[07User:SirBrahms14]]4 10 02https://esolangs.org/w/index.php?diff=104151&oldid=100306 5* 03SirBrahms 5* (+45) 10 < 1666464119 242537 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1666464864 776145 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User > 1666465762 862800 PRIVMSG #esolangs :14[[0714]]4 N10 02https://esolangs.org/w/index.php?oldid=104152 5* 03Hakerh400 5* (+2239) 10+[[]] > 1666465787 288129 PRIVMSG #esolangs :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=104153&oldid=104078 5* 03Hakerh400 5* (+21) 10+[[]] > 1666465799 328878 PRIVMSG #esolangs :14[[07User:Hakerh40014]]4 10 02https://esolangs.org/w/index.php?diff=104154&oldid=104079 5* 03Hakerh400 5* (+21) 10+[[]] < 1666465825 962325 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… > 1666466343 65255 PRIVMSG #esolangs :14[[0714]]4 M10 02https://esolangs.org/w/index.php?diff=104155&oldid=104152 5* 03Hakerh400 5* (-19) 10 < 1666466482 142356 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1666467455 478896 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1666468134 188661 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1666469137 369626 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1666470097 747753 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1666471085 350473 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1666471843 572650 :tech_exorcist!13203@user/tech-exorcist/x-0447479 QUIT :Quit: Disconnecting < 1666471961 428325 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl JOIN #esolangs * :Textual User < 1666472570 825425 :int-e!~noone@int-e.eu PRIVMSG #esolangs :b_jonas: the bash thing got fixed (to delay closing those FDs until after the loop) according to https://savannah.gnu.org/support/?110743 :) > 1666474517 514771 PRIVMSG #esolangs :14[[0713 bytes :D14]]4 M10 02https://esolangs.org/w/index.php?diff=104156&oldid=104141 5* 03PythonshellDebugwindow 5* (+19) 10/* Examples */ Category > 1666475897 281403 PRIVMSG #esolangs :14[[07DetailedFuck14]]4 10 02https://esolangs.org/w/index.php?diff=104157&oldid=97065 5* 03Kaveh Yousefi 5* (-135) 10Rectified the Hello World! example, which would enter in an infinitely repeating loop, and added an infinite cat program. < 1666476086 308900 :tromp!~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl QUIT :Quit: My iMac has gone to sleep. ZZZzzz… < 1666476657 223187 :__monty__!~toonn@user/toonn QUIT :Quit: leaving < 1666478059 313161 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu QUIT :Read error: Connection reset by peer < 1666478220 448442 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu JOIN #esolangs * :b_jonas < 1666478235 671741 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :the heck? computer froze on me again < 1666478265 293062 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I didn't do anything < 1666478284 42532 :int-e!~noone@int-e.eu PRIVMSG #esolangs :maybe time to let memtest run overnight? < 1666478315 454867 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :zzo38: Were you the one who liked MMIX's MXOR instruction? Did I mention that Intel added that to x86? < 1666478350 642751 :int-e!~noone@int-e.eu PRIVMSG #esolangs :what's that, the carry-less multiplication? < 1666478353 504144 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :shachaf: ooh, what's its name? < 1666478355 45212 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :int-e: no < 1666478379 61698 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :int-e: multiplying 8x8 GF(2) matrixes with the coefficients packed into a 64-bit integer < 1666478385 653746 :int-e!~noone@int-e.eu PRIVMSG #esolangs :ACTION looks < 1666478397 468680 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :and yes, that was zzo38 < 1666478423 463991 :int-e!~noone@int-e.eu PRIVMSG #esolangs :that's cool too < 1666478436 789410 :int-e!~noone@int-e.eu PRIVMSG #esolangs :shachaf: do we get MOR too? < 1666478456 972575 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(I guess that's less interesting for most people) < 1666478479 305376 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :what? no, MOR seems to be more general < 1666478481 388260 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :b_jonas: https://www.felixcloutier.com/x86/gf2p8affineqb < 1666478492 286657 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :No MOR as far as I know. < 1666478502 393941 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :And even this one is only in GFNI which I think is still pretty rare. < 1666478524 12957 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(MOR is a relation product; MXOR is a matrix product over GF(2) which I /know/ has applications in cryptography at least) < 1666478536 742381 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Hmm, this is only matrix-vector multiplication, did MXOR do matrix-matrix? < 1666478559 724852 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I guess it has SIMD matrix-vector multiplication so you can probably emulate it. < 1666478562 511696 :int-e!~noone@int-e.eu PRIVMSG #esolangs :yes. http://mmix.cs.hm.edu/doc/instructions-en.html < 1666478574 842095 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :shachaf: Yes, I was the one who liked MMIX's MOR and MXOR instructions (I think MOR is usually more useful in my opinion, but MXOR is also useful). I did not konw that Intel added it to x86. As far as I know it was not added to RISC-V, although I added a message that they should add it but I think they have not done that yet. < 1666478581 254594 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Right, OK, I forgot what MXOR actually was. < 1666478598 604877 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :(but for some uses, MOR and MXOR are both just as good) < 1666478660 910629 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Why is MOR more useful? < 1666478709 667525 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :shachaf: I'm not convinced that that actually computes MXOR, let me try to understand the manual < 1666478714 719813 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Well, at least the things I have considered using for, I have found MOR to be more useful, although I have not considered everything, so probably MXOR is just as useful, but for different purposes (although some things can use either one, as I have mentioned) < 1666478720 720939 :int-e!~noone@int-e.eu PRIVMSG #esolangs :shachaf: intel's thing it should do matrix products, shouldn't it? since it can transform several 8-bit vectors at once... that's one way to look at a matrix product < 1666478730 253113 :int-e!~noone@int-e.eu PRIVMSG #esolangs :unless I'm misreading < 1666478742 399431 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :I thought we figured the last time that it was another of the like four different instructions to compute multiplication in some representation of GF(2^8) < 1666478744 911488 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I don't think I am. < 1666478820 491363 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Will command __builtin_mor and __builtin_mxor be added into GCC, or @llvm.mor and @llvm.mxor into LLVM? If using in GCC should also have some definition that can be checked with #ifdef if the target computer supports such an instruction. < 1666478823 233347 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :int-e: Right, that's what I meant, I was just being kind of silly wondering whether you need to do any fancy SIMD thing to get it back to the form you want it in. < 1666478840 606123 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :But actually it's already in the form you want it in. < 1666478888 553444 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :b_jonas: Wait, am I extremely confused? Is this not MXOR? < 1666478908 370159 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :(Plus an affine immediate that you can ignore if you want.) < 1666478932 592301 :int-e!~noone@int-e.eu PRIVMSG #esolangs :and wider matrices... and /maybe/ a transposition? < 1666478945 652414 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :This one relies on a specific representation of GF(256): https://www.felixcloutier.com/x86/gf2p8affineinvqb < 1666478958 1443 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :But I don't think the non-inv one does. < 1666479010 229611 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(Transposition... in the bit order that Knuth uses, does the intel thing produce AB or AB^T or maybe even A^TB or A^TB^T)? < 1666479031 742941 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I'm not quite up to figuring this out right now. < 1666479050 188298 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :sorry, I'm still trying to understand the description in the manual < 1666479075 423157 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :b_jonas: This one might be a clearer description: https://networkbuilders.intel.com/solutionslibrary/galois-field-new-instructions-gfni-technology-guide < 1666479104 625516 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :MMIX has them, and if this is the case then also x86, and I think I have read some people had considered MOR and MXOR in WebAssembly (although as far as I know, it has not been done yet), and I also tried to convince them to be included in RISC-V as well. If this is the case, then such a command in GCC and LLVM will be useful for multiple target computers. < 1666479160 434537 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :One use that it is suitable either MOR or MXOR will do, is exchanging endianness (including PDP-endian). < 1666479170 461618 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :maybe you're right, < 1666479170 562778 :int-e!~noone@int-e.eu PRIVMSG #esolangs :So let's try. In Knuth's convention, every row is a byte. In Intel's, the transformation matrix uses bytes for rows, but the argument bytes are columns. So yeah, there's a transposition here. < 1666479179 783424 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(The result are columns too.) < 1666479216 283646 :int-e!~noone@int-e.eu PRIVMSG #esolangs :But... close enough. < 1666479217 987990 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :the part I'm confused about is that the description says "computes an affine transformation in the Galois Field 2^8", which makes no sense unless they mean like (the Galois Field 2)^8 as a vector space < 1666479228 359608 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I think that's what they mean. < 1666479243 139426 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :There's no GF(2^8) behavior here as far as I can tell. < 1666479251 127020 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :but the more formal description does look like it's computing a matrix product in GF(2) indeed < 1666479256 832445 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(Which, in particular, includes the affine transformations in GF(2^8)) < 1666479270 118930 :int-e!~noone@int-e.eu PRIVMSG #esolangs :x |-> ax + b, with a,b in GF(2^8) < 1666479283 313076 :int-e!~noone@int-e.eu PRIVMSG #esolangs :but you have to prepare the matrix corresponding to a yourself < 1666479339 404446 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :zzo38: if that's what the instruction does then gcc almost certainly has some builtin for it, and the intel intrinsic defined from it in a header. let me look. < 1666479403 875290 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Yes, it's _mm_gf2p8affine_epi64_epi8 < 1666479428 468507 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Or _mm256 or whatever your register size is. < 1666479432 563194 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :and the gcc builtin is __builtin_ia32_vgf2p8affineqb_v16qi < 1666479460 58182 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :shachaf: there's no other register size version, only xmm < 1666479491 269495 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Are you sure? < 1666479493 222590 :int-e!~noone@int-e.eu PRIVMSG #esolangs :but the description has 128 and 256 bit versions, hmm. < 1666479498 775788 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :hmm no, there is, sorry < 1666479502 319916 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :there is a ymm version < 1666479514 174815 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :odd because the intel manual only shows an xmm version < 1666479533 357546 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :am I looking at too old a manual? < 1666479541 687610 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :There's even a zmm version if you have AVX512. < 1666479549 935857 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I'm not sure whether GFNI is available on any chips without AVX512? < 1666479556 465977 :zzo38!~zzo38@host-24-207-14-22.public.eastlink.ca PRIVMSG #esolangs :Can such GCC builtins be used on non-x86 computers that might include such a command, though? < 1666479558 814069 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :But if not it probably will be. < 1666479600 142428 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :wait < 1666479608 810835 :int-e!~noone@int-e.eu PRIVMSG #esolangs :shachaf: funny, https://www.felixcloutier.com/x86/gf2p8affineqb lists the intrinsic but has no separate operational description for that case. < 1666479632 935261 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :it looks as if it's AVX512 encoding only, but still only works on 128 byte registers < 1666479652 802306 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(or intrinsic*s* since there's also the masking feature) < 1666479663 961493 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :By the way, the reduction polynomial most of the GFNI instructions use, from AES, doesn't have the property that "x" is a generator, which seems a bit unfortunate. < 1666479704 385637 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :For example the polynomial used in http://alamos.math.arizona.edu/RTG16/ECC/raid6.pdf has x as a generator, which it uses to compute Q more efficiently, since it only need to multiply by any generator. < 1666479707 689729 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :no wait, there is an 512 byte version? < 1666479712 811563 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :well I'm confused, but whatever < 1666479714 547743 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :ANy idea why AES picked that specific polynomial? < 1666479743 376803 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :shachaf: maybe it was lexicographically the first polynomial or something < 1666479768 958771 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :or colexicographically < 1666479964 77337 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Also, man, using x for elements of a prime power field seems so awkward to me. < 1666480005 688895 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :When you do a field extension to add i, or sqrt(2), or whatever, you don't talk about elements of the new field being polynomials, you just use some new symbols. < 1666480015 193847 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :I don't know why people don't do that with finite fields. < 1666480031 42349 :int-e!~noone@int-e.eu PRIVMSG #esolangs :it's the lexicographically smallest primitive polynomial of degree 8 < 1666480096 525171 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :int-e: well that's why then. it's a cryptographic standard so it has to make its choices nothing-up-my-sleeve < 1666480148 52652 :int-e!~noone@int-e.eu PRIVMSG #esolangs :You really want one of the form x^8+p(x) with small degree for p(x) because that's advantageous for the circuit depth of modular reduction. So I think that leaves p(x) = x^4+x^3+x^2+1 or p(x) = x^4+x^3+x+1, and they picked the primitive one rather than the other which is merely irreducible. < 1666480192 363629 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I don't know whether that has any effect for the application. < 1666480238 314893 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :wait, doesn't primitive mean that x is a generator? < 1666480244 382816 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Yes < 1666480247 932390 :int-e!~noone@int-e.eu PRIVMSG #esolangs :b_jonas: I don't know what your objection is precisely. < 1666480248 368397 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :as in a group generator < 1666480251 162620 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Yes < 1666480289 63300 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :wait, so are you talking about both the AES instructions and different instructions now < 1666480302 159399 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Do you mean my objection? < 1666480306 452860 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I'm talking about the AES galois field < 1666480346 146409 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :but earlier shachaf says that AES chose the one where the reduction polynomial is not a generator < 1666480347 903120 :int-e!~noone@int-e.eu PRIVMSG #esolangs :shachaf: good point, that was no objection < 1666480362 705041 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :and IIUC there are like four different intel instructions and some of them use a different polynomial < 1666480386 41873 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Oh, I'm also too stupid to convert 0x1b to binary. < 1666480416 988755 :int-e!~noone@int-e.eu PRIVMSG #esolangs :That corresponds to x^4+x^3+x+1, so the non-primitive one indeed. < 1666480419 712733 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I'm so bad. < 1666480520 353355 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :and besides the two different representation that those use, there's also logarithmic representation used in https://www.perlmonks.com/?node_id=862789 (admittedly that's GF(2^7) but the same idea would work for GF(2^8)), and the Sprague-Grundy representation used in David Madore's secret sharing program < 1666480572 692393 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :(ok, Sprague-Grundy representation is probably not the best name for it) < 1666480620 793587 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :(nim representation might be better probably) < 1666480642 561976 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :(though I think there was a specific proper noun associated with nim multiplication too, but I can't find what that is) < 1666480693 995196 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :OK, so 0x1d is the primitive one that has the property that x is a generator. < 1666480704 568689 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :And it's almost but not quite lexicographically smallest. < 1666480820 626034 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :By the way, I like the characterization of a field as a commutative ring where identifying any two elements collapses the whole thing down to one element. < 1666480837 610231 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :It's just a rephrasing of a more usual thing people say about having two ideals. < 1666480860 895059 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :But quotienting by an equivalence seems more natural to me for some reason. > 1666480900 60053 PRIVMSG #esolangs :14[[07DetailedFuck14]]4 10 02https://esolangs.org/w/index.php?diff=104158&oldid=104157 5* 03Kaveh Yousefi 5* (+201) 10Added a hyperlink to my implementation of the DetailedFuck programming language on GitHub as a replacement of the previously removed converter function and added the category tag Implemented. > 1666481067 776128 PRIVMSG #esolangs :14[[07DetailedFuck14]]4 10 02https://esolangs.org/w/index.php?diff=104159&oldid=104158 5* 03Kaveh Yousefi 5* (+134) 10Introduced an Instructions section for the command substitutions table, preceded by a short preamble. < 1666481112 814057 :int-e!~noone@int-e.eu PRIVMSG #esolangs :So it's simply the lexicographically smallest irreducible polynomial of degree 8, no additional constraints. Makes sense? < 1666481355 200282 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :By the way, I should figure out how Berlekamp-Massey or some similar algorithm works. < 1666481373 526659 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :For finding multiple errors. < 1666481452 143214 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Oh, the determinant of the mixcolumn matrix is 1 (mod 2) regardless of the choice of irreducible polynomial. Fun. < 1666481694 262198 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(which explains how the inverse matrix entries are all of degree 3 or less) > 1666481795 262987 PRIVMSG #esolangs :14[[07Basic Programming14]]4 M10 02https://esolangs.org/w/index.php?diff=104160&oldid=103838 5* 03Oshaboy 5* (-4) 10those are tokens, not commands < 1666481838 23926 :int-e!~noone@int-e.eu PRIVMSG #esolangs :"for finding multiple errors"... in an error correction code context? < 1666481855 813981 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Right. < 1666481876 895402 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :Say if you split data into n data shards and add 4 parity shards, you should be able to correct up to 2 errors. < 1666481903 783826 :shachaf!~shachaf@user/shachaf PRIVMSG #esolangs :(The n+2 case where you correct one error is really simple, described in the PDF I linked above.) < 1666482019 946643 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :as for the earlier question on whether that intel instruction transposes one of its input operand matrices, I believe the answer is yes, it transposes just like the MMIX instruction, but the intel instruction differs because it also flips one of the matrices in the direction that amounts to bit reversal rather than endianness reversal < 1666482266 403004 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Oh. You're right, the bytes in the MMIX thing are columns... that, or Y and Z are swapped. < 1666482346 673757 :int-e!~noone@int-e.eu PRIVMSG #esolangs :But regardless, when comparing the two, one argument is transposed in Intel's version. < 1666482378 863056 :int-e!~noone@int-e.eu PRIVMSG #esolangs :And, hmm, no, transpose is not a bit reversal. < 1666482400 593234 :int-e!~noone@int-e.eu PRIVMSG #esolangs :(just look at the diagonal antries that are fixed) < 1666482623 605350 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :int-e: transpose isn't a bit reversal, flip is a bit reversal < 1666482641 83049 :int-e!~noone@int-e.eu PRIVMSG #esolangs :I don't think that there's a flip involved < 1666482649 832769 :int-e!~noone@int-e.eu PRIVMSG #esolangs :but as usual I may have missed it < 1666482740 412923 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :hmm wait < 1666482749 571010 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :it's not a bit reversal, it's a byte reversal of one input < 1666482758 555300 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :endianness reversal < 1666482801 133571 :int-e!~noone@int-e.eu PRIVMSG #esolangs :oh this thing... tsrc2qw.byte[7-i]... yeah I did miss that. < 1666482926 823208 :int-e!~noone@int-e.eu PRIVMSG #esolangs :Hmm I wonder why they're doing that. < 1666482999 652758 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :int-e: probably depends on which way you represent the bits of a polynomial < 1666483023 291299 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :no wait that's silly < 1666483084 63563 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :maybe this helps with AES or something < 1666483093 758876 :b_jonas!~x@adsl-89-134-12-222.monradsl.monornet.hu PRIVMSG #esolangs :or some other crypto protocol