Underscore Pi (2017)
codeexplainer.wordpress.comIn all its glory:
#define _ -F<00||--F-OO--;
int F=00,OO=00;main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
_-_-_-_
_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_
_-_-_-_
}
Fierce! Unhinged! Cromulent! Kickass!Unfortunately, this doesn't seem to work in Clang because it doesn't support the -traditional-cpp flag. Make sure that you're actually using GCC if you're following along!
> What would happen if you make the circle in the code bigger?
More precision?
links to sources on ioccc.org: http://ioccc.org/1988/westley.c | http://ioccc.org/1988/westley.hint
We changed the title from "Underscore Pi – when M_PI from math.h is too mainstream; IOCCC winning entry".
This is a fine HN submission, but please don't rewrite titles to editorialize!
Could you maybe add something about it being an IOCCC winner back in? (I generally read the comments first to decide if I want to read the article, and I wasn't going to bother reading this until I saw it had something to do with the IOCCC)
M_PI is not part of the C standard (it is part of Posix) so the title is awkward.
I agree it's awkward, but not because of M_PI being non-standard. If history had lead to pi being defined in standard C, this code would still have been interesting. The title is awkward because it talks more about M_PI than about the content of the article.
I agree that the code is interesting. It was specifically the HN title I was talking about, which is not even the title of the original article. Sorry if I wasn't clear. Anyway, it's been updated now.