iAdd ad and thaumaturgy, both properly formatted. - tgtimes - The Gopher Times Err bitreich.org 70 hgit clone git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/tgtimes URL:git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/tgtimes bitreich.org 70 1Log /scm/tgtimes/log.gph bitreich.org 70 1Files /scm/tgtimes/files.gph bitreich.org 70 1Refs /scm/tgtimes/refs.gph bitreich.org 70 1Tags /scm/tgtimes/tag bitreich.org 70 1README /scm/tgtimes/file/README.md.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 87ae78486c1766cc3900454f1139535d4b87fae7 /scm/tgtimes/commit/87ae78486c1766cc3900454f1139535d4b87fae7.gph bitreich.org 70 1parent c6100f10c46523c4fd753bb413e7e848662b61f5 /scm/tgtimes/commit/c6100f10c46523c4fd753bb413e7e848662b61f5.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sun, 27 Aug 2023 20:47:30 +0200 Err bitreich.org 70 i Err bitreich.org 70 iAdd ad and thaumaturgy, both properly formatted. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i A opus7/6-advertisement-3517.raw | 25 +++++++++++++++++++++++++ Err bitreich.org 70 i A opus7/7-thaumaturgy-7964.md | 16 ++++++++++++++++ Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 41 insertions(+), 0 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/opus7/6-advertisement-3517.raw b/opus7/6-advertisement-3517.raw /scm/tgtimes/file/opus7/6-advertisement-3517.raw.gph bitreich.org 70 i@@ -0,0 +1,25 @@ Err bitreich.org 70 i++------------------------------------------------------------------------+ Err bitreich.org 70 i+| | Err bitreich.org 70 i+| ADVERTISEMENT | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| * You really want this cat to be weber-cooked? | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| ______________________ | Err bitreich.org 70 i+| | Meow |..| | Err bitreich.org 70 i+| | / |oo| | Err bitreich.org 70 i+| * NO? | o o |/\| | Err bitreich.org 70 i+| | (m) . |\/| | Err bitreich.org 70 i+| |____(___)________|__| | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| * You can only stop us by talking to us at: | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| #bitreich-cooking on irc.bitreich.org | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| | Err bitreich.org 70 i+| | Err bitreich.org 70 i++------------------------------------------------------------------------+ Err bitreich.org 70 1diff --git a/opus7/7-thaumaturgy-7964.md b/opus7/7-thaumaturgy-7964.md /scm/tgtimes/file/opus7/7-thaumaturgy-7964.md.gph bitreich.org 70 i@@ -0,0 +1,16 @@ Err bitreich.org 70 i+# This's opus C Thaumaturgy Err bitreich.org 70 i+ Err bitreich.org 70 i+// Returns the smaller integer of x and y but without a branch Err bitreich.org 70 i+// (if/else/ternary, goto etc..) Err bitreich.org 70 i+// Normally min is implemented something like this: Err bitreich.org 70 i+// return x < y ? x : y; Err bitreich.org 70 i+// But we have a branch there so let's do it witout. (The branch Err bitreich.org 70 i+// free min could be used to merge arrays for example.) Err bitreich.org 70 i+// If x < y, then -(x < y) => -1 => all 1's in two complement Err bitreich.org 70 i+// representation. Err bitreich.org 70 i+// So we have y ^ (x ^ y) => x Err bitreich.org 70 i+// If x >= y, then -(x < y) => 0 so y ^ 0 is y. Err bitreich.org 70 i+ Err bitreich.org 70 i+static inline uint8_t min(const uint8_t x, const uint8_t y) { Err bitreich.org 70 i+ return y ^ ((x ^ y) & -(x < y)); Err bitreich.org 70 i+} Err bitreich.org 70 .