{"id":10273,"date":"2023-02-27T19:36:45","date_gmt":"2023-02-27T18:36:45","guid":{"rendered":"https:\/\/monodes.com\/predaelli\/?p=10273"},"modified":"2023-02-27T19:36:45","modified_gmt":"2023-02-27T18:36:45","slug":"robust-arithmetic-in-computational-geometry-volodymyr-agafonkin-observable","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2023\/02\/27\/robust-arithmetic-in-computational-geometry-volodymyr-agafonkin-observable\/","title":{"rendered":"Robust Arithmetic in Computational Geometry \/ Volodymyr Agafonkin | Observable"},"content":{"rendered":"<p><em>What an interesting piece!<\/em><\/p>\n<p><em><a href=\"https:\/\/observablehq.com\/@mourner\/non-robust-arithmetic-as-art\">Robust Arithmetic in Computational Geometry \/ Volodymyr Agafonkin | Observable<\/a><\/em><\/p>\n<p>Every developer should know that floating point numbers implement <strong>approximations.<\/strong><\/p>\n<p>During my master thesys in Civil Enginineering (twenty years ago!) I learned that professor <a href=\"https:\/\/www.cs.cmu.edu\/~quake\/robust.html\" rel=\"nofollow\">Jonathan R Shewchuk wrote almost perfect C code about this<\/a>, and used in its Delaunay triangulation. At that time I hadn&#8217;t the time to really study it as it seemed to me a little like magic.<\/p>\n<p>Now this page in its exact test is using <a href=\"https:\/\/github.com\/mourner\/robust-predicates\">robust-predicates<\/a>, a modern JavaScript, a port of Jonathan Shewchuk&#8217;s robust predicates code.<\/p>\n<p>Wow.<\/p>\n<p><!--more--><!--nextpage--><\/p>\n<blockquote><p>&nbsp;<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">What an interesting piece! Robust Arithmetic in Computational Geometry \/ Volodymyr Agafonkin | Observable Every developer should know that floating point numbers implement approximations. During my master thesys in Civil Enginineering (twenty years ago!) I learned that professor Jonathan R Shewchuk wrote almost perfect C code about this, and used in its Delaunay triangulation. At&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2023\/02\/27\/robust-arithmetic-in-computational-geometry-volodymyr-agafonkin-observable\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-10273","post","type-post","status-publish","format-standard","hentry","category-senza-categoria"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-2FH","jetpack-related-posts":[{"id":1763,"url":"https:\/\/monodes.com\/predaelli\/2016\/09\/13\/solidrun-simple-robust-computing-solutions\/","url_meta":{"origin":10273,"position":0},"title":"SolidRun | Simple Robust Computing Solutions","author":"Paolo Redaelli","date":"2016-09-13","format":false,"excerpt":"SolidRun is a global leading developer of powerful energy efficient System on Modules and Single Board Computers based on NXP, Marvell and Intel SoCs. Sorgente: SolidRun | Simple Robust Computing Solutions","rel":"","context":"In &quot;Hardware&quot;","block_context":{"text":"Hardware","link":"https:\/\/monodes.com\/predaelli\/category\/hardware\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":872,"url":"https:\/\/monodes.com\/predaelli\/2016\/01\/06\/saturation-arithmetic-wikipedia-the-free-encyclopedia\/","url_meta":{"origin":10273,"position":1},"title":"Saturation arithmetic &#8211; Wikipedia, the free encyclopedia","author":"Paolo Redaelli","date":"2016-01-06","format":false,"excerpt":"Saturation arithmetic for integers has also been implemented in software for a number of programming languages including C, C++, and Eiffel. Sorgente: Saturation arithmetic - Wikipedia, the free encyclopedia Oh, I almost forgot that. Such a library was conceived by Geoff 24 who gave up using Eiffel in Mar 2003\u2026","rel":"","context":"In &quot;Eiffel&quot;","block_context":{"text":"Eiffel","link":"https:\/\/monodes.com\/predaelli\/category\/eiffel\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":763,"url":"https:\/\/monodes.com\/predaelli\/2015\/10\/31\/how-to-differentiate-between-an-average-and-a-good-programmer\/","url_meta":{"origin":10273,"position":2},"title":"How to differentiate between an Average and a Good Programmer?","author":"Paolo Redaelli","date":"2015-10-31","format":false,"excerpt":"\u00a0How to differentiate between an Average and a Good Programmer? \u00a0 Oh my! It's so true! javarevisited looks like a really good programming blog as I found gems like\u00ab10 Articles Every Programmer Must Read \u00bb among What Every Programmer Should Know about Memory What Every Computer Scientist Should Know About\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"Being a good programmer is 3% talent, 97% not being distracted by the Internet","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/10\/Being%2Ba%2BProgrammer.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":4639,"url":"https:\/\/monodes.com\/predaelli\/2018\/10\/13\/gcc-optimizing-everything\/","url_meta":{"origin":10273,"position":3},"title":"GCC: Optimizing Everything","author":"Paolo Redaelli","date":"2018-10-13","format":"link","excerpt":"Software is useless if computers can't run it. Even the most talented developer is at the mercy of the compiler when it comes to run-time performance - if you don\u2019t have a reliable compiler toolchain you can\u2019t build anything serious. The GNU Compiler Collection (GCC) provides a robust, mature and\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3689,"url":"https:\/\/monodes.com\/predaelli\/2018\/01\/22\/has-the-decades-old-floating-point-error-problem-been-solved-slashdot\/","url_meta":{"origin":10273,"position":4},"title":"Has the Decades-Old Floating Point Error Problem Been Solved? &#8211; Slashdot","author":"Paolo Redaelli","date":"2018-01-22","format":"link","excerpt":"Has the Decades-Old Floating Point Error Problem Been Solved? - Slashdot Every engineer worth this name will rejoyce if it comes out to be actually true. overheardinpdx quotes HPCwire: Wednesday a company called Bounded Floating Point announced a \"breakthrough patent in processor design, which allows representation of real numbers accurate\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8848,"url":"https:\/\/monodes.com\/predaelli\/2021\/10\/18\/not-deprecated\/","url_meta":{"origin":10273,"position":5},"title":"Not deprecated","author":"Paolo Redaelli","date":"2021-10-18","format":false,"excerpt":"\u00abIn Kotlin, loops are deprecated.\u00bb\u00a0 That's the title picked by Luc-Antoine Girardin. Of course they are not, in fact he starts the article with Well\u2026 That\u2019s not entirely true. It would not make sense to actually deprecate them as loops have been a part of programming for decades\u2026 They reality\u2026","rel":"","context":"In &quot;Tricks&quot;","block_context":{"text":"Tricks","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/tricks\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/10273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=10273"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/10273\/revisions"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=10273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=10273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=10273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}