Sujet : Re: Every sufficiently competent C programmer knows
De : rjh (at) *nospam* cpax.org.uk (Richard Heathfield)
Groupes : comp.theoryDate : 11. Mar 2025, 19:23:24
Autres entêtes
Organisation : Fix this later
Message-ID : <vqpv2u$23vhr$1@dont-email.me>
References : 1 2 3 4 5
User-Agent : Mozilla Thunderbird
On 11/03/2025 17:42, Mike Terry wrote:
Finally, if you really want to see the actual HHH code, its in the halt7.c file (along with DDD) that PO provides links to from time to time. However it's not very illuminating due to bugs/design errors/misunderstandings which only serve to obfuscate PO's errors in thinking.
[I've now seen the code. Oh deary deary me.]
Thank you for a spirited attempt to be cogent - or at least as cogent as it is possible to be in the circumstances!
I think PO's first step must be to demonstrate that HHH() correctly diagnoses some easy functions, such as these:
int rha(unsigned int i)
{
while(--i > 0)while(--i > 0);
return 0;
}
int rhb(unsigned int i)
{
if(i > 0)
{
rhb(i/10);
}
return putchar(i + '0');
}
int rhc(unsigned int i)
{
typedef int(*pf)(unsigned int);
pf arr[3] = {rha, rhb, rhc};
return arr[i % 3];
}
and other such obvious tests.
HHH(), the procedure that decides whether a program halts, is required to work for all programs and all inputs. Does it work on those cited above? I'm guessing it doesn't.
-- Richard HeathfieldEmail: rjh at cpax dot org dot uk"Usenet is a strange place" - dmr 29 July 1999Sig line 4 vacant - apply within