00:00:00 --- log: started forth/18.06.22 01:14:15 --- quit: proteusguy (Ping timeout: 276 seconds) 01:19:30 --- join: impomatic (~digital_w@host81-136-104-94.range81-136.btcentralplus.com) joined #forth 01:25:13 --- join: proteusguy (~proteusgu@2403:6200:88a6:d26d:cd5e:801f:7feb:715a) joined #forth 01:25:14 --- mode: ChanServ set +v proteusguy 01:47:35 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 01:54:43 --- quit: jedb (Ping timeout: 264 seconds) 02:25:08 --- join: jedb (~jedb@199.66.90.113) joined #forth 03:07:20 --- quit: nighty-- (Quit: Disappears in a puff of smoke) 03:09:57 --- quit: jedb (Ping timeout: 276 seconds) 04:05:53 --- join: mtsd (~mtsd@94-137-100-130.customers.ownit.se) joined #forth 04:57:00 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 05:19:38 --- quit: dys (Ping timeout: 256 seconds) 05:31:49 --- quit: mtsd (Quit: leaving) 05:46:46 --- join: jedb (~jedb@184.75.214.131) joined #forth 05:53:53 --- quit: jedb (Ping timeout: 256 seconds) 05:57:43 --- join: TCZ (~Johnny@ip-91.189.219.214.skyware.pl) joined #forth 05:59:19 --- quit: Zarutian (Ping timeout: 240 seconds) 06:01:49 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 06:10:37 --- join: jedb (~jedb@199.66.90.209) joined #forth 06:22:02 --- quit: TCZ (Quit: Leaving) 06:32:57 --- quit: jedb (Ping timeout: 240 seconds) 06:33:14 --- join: jedb (~jedb@199.66.90.209) joined #forth 06:34:22 --- join: dys (~dys@tmo-120-202.customers.d1-online.com) joined #forth 06:52:25 --- join: pierpal (~pierpal@host45-58-dynamic.44-79-r.retail.telecomitalia.it) joined #forth 07:08:19 --- quit: ncv (Ping timeout: 256 seconds) 07:09:18 --- join: ncv (~neceve@90.218.62.205) joined #forth 07:09:18 --- quit: ncv (Changing host) 07:09:18 --- join: ncv (~neceve@unaffiliated/neceve) joined #forth 07:13:19 --- quit: cheater (Ping timeout: 264 seconds) 07:48:29 --- join: cheater (~cheater@unaffiliated/cheater) joined #forth 07:50:48 : thue-morse CREATE 0 , DOES> DUP ++! @ ONES_COUNT ODD? ; \ A=FALSE B=TRUE 07:51:47 : ++! DUP @ 1+ SWAP ! ; 07:52:39 : ODD? 1 AND ; 07:53:06 sorry : ODD? 1 AND 1 = ; 07:55:16 --- quit: dave9 (Quit: one love) 07:59:14 : ONES_COUNT 0 CELL_SIZE DO OVER 1 AND + SWAP 1>> SWAP LOOP SWAP DROP ; 08:00:59 pretty good, neh? 08:17:52 your ONES_COUNT count be faster: https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel 08:17:58 s/count/could/ 08:18:28 (that site is awesome for stuff like that) 09:46:12 --- quit: Labu (Quit: WeeChat 2.0.1) 09:46:25 --- join: Labu (~Labu@labu.pck.nerim.net) joined #forth 09:55:20 : (COUNTBITS) ( u1 u2 u3 -- u4 ) 09:55:20 ( u1 = partial count ) 09:55:20 ( u2 = power ) 09:55:21 ( u3 = mask ) 09:55:21 ( u4 = new partial count ) 09:55:21 ROT 2DUP AND >R ROT / AND R> + 09:55:21 ; 09:55:22 : COUNTBITS ( u1 -- u2 ) ( parallel count ) 09:55:22 ( u2 = number of 1 bits in u1 ) 09:55:23 2 %101010101010101 (COUNTBITS) 09:55:23 4 %011001100110011 (COUNTBITS) 09:55:24 16 %000011100000111 (COUNTBITS) 09:55:24 256 %000000000001111 (COUNTBITS) 09:55:25 ; 09:55:45 That's how I implemented parallel bit count 09:58:44 that thue-morse creating word can be used to make a fair share round robin scheduler. Though your number of tasks/threads need to be powers of two. 10:02:21 thue-morse TMC1 thue-morse TMC2 thue-morse TMC3 : NEXT-TASKNR TMC1 IF TMC2 IF 3 ELSE 2 THEN TMC3 IF 1 ELSE 0 ; \ you get the idea. 10:46:48 --- quit: karswell (Read error: Connection reset by peer) 11:03:51 --- quit: ncv (Ping timeout: 256 seconds) 12:31:04 I had some minor bugs in that number conversion code. Here's a new GForth file with them fixed: 12:31:06 https://pastebin.com/h4XRBBJD 12:31:27 Little things like using < where I should have used <=. 12:31:36 So it had some incorrectly handled corner cases. 12:31:59 I also added in an "auto casing" mechanism - for base 2 through base 36 lower case letters are treated as upper case. 12:32:11 For bases >36 lower case letters form an additional 26 digits. 12:33:05 So it works up to base 62. It actually works for higher bases, but you can't specify the digits above z. 12:33:30 But, for example, 200:abc would convert correctly. 12:37:00 --- quit: pierpal (Quit: Poof) 12:37:19 --- join: pierpal (~pierpal@host45-58-dynamic.44-79-r.retail.telecomitalia.it) joined #forth 12:52:15 --- quit: pierpal (Quit: Poof) 12:52:35 --- join: pierpal (~pierpal@host45-58-dynamic.44-79-r.retail.telecomitalia.it) joined #forth 13:08:58 --- join: pierpa (4f2c3a2d@gateway/web/freenode/ip.79.44.58.45) joined #forth 13:19:55 --- quit: impomatic (Ping timeout: 264 seconds) 14:12:05 --- join: ThirtyOne32nds (~rtmanpage@10.sub-174-204-9.myvzw.com) joined #forth 15:35:15 --- quit: Keshl (Read error: Connection reset by peer) 15:35:45 --- join: Keshl (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 16:05:46 --- join: dave9 (~dave@207.213.dsl.syd.iprimus.net.au) joined #forth 16:06:08 hi 16:07:43 h'lo 16:08:00 hi Zarutian 17:03:19 Hi Dave. 17:20:41 hiya KipIngram 17:22:01 --- quit: dys (Ping timeout: 256 seconds) 17:34:41 --- quit: dddddd (Remote host closed the connection) 19:26:15 --- quit: pierpa (Quit: Page closed) 19:51:14 --- quit: pierpal (Quit: Poof) 19:51:30 --- join: pierpal (~pierpal@host45-58-dynamic.44-79-r.retail.telecomitalia.it) joined #forth 19:55:36 hey those 3 people 20:03:43 --- join: muzgo (~nil@mail.oitobits.net) joined #forth 20:05:19 --- part: muzgo left #forth 22:41:24 --- quit: dave9 (Quit: one love) 22:49:31 --- join: dys (~dys@tmo-106-198.customers.d1-online.com) joined #forth 22:56:04 --- quit: Keshl (Quit: Konversation terminated!) 23:03:42 --- join: Keshl (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 23:37:21 --- join: impomatic (~digital_w@host86-191-16-233.range86-191.btcentralplus.com) joined #forth 23:59:59 --- log: ended forth/18.06.22