{"id":578,"date":"2015-01-18T01:44:05","date_gmt":"2015-01-18T00:44:05","guid":{"rendered":"http:\/\/www.moosth.net\/calabrothers\/?p=578"},"modified":"2015-05-09T00:03:36","modified_gmt":"2015-05-08T22:03:36","slug":"monicelli-esoterical-programming-via-supercazzole","status":"publish","type":"post","link":"https:\/\/www.moosth.net\/calabrothers\/monicelli-esoterical-programming-via-supercazzole\/","title":{"rendered":"Monicelli: esoterical programming via &#8220;supercazzole&#8221;"},"content":{"rendered":"<pre>I could not resist to the temptation to try such interesting programming language.\r\nEnjoy the following code, it is a mysterious way to show how a digital filter works ;)\r\n\r\nFor more info:\r\n\r\n<a title=\"Monicelli @ GitHub\" href=\"https:\/\/github.com\/esseks\/monicelli\">https:\/\/github.com\/esseks\/monicelli<\/a>\r\n<\/pre>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nbituma progettiamo un filtro passa basso digitale del primo ordine con guadagno unitario e costante di tempo specificata discretizzato con Eulero in avanti.\r\n\r\nblinda la supercazzola Sassaroli composta con l'amico Sassaroli, il cugino Perozzi o scherziamo?\r\nvaffanzum cugino pi\u00f9 amico!\r\n\r\nLei ha clacsonato, bituma? Si? Allora \u00e8 pronta?? Vediamo che cosa le serve?\r\n\r\nvoglio un campionamento, Sassaroli come se fosse 2 con scappellamento a destra per 1\r\nbituma lo capisci perch\u00e8 \u00e8 digitale? Perch\u00e8 c'\u00e8 il 2? Lasciamo perdere va...\r\nmi porga il campionamento bituma e andiamo avanti\r\nbituma? Si dia una mossa... Forse se avessi un po di tempo... Le serve pi\u00f9 tempo?\r\nvoglio il tempo, Perozzi mi porga il tempo\r\nbituma, controlli la stabilit\u00e0. Mai sentito parlare di Lyapunov?\r\nvoglio stabilita, Sassaroli come se fosse 1 meno campionamento diviso tempo\r\nche cos'\u00e8 la stabilita?\r\nminore di -1:\r\n vaffanzum 0!\r\no magari maggiore di 1:\r\n vaffanzum 0!\r\ne velocit\u00e0 di esecuzione\r\nbituma lei mi stupisce! il filtro digitale sembra stabile... abbiamo bisogno di un input adesso\r\nvoglio un input, Perozzi mi porga l'input\r\nbituma vogliamo inizializzare l'uscita cos\u00ec vediamo l'evoluzione o no?\r\nvoglio un output, Sassaroli\r\noutput come se fosse un input per 0 diviso 2\r\nbituma quanti step simuliamo? quante iterazioni?\r\nvoglio l'iterazia, Sassaroli come se fosse tempo per 4\r\nstuzzica\r\nbituma sempre per capire che succede. Ad esempio\r\noutput a posterdati bituma \u00e8 sempre comodo. Invece\r\nl'iterazia come se fosse iterazia meno campionamento\r\nbituma infine sistemiamo\r\nl'output come se fosse brematurata la supercazzola composta con stabilita per output, input per campionamento diviso tempo o scherziamo?\r\ne brematura anche, se iterazia maggiore di 0\r\nvoglio capire, Necchi come se fosse 0 con scappellamento a sinistra per 3\r\nvaffanzum capire!\r\nbituma complimenti!\r\n<\/pre>\n<pre>\r\nThe resulting C++ code:\r\n\r\n<\/pre>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;iostream&gt;\r\n\r\ndouble composta(double amico, float cugino);\r\n\r\ndouble composta(double amico, float cugino) {\r\n return cugino + amico;\r\n}\r\n\r\nint main() {\r\n double campionamento = 2 &gt;&gt; 1;\r\n std::cout &lt;&lt; &quot;campionamento? &quot;;\r\n std::cin &gt;&gt; campionamento;\r\n float tempo;\r\n std::cout &lt;&lt; &quot;tempo? &quot;;\r\n std::cin &gt;&gt; tempo;\r\n double stabilita = 1 - campionamento \/ tempo;\r\n if (stabilita &lt; -1) {\r\n return 0;\r\n } else if (stabilita &gt; 1) {\r\n return 0;\r\n };\r\n float input;\r\n std::cout &lt;&lt; &quot;input? &quot;;\r\n std::cin &gt;&gt; input;\r\n double output;\r\n output = input * 0 \/ 2;\r\n double iterazia = tempo * 4;\r\n do {\r\n std::cout &lt;&lt; output &lt;&lt; std::endl;\r\n iterazia = iterazia - campionamento;\r\n output = composta(stabilita * output, input * campionamento \/ tempo);\r\n } while (iterazia &gt; 0);\r\n int capire = 0 &lt;&lt; 3;\r\n return capire;\r\n}\r\n<\/pre>\n<pre>\r\nwhich yields to the following execution:\r\n\r\n<\/pre>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\ncampionamento? 1\r\ntempo? 2\r\ninput? 3\r\n0\r\n1.5\r\n2.25\r\n2.625\r\n2.8125\r\n2.90625\r\n2.95312\r\n2.97656\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>I could not resist to the temptation to try such interesting programming language. Enjoy the following code, it is a mysterious way to show how a digital filter works \ud83d\ude09 For more info: https:\/\/github.com\/esseks\/monicelli bituma progettiamo un filtro passa basso digitale del primo ordine con guadagno unitario e costante di tempo specificata discretizzato con Eulero [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":623,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"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},"jetpack_post_was_ever_published":false},"categories":[20],"tags":[],"class_list":["post-578","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3QYke-9k","jetpack_featured_media_url":"https:\/\/www.moosth.net\/calabrothers\/wp-content\/uploads\/2015\/01\/mascetti_vigile.jpg","_links":{"self":[{"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/posts\/578","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/comments?post=578"}],"version-history":[{"count":6,"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/posts\/578\/revisions"}],"predecessor-version":[{"id":624,"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/posts\/578\/revisions\/624"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/media\/623"}],"wp:attachment":[{"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/media?parent=578"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/categories?post=578"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.moosth.net\/calabrothers\/wp-json\/wp\/v2\/tags?post=578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}