←2021-04-28 2021-04-29 2021-04-30→ ↑2021 ↑all
00:04:56 -!- arseniiv has quit (Ping timeout: 246 seconds).
00:16:23 -!- big_caballito has quit (Read error: Connection reset by peer).
00:21:26 -!- big_caballito has joined.
00:23:51 -!- big_caballito has quit (Read error: Connection reset by peer).
00:28:56 -!- big_caballito has joined.
02:03:22 <esowiki> [[User talk:Trump Bot]] https://esolangs.org/w/index.php?diff=82488&oldid=82360 * New Army * (+106)
02:06:19 -!- V has changed nick to based.
02:10:43 -!- big_caballito has quit (Read error: Connection reset by peer).
02:11:18 -!- big_caballito has joined.
02:11:34 -!- big_caballito has quit (Read error: Connection reset by peer).
02:18:20 -!- based has changed nick to V.
02:22:44 -!- big_caballito has joined.
02:55:41 <zzo38> {?} Instant ;; Choose one-- ;; - You can rearrange the order of objects in the stack. ;; - Target object in stack gains split second until it leaves the stack. ;; Entwine {?}
02:55:51 <zzo38> Do you like this?
03:02:24 <b_jonas> zzo38: no. it shouldn't say "until it leaves the stack", and in any case that second ability is almost useless and shouldn't be on an instant.
03:02:57 <b_jonas> reoder the stack is sort of possible, but you need a very good case to want to do it, and this isn't one
03:04:14 <b_jonas> and you probably can't just have an instant that does the first thing, because it's too weak even for {U}
03:04:35 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)).
03:04:48 <b_jonas> so if you want that ability, you have to find a balanced home for it
03:17:53 <zzo38> Maybe, but it has entwine, and and I can think of uses for the second ability, so it isn't entirely useless. (Split second alone, as well as madness alone, can both be useful and I have puzzles where that is the important part.) Other possibility can be to add other stuff such as cycling. But, what you suggest is another possibility, but I don't know what balanced home to find for it.
03:19:48 <b_jonas> zzo38: split second on a spell is useful, but adding it to a spell with another instant is much less useful, because you can respond to this instant
03:20:23 -!- delta23 has joined.
03:23:52 <zzo38> Yes, but if you apply it to the object on the bottom, then it prevents casting other spells in between. (Still, this card could probably be improved.)
03:29:21 <esowiki> [[User talk:Trump Bot]] https://esolangs.org/w/index.php?diff=82489&oldid=82488 * Trump Bot * (+278)
04:01:22 <zzo38> Another idea of a card I had is: {?} Instant ;; Two target permanents copy each other. Exchange control of those permanents.
05:19:48 -!- xkapastel has quit (Quit: Connection closed for inactivity).
06:16:26 -!- imode has quit (Ping timeout: 240 seconds).
06:33:59 -!- Remavas has joined.
07:06:38 -!- Sgeo has quit (Read error: Connection reset by peer).
07:25:20 -!- Remavas has quit (Quit: Leaving).
07:38:32 -!- LKoen has joined.
07:38:58 <esowiki> [[User talk:HyperNeutrino]] M https://esolangs.org/w/index.php?diff=82490&oldid=82262 * HyperNeutrino * (+135) /* Moving pages */
08:08:16 -!- hendursa1 has joined.
08:11:09 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:27:05 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=82491&oldid=82436 * ColorfulGalaxy (disambiguation) * (+180) /* Music */ A language called Befugue
08:55:38 <esowiki> [[Zirconium]] https://esolangs.org/w/index.php?diff=82492&oldid=82438 * RocketRace * (+388) Elaborate on fence semantics
08:57:26 <esowiki> [[Zirconium]] https://esolangs.org/w/index.php?diff=82493&oldid=82492 * RocketRace * (+2) Metropoleis are like exclusion zones
08:58:12 <esowiki> [[Zirconium]] M https://esolangs.org/w/index.php?diff=82494&oldid=82493 * RocketRace * (-1) Spelling
10:56:55 -!- izabera has changed nick to deadiza.
10:57:16 -!- deadiza has changed nick to jkiwasntdead.
10:57:51 -!- jkiwasntdead has changed nick to izabera.
11:09:39 -!- kspalaiologos has joined.
11:20:02 -!- kspalaiologos has quit (Quit: Leaving).
12:35:42 -!- xelxebar_ has quit (Remote host closed the connection).
12:36:11 -!- xelxebar has joined.
12:40:46 -!- arseniiv has joined.
13:34:30 -!- delta23 has quit (Quit: Leaving).
13:49:28 -!- xkapastel has joined.
14:00:06 <int-e> fizzie: So I forewent the bit reversal; bswap is good enough to get me 90% of the way in context, and the extra effort for the full reversal just doesn't seem to pay off. (The idea where this comes up is when performing a move... you can figure out which stones to turn over with a ripple carry trick, but only in 4 out of the 8 directions. With bswap it's 7 out of 8; a full reversal would make it...
14:00:12 <int-e> ...work for all directions.)
14:03:22 <esowiki> [[Zirconium]] https://esolangs.org/w/index.php?diff=82495&oldid=82494 * RocketRace * (+1400) Restructure the page, increase cohesity, add golfing utilities ;)
14:07:26 <b_jonas> int-e: I'll also mention http://software.schmorp.de/pkg/libecb.html , which has some bit manipulation functions, including find first and find last bit set, popcount, bit reversal (for full integers), and byteswap. I have touched these, because I contributed some code specifically about the bit ops, and I've used the byteswap multiple times.
14:09:02 <b_jonas> plus you probably know about the two relevant books. Henry S. Warren, Jr, "Hacker's Delight" second edition, it's not perfect and uses rather odd notation that annoys me in a lot of places, but it's a hard to replace book, you won't find any other with this many details, so I put up with it
14:09:09 <b_jonas> the other is TAOCP vol 4
14:09:12 <int-e> fwiw, https://int-e.eu/~bf3/tmp/reversi.cc is the (slightly horrible) code I have. I have not tried to make it configurable and I've only targeted i7-6850K because that's what I have at home.
14:09:29 <int-e> b_jonas: But yes, I do enjoy bit hacks a lot.
14:10:14 <b_jonas> Warren's book is also somewhat obsolete, it doesn't really consider tricks that are specific to the SIMD operations of x86 SSE2 and later x86 extensions
14:10:19 <int-e> (not sure whether there's anything interesting in that code; you can enjoy the magic constants at least)
14:10:24 <b_jonas> but even so it's useful
14:10:45 <int-e> This might benefit from SSE2 stuff but I don't have the stomach for it :P
14:10:58 <b_jonas> I can help a bit with the SSE2 stuff
14:11:04 <int-e> (It's not like I actually *need* this for anything.)
14:11:04 <b_jonas> if you have specific questions that is
14:11:08 <b_jonas> I ahve worked with it
14:11:14 <b_jonas> yes yes, #esoteric and all
14:11:46 <int-e> I have touched SSE2 a little bit in the past, but it was never enjoyable.
14:13:54 <b_jonas> I also have the feeling that Oscar Toledo of the IOCCC fame might know a lot about bit tricks, but his code is very opaque so I don't think there's any way to *learn* those tricks from him
14:13:58 <int-e> The code is in an odd spot for the target processor. For example, I have some unpredictable conditional jumps and eliminating them makes the code... the same speed, more or less.
14:14:46 <int-e> I could replace the 64x64bit multiplication by shifts... but intel's multiplier is too good
14:14:51 <int-e> stuff like that
14:15:32 <b_jonas> sure, the multiplication and float multiplication instructions are good on x86, you should use them
14:16:48 <b_jonas> there are a lot of different multiplication instructions, including four different ones that multiply vectors of 16-bit integers, I've used some of those once
14:17:04 <b_jonas> they're useful for pixel images
14:17:22 -!- LKoen has quit (Remote host closed the connection).
14:18:04 <int-e> pixel images were a key motivation... all the way back to MMX, and even 3DNow!
14:18:39 <b_jonas> int-e: I don't see where you use 64-bit multiplication other than by constants here
14:18:55 <b_jonas> multiplication by constants is rarely worth to replace, because compilers can already optimize them when it's worth
14:19:11 <b_jonas> especially for unsigned
14:19:14 <int-e> b_jonas: x*UINT64_C(0x0102040810204080) stuff
14:19:19 <b_jonas> yes, that's by constants
14:19:32 <b_jonas> if that can be optimized, the compiler will optimize it
14:19:35 <int-e> b_jonas: it doesn't matter, it uses the usual 64 bit integer multiplication
14:19:56 <b_jonas> it may be worth to replace a signed multiplication by an unsigned one to help such an optimization, but you're already doing unsigned
14:20:00 <int-e> *I* knmow that x is a power of 2; the compiler doesn't.
14:20:03 <b_jonas> it's rarely worth to replace it by shifts
14:20:08 <b_jonas> oh
14:20:11 <b_jonas> x is a power of 2
14:20:19 <b_jonas> ok, that's trickier
14:20:38 <int-e> and I could compute the shift instead of the number further outside in the code
14:20:55 <int-e> using ctz instead of the x & -x bit trick
14:21:03 <b_jonas> yes, you could
14:21:06 <int-e> I tried it, it made the code marginally slower
14:21:21 <b_jonas> I don't know if it's worth because I don't know what your code does and what its bottlenecks are
14:21:25 <b_jonas> and I probably won't try to understand it
14:21:38 <b_jonas> can you tell the goal of this code though?
14:21:44 <b_jonas> what does it try to compute?
14:21:51 <b_jonas> the state of a reversi board after a move?
14:21:57 <int-e> b_jonas: I wrote it to find shortest Reversi and Othello games
14:22:33 <int-e> And then I went off a tangent trying to speed up the code even though it already ran in a few seconds.
14:23:43 <int-e> For fun really; an AI would spend most of its time in evaluation functions, no point in shaving off a few more cycles in the move generation part.
14:24:22 <b_jonas> makes sense
14:26:05 <b_jonas> I mostly did experimented with SSE2 stuff for pixel images
14:26:22 <b_jonas> learned a bit about SSE2 and the later instruction set, as well as some existing libraries
14:26:37 <int-e> that makes a lot more sense too, you have a clear per-pixel operation and immediate payoffs in terms of parallelism
14:26:43 <b_jonas> I might be able to use some of that for a future job
14:27:55 <b_jonas> though I do have to be careful not to do something so similar to the previous job where I learned about this that it gets too close to stealing
14:29:32 <b_jonas> sometimes I also wonder if I should try to make a quasi-esoteric or toy array language that's optimized for image processing
14:30:53 <b_jonas> but that probably won't happen
14:32:52 <b_jonas> mostly because if I do want to work on esoteric languages, I'
14:32:59 <b_jonas> ll probably work on Consumer Society first
14:34:25 -!- MDude has joined.
14:34:59 <int-e> Hmmm. My last foray into SSE territory was almost a year ago for https://www.research.ibm.com/haifa/ponderthis/challenges/May2020.html
14:35:53 -!- LKoen has joined.
14:36:34 <int-e> which ultimately failed to speed things up: https://gist.github.com/int-e/8e606cd6e3eeb2d8b4296cbb21d6515f
14:37:42 <esowiki> [[Zirconium]] https://esolangs.org/w/index.php?diff=82496&oldid=82495 * RocketRace * (+1439) Hello, world!
14:50:07 -!- Sgeo has joined.
14:54:39 <esowiki> [[Zirconium]] M https://esolangs.org/w/index.php?diff=82497&oldid=82496 * RocketRace * (+21) grapheme cluster recommendation!
14:59:25 <esowiki> [[Zirconium]] M https://esolangs.org/w/index.php?diff=82498&oldid=82497 * RocketRace * (+130) Expand fib explanation
14:59:53 <esowiki> [[Zirconium]] M https://esolangs.org/w/index.php?diff=82499&oldid=82498 * RocketRace * (-1) semicolon
16:15:32 -!- imode has joined.
16:28:52 -!- big_caballito has quit (Read error: Connection reset by peer).
18:36:45 -!- big_caballito has joined.
19:34:49 <esowiki> [[PenisScript]] M https://esolangs.org/w/index.php?diff=82500&oldid=79505 * Rdebath * (+43) Done before.
19:41:40 <esowiki> [[PenisScript]] https://esolangs.org/w/index.php?diff=82501&oldid=82500 * Rdebath * (+413) Add TBS interpreter
19:46:31 -!- delta23 has joined.
20:04:58 -!- Lord_of_Life_ has joined.
20:05:53 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
20:06:24 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
20:18:41 -!- delta23 has quit (Ping timeout: 240 seconds).
20:46:31 -!- delta23 has joined.
21:15:27 <zzo38> Can you find a Turing-complete subset of the use of built-in macros of the Free Hero Mesh preprocessor other than {define} and {call} or {append} and {call}? I mentioned the possibility of {define} alone, although I do have have a proof or disproof of this. Are there others?
21:16:21 -!- user24 has joined.
21:57:34 -!- Frater_EST has joined.
21:59:42 -!- delta23 has quit (Remote host closed the connection).
22:00:10 -!- delta23 has joined.
22:25:19 -!- user24 has quit (Quit: We must know, we will know).
22:45:34 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
23:17:24 -!- arseniiv has quit (Ping timeout: 265 seconds).
23:23:22 -!- TheLie has joined.
23:56:33 -!- big_caballito has quit (Quit: leaving).
23:57:18 -!- TheLie has quit (Remote host closed the connection).
←2021-04-28 2021-04-29 2021-04-30→ ↑2021 ↑all