{ "source": "JSON", "data": "BLOCK", "version": "0.0.1", "type": "modulus", "language": "javascript", "extension": "webaudio", "help": "Modulus Operation (%)", "label": "Modulus", "color": "200:200:25:150", "group": "Arithmetics", "codes": { "onload": "\n\n", "declaration": "\nvar dividend$id$ = 0.0;\nvar divisor$id$ = 1.0;\n \nvar $port[rest]$ = [];\n\nfunction modulus$id$() {\n if (divisor$id$ === 0.0) {\n divisor$id$ = 1.0;\n }\n \n var rest = dividend$id$ % divisor$id$;\n for (var i = 0; i < $port[rest]$.length ; i++){\n $port[rest]$[i](rest);\n }\n \n return true;\n}\n\nvar $port[dividend]$ = function(value){\n dividend$id$ = Math.round(value);\n modulus$id$();\n return true;\n};\n\nvar $port[divisor]$ = function(value){\n divisor$id$ = Math.round(value);\n modulus$id$();\n return true;\n};\n", "execution": "\n\n" }, "properties": [], "ports": [ { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "dividend", "label": "Dividend", "conn_type": "Input" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "divisor", "label": "Divisor", "conn_type": "Input" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "rest", "label": "Rest", "conn_type": "Output" } ] }