Monicelli: esoterical programming via “supercazzole”

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 ;)

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 in avanti.

blinda la supercazzola Sassaroli composta con l'amico Sassaroli, il cugino Perozzi o scherziamo?
vaffanzum cugino più amico!

Lei ha clacsonato, bituma? Si? Allora è pronta?? Vediamo che cosa le serve?

voglio un campionamento, Sassaroli come se fosse 2 con scappellamento a destra per 1
bituma lo capisci perchè è digitale? Perchè c'è il 2? Lasciamo perdere va...
mi porga il campionamento bituma e andiamo avanti
bituma? Si dia una mossa... Forse se avessi un po di tempo... Le serve più tempo?
voglio il tempo, Perozzi mi porga il tempo
bituma, controlli la stabilità. Mai sentito parlare di Lyapunov?
voglio stabilita, Sassaroli come se fosse 1 meno campionamento diviso tempo
che cos'è la stabilita?
minore di -1:
 vaffanzum 0!
o magari maggiore di 1:
 vaffanzum 0!
e velocità di esecuzione
bituma lei mi stupisce! il filtro digitale sembra stabile... abbiamo bisogno di un input adesso
voglio un input, Perozzi mi porga l'input
bituma vogliamo inizializzare l'uscita così vediamo l'evoluzione o no?
voglio un output, Sassaroli
output come se fosse un input per 0 diviso 2
bituma quanti step simuliamo? quante iterazioni?
voglio l'iterazia, Sassaroli come se fosse tempo per 4
stuzzica
bituma sempre per capire che succede. Ad esempio
output a posterdati bituma è sempre comodo. Invece
l'iterazia come se fosse iterazia meno campionamento
bituma infine sistemiamo
l'output come se fosse brematurata la supercazzola composta con stabilita per output, input per campionamento diviso tempo o scherziamo?
e brematura anche, se iterazia maggiore di 0
voglio capire, Necchi come se fosse 0 con scappellamento a sinistra per 3
vaffanzum capire!
bituma complimenti!
The resulting C++ code:

#include <iostream>

double composta(double amico, float cugino);

double composta(double amico, float cugino) {
 return cugino + amico;
}

int main() {
 double campionamento = 2 >> 1;
 std::cout << "campionamento? ";
 std::cin >> campionamento;
 float tempo;
 std::cout << "tempo? ";
 std::cin >> tempo;
 double stabilita = 1 - campionamento / tempo;
 if (stabilita < -1) {
 return 0;
 } else if (stabilita > 1) {
 return 0;
 };
 float input;
 std::cout << "input? ";
 std::cin >> input;
 double output;
 output = input * 0 / 2;
 double iterazia = tempo * 4;
 do {
 std::cout << output << std::endl;
 iterazia = iterazia - campionamento;
 output = composta(stabilita * output, input * campionamento / tempo);
 } while (iterazia > 0);
 int capire = 0 << 3;
 return capire;
}
which yields to the following execution:

campionamento? 1
tempo? 2
input? 3
0
1.5
2.25
2.625
2.8125
2.90625
2.95312
2.97656

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.