Hacker News new | ask | show | jobs
Underscore Pi (2017) (codeexplainer.wordpress.com)
85 points by PortableCode 2977 days ago
6 comments

In 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?

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!

https://news.ycombinator.com/newsguidelines.html

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.