Deutsch English Français Italiano |
<20250322191213.00005ab2@yahoo.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Michael S <already5chosen@yahoo.com> Newsgroups: comp.lang.c Subject: Re: Suggested method for returning a string from a C program? Date: Sat, 22 Mar 2025 19:12:13 +0200 Organization: A noiseless patient Spider Lines: 41 Message-ID: <20250322191213.00005ab2@yahoo.com> References: <vrd77d$3nvtf$2@dont-email.me> <87a59hvgyk.fsf@nosuchdomain.example.com> <vrdi0g$47cb$3@dont-email.me> <mm72bl-1o2.ln1@otis.foo> <vrmdoo$1cqb$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Injection-Date: Sat, 22 Mar 2025 18:12:18 +0100 (CET) Injection-Info: dont-email.me; posting-host="16a2663479d6b4bf8fb6724acca31d7c"; logging-data="419570"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18q0ILrIs/Qco2bCAwgn03Gxz1VlrACjVo=" Cancel-Lock: sha1:mUjnjKFsks7tRY+EUhR96+bkRbE= X-Newsreader: Claws Mail 4.1.1 (GTK 3.24.34; x86_64-w64-mingw32) Bytes: 1937 On Sat, 22 Mar 2025 13:25:43 +0000 Richard Heathfield <rjh@cpax.org.uk> wrote: > On 22/03/2025 08:07, Peter 'Shaggy' Haywood wrote: > > <snip> > > > Here's my solution, for what it's worth: > > > > #include <stdio.h> > > > > unsigned long weird(unsigned long n) > > { > > printf("%lu", n); > > > > if(n & 1) > > { > > /* Odd - multiply by 3 & add 1. */ > > n = n * 3 + 1; > > Or you can save yourself a multiplication > > n = (n << 2) - (n - 1); > > potentially shaving entire picoseconds off the runtime. > > > } > > else > > { > > /* Even - divide by 2. */ > > n /= 2; > > do > { > n >>= 1; > } while(~(n & 1)); > > ...and there goes another attosecond. >