User:Ganaram inukshuk/Code: Difference between revisions

Ganaram inukshuk (talk | contribs)
Added descriptions for a few programs I wrote, including links to their respective Github Gist pages.
Ganaram inukshuk (talk | contribs)
Added code link for JIRAF (short for JI ratio finder)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page is for xen-related programming projects that I've made but don't have an exact place on the wiki (yet).
This page is for xen-related programming projects that I've made but don't have an exact place on the wiki (yet).


== Mosfinder Program (C++) ==
== Mosfinder (C++) ==
I wrote a crude C++ program for finding all of the mosses for a given edo.
I wrote a crude C++ program for finding all of the mosses for a given edo.


Line 582: Line 582:
</syntaxhighlight>
</syntaxhighlight>


== Mosfinder Macro for Microsoft Excel (Visual Basic for Applications) ==
== Mosfinder (VBA) ==
Based on the C++ mosfinder and further experiments with copy-pasting tables from Excel and into the wiki editor, I ended up writing an Excel macro that's basically a port of the C++ mosfinder, with basic formatting for a table.
Based on the C++ mosfinder and further experiments with copy-pasting tables from Excel and into the wiki editor, I ended up writing an Excel macro that's basically a port of the C++ mosfinder, with basic formatting for a table. The latest version has two versions of the same macro where one skips step visualization and lists the steps as a list of numbers. This version was created due to concerns of larger edos' step visualizations being harder to copy and paste.


Source code: https://gist.github.com/GanaramInukshuk/f92db8c4d48484b51e389f79b0b7f18e
Source code (older version): https://gist.github.com/GanaramInukshuk/f92db8c4d48484b51e389f79b0b7f18e


Source code (newer version): https://gist.github.com/GanaramInukshuk/e18439e300dba0bb59bd0211ffbf2932
=== Example Tables ===
The following table was auto-generated by the macro and copypasted into the wiki editor. Additional formatting was required (such as designating cells to be header cells).
The following table was auto-generated by the macro and copypasted into the wiki editor. Additional formatting was required (such as designating cells to be header cells).
{| class="wikitable"
{| class="wikitable mw-collapsible"
! colspan="20" |Single-Period  Scales for 16 Equal Divisions
! colspan="20" |Single-Period  Scales for 16 Equal Divisions
|-
|-
Line 1,584: Line 1,587:
|
|
|}
|}
The following table was generated without step visualization. Again, this required additional formatting, mainly designating cells as header cells.
{| class="wikitable"
! colspan="5" |Single-Period Scales for 17 Equal Division of the Octave
|-
!Steps  for Generators 16\17 and 1\17
!Mos
!Step  Ratio
!TAMNAMS  Name
!Temperament
|-
|16 1
|1L 1s
|16:1
|
|
|-
|15 1 1
|1L 2s
|15:1
|
|
|-
|14 1 1 1
|1L 3s
|14:1
|
|
|-
|13 1 1 1 1
|1L 4s
|13:1
|
|
|-
|12 1 1 1 1 1
|1L 5s
|12:1
|
|
|-
|11 1 1 1 1 1 1
|1L 6s
|11:1
|
|
|-
|10 1 1 1 1 1 1 1
|1L 7s
|10:1
|
|
|-
|9 1 1 1 1 1 1 1 1
|1L 8s
|9:1
|
|
|-
|8 1 1 1 1 1 1 1 1 1
|1L 9s
|8:1
|
|
|-
|7 1 1 1 1 1 1 1 1 1 1
|1L 10s
|7:1
|
|
|-
|6 1 1 1 1 1 1 1 1 1 1 1
|1L 11s
|6:1
|
|
|-
|5 1 1 1 1 1 1 1 1 1 1 1 1
|1L 12s
|5:1
|
|
|-
|4 1 1 1 1 1 1 1 1 1 1 1 1 1
|1L 13s
|4:1
|
|
|-
|3 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|1L 14s
|3:1
|
|
|-
|2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|1L 15s
|2:1
|
|
|-
|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|17edo
|1
|
|
|-
!Steps for  Generators 15\17 and 2\17
!Mos
!Step Ratio
!TAMNAMS Name
!Temperament
|-
|15 2
|1L 1s
|15:2
|
|
|-
|13 2 2
|1L 2s
|13:2
|
|
|-
|11 2 2 2
|1L 3s
|11:2
|
|
|-
|9 2 2 2 2
|1L 4s
|9:2
|
|
|-
|7 2 2 2 2 2
|1L 5s
|7:2
|
|
|-
|5 2 2 2 2 2 2
|1L 6s
|5:2
|
|
|-
|3 2 2 2 2 2 2 2
|1L 7s
|3:2
|
|
|-
|1 2 2 2 2 2 2 2 2
|8L 1s
|2:1
|subneutralic
|
|-
|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|17edo
|1
|
|
|-
!Steps for  Generators 14\17 and 3\17
!Mos
!Step Ratio
!TAMNAMS Name
!Temperament
|-
|14 3
|1L 1s
|14:3
|
|
|-
|11 3 3
|1L 2s
|11:3
|
|
|-
|8 3 3 3
|1L 3s
|8:3
|
|
|-
|5 3 3 3 3
|1L 4s
|5:3
|
|
|-
|2 3 3 3 3 3
|5L 1s
|3:2
|machinoid
|
|-
|2 2 1 2 1 2 1 2 1 2 1
|6L 5s
|2:1
|
|
|-
|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|17edo
|1
|
|
|-
!Steps for  Generators 13\17 and 4\17
!Mos
!Step Ratio
!TAMNAMS Name
!Temperament
|-
|13 4
|1L 1s
|13:4
|
|
|-
|9 4 4
|1L 2s
|9:4
|
|
|-
|5 4 4 4
|1L 3s
|5:4
|
|
|-
|1 4 4 4 4
|4L 1s
|4:1
|manic
|
|-
|1 1 3 1 3 1 3 1 3
|4L 5s
|3:1
|orwelloid
|
|-
|1 1 1 2 1 1 2 1 1 2 1 1 2
|4L 9s
|2:1
|
|
|-
|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|17edo
|1
|
|
|-
!Steps for  Generators 12\17 and 5\17
!Mos
!Step Ratio
!TAMNAMS Name
!Temperament
|-
|12 5
|1L 1s
|12:5
|
|
|-
|7 5 5
|1L 2s
|7:5
|
|
|-
|2 5 5 5
|3L 1s
|5:2
|
|
|-
|2 2 3 2 3 2 3
|3L 4s
|3:2
|mosh
|
|-
|2 2 2 1 2 2 1 2 2 1
|7L 3s
|2:1
|dicotonic
|
|-
|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|17edo
|1
|
|
|-
!Steps for  Generators 11\17 and 6\17
!Mos
!Step Ratio
!TAMNAMS Name
!Temperament
|-
|11 6
|1L 1s
|11:6
|
|
|-
|5 6 6
|2L 1s
|6:5
|
|
|-
|5 5 1 5 1
|3L 2s
|5:1
|antipentic
|
|-
|4 1 4 1 1 4 1 1
|3L 5s
|4:1
|sensoid
|
|-
|3 1 1 3 1 1 1 3 1 1 1
|3L 8s
|3:1
|
|
|-
|2 1 1 1 2 1 1 1 1 2 1 1 1 1
|3L 11s
|2:1
|
|
|-
|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|17edo
|1
|
|
|-
!Steps for  Generators 10\17 and 7\17
!Mos
!Step Ratio
!TAMNAMS Name
!Temperament
|-
|10 7
|1L 1s
|10:7
|
|
|-
|3 7 7
|2L 1s
|7:3
|
|
|-
|3 3 4 3 4
|2L 3s
|4:3
|pentic
|
|-
|3 3 3 1 3 3 1
|5L 2s
|3:1
|diatonic
|
|-
|2 1 2 1 2 1 1 2 1 2 1 1
|5L 7s
|2:1
|p-chromatic
|
|-
|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|17edo
|1
|
|
|-
!Steps for  Generators 9\17 and 8\17
!Mos
!Step Ratio
!TAMNAMS Name
!Temperament
|-
|9 8
|1L 1s
|9:8
|
|
|-
|1 8 8
|2L 1s
|8:1
|
|
|-
|1 1 7 1 7
|2L 3s
|7:1
|pentic
|
|-
|1 1 1 6 1 1 6
|2L 5s
|6:1
|antidiatonic
|
|-
|1 1 1 1 5 1 1 1 5
|2L 7s
|5:1
|joanatonic
|
|-
|1 1 1 1 1 4 1 1 1 1 4
|2L 9s
|4:1
|
|
|-
|1 1 1 1 1 1 3 1 1 1 1 1 3
|2L 11s
|3:1
|
|
|-
|1 1 1 1 1 1 1 2 1 1 1 1 1 1 2
|2L 13s
|2:1
|
|
|-
|1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|17edo
|1
|
|
|}
== Moscalc ==
This is a program that finds a string representing a mos xL ys in its brightest mode, given only x and y.
Source code: https://gist.github.com/GanaramInukshuk/4f34eb7b113e8c735c266f8f8e45d865
Example output for 4-note to 13-note mosses:
4-note scales:
Lsss - 1L 3s
LsLs - 2L 2s
LLLs - 3L 1s
5-note scales:
Lssss - 1L 4s
LsLss - 2L 3s
LLsLs - 3L 2s
LLLLs - 4L 1s
6-note scales:
Lsssss - 1L 5s
LssLss - 2L 4s
LsLsLs - 3L 3s
LLsLLs - 4L 2s
LLLLLs - 5L 1s
7-note scales:
Lssssss - 1L 6s
LssLsss - 2L 5s
LsLsLss - 3L 4s
LLsLsLs - 4L 3s
LLLsLLs - 5L 2s
LLLLLLs - 6L 1s
8-note scales:
Lsssssss - 1L 7s
LsssLsss - 2L 6s
LsLssLss - 3L 5s
LsLsLsLs - 4L 4s
LLsLLsLs - 5L 3s
LLLsLLLs - 6L 2s
LLLLLLLs - 7L 1s
9-note scales:
Lssssssss - 1L 8s
LsssLssss - 2L 7s
LssLssLss - 3L 6s
LsLsLsLss - 4L 5s
LLsLsLsLs - 5L 4s
LLsLLsLLs - 6L 3s
LLLLsLLLs - 7L 2s
LLLLLLLLs - 8L 1s
10-note scales:
Lsssssssss - 1L 9s
LssssLssss - 2L 8s
LssLssLsss - 3L 7s
LsLssLsLss - 4L 6s
LsLsLsLsLs - 5L 5s
LLsLsLLsLs - 6L 4s
LLLsLLsLLs - 7L 3s
LLLLsLLLLs - 8L 2s
LLLLLLLLLs - 9L 1s
11-note scales:
Lssssssssss - 1L 10s
LssssLsssss - 2L 9s
LssLsssLsss - 3L 8s
LsLssLssLss - 4L 7s
LsLsLsLsLss - 5L 6s
LLsLsLsLsLs - 6L 5s
LLsLLsLLsLs - 7L 4s
LLLsLLLsLLs - 8L 3s
LLLLLsLLLLs - 9L 2s
LLLLLLLLLLs - 10L 1s
12-note scales:
Lsssssssssss - 1L 11s
LsssssLsssss - 2L 10s
LsssLsssLsss - 3L 9s
LssLssLssLss - 4L 8s
LsLsLssLsLss - 5L 7s
LsLsLsLsLsLs - 6L 6s
LLsLsLLsLsLs - 7L 5s
LLsLLsLLsLLs - 8L 4s
LLLsLLLsLLLs - 9L 3s
LLLLLsLLLLLs - 10L 2s
LLLLLLLLLLLs - 11L 1s
13-note scales:
Lssssssssssss - 1L 12s
LsssssLssssss - 2L 11s
LsssLsssLssss - 3L 10s
LssLssLssLsss - 4L 9s
LsLssLsLssLss - 5L 8s
LsLsLsLsLsLss - 6L 7s
LLsLsLsLsLsLs - 7L 6s
LLsLLsLsLLsLs - 8L 5s
LLLsLLsLLsLLs - 9L 4s
LLLLsLLLsLLLs - 10L 3s
LLLLLLsLLLLLs - 11L 2s
LLLLLLLLLLLLs - 12L 1s
== Moscalc and modecalc (Python) ==
This is a Python port of the aforementioned Moscalc program written in C++. This is accompanied by a Modecalc program that finds a scale's modes, the intervals for those modes, and the scale degrees for those modes.
Source code: https://gist.github.com/GanaramInukshuk/3b09f806573ecd90745d1d7fad11abdc
Example output for 3L 4s:
Scale modes sorted by modal brightness:
----------  ---  ------  ------  ------  ------  ------  ------  ------  ------
Modestring  UDP  0-step  1-step  2-step  3-step  4-step  5-step  6-step  7-step
LsLsLss    0|6  0      L      L+s    2L+s    2L+2s  3L+2s  3L+3s  3L+4s
LsLssLs    1|5  0      L      L+s    2L+s    2L+2s  2L+3s  3L+3s  3L+4s
LssLsLs    2|4  0      L      L+s    L+2s    2L+2s  2L+3s  3L+3s  3L+4s
sLsLsLs    3|3  0      s      L+s    L+2s    2L+2s  2L+3s  3L+3s  3L+4s
sLsLssL    4|2  0      s      L+s    L+2s    2L+2s  2L+3s  2L+4s  3L+4s
sLssLsL    5|1  0      s      L+s    L+2s    L+3s    2L+3s  2L+4s  3L+4s
ssLsLsL    6|0  0      s      2s      L+2s    L+3s    2L+3s  2L+4s  3L+4s
----------  ---  ------  ------  ------  ------  ------  ------  ------  ------
Scale modes sorted by cyclic permutational order (starting at brightest mode):
----------  ---  ------  ------  ------  ------  ------  ------  ------  ------
Modestring  CPO  0-step  1-step  2-step  3-step  4-step  5-step  6-step  7-step
LsLsLss    0    0      L      L+s    2L+s    2L+2s  3L+2s  3L+3s  3L+4s
sLsLssL    1    0      s      L+s    L+2s    2L+2s  2L+3s  2L+4s  3L+4s
LsLssLs    2    0      L      L+s    2L+s    2L+2s  2L+3s  3L+3s  3L+4s
sLssLsL    3    0      s      L+s    L+2s    L+3s    2L+3s  2L+4s  3L+4s
LssLsLs    4    0      L      L+s    L+2s    2L+2s  2L+3s  3L+3s  3L+4s
ssLsLsL    5    0      s      2s      L+2s    L+3s    2L+3s  2L+4s  3L+4s
sLsLsLs    6    0      s      L+s    L+2s    2L+2s  2L+3s  3L+3s  3L+4s
----------  ---  ------  ------  ------  ------  ------  ------  ------  ------
Scale degrees for each mode (modes sorted by modal brightness):
----------  ---  -----  -----  -----  -----  -----  -----  -----  -----
Modestring  UDP  0-deg  1-deg  2-deg  3-deg  4-deg  5-deg  6-deg  7-deg
LsLsLss    0|6  0      1      1      1      1      1      1      0
LsLssLs    1|5  0      1      1      1      1      0      1      0
LssLsLs    2|4  0      1      1      0      1      0      1      0
sLsLsLs    3|3  0      0      1      0      1      0      1      0
sLsLssL    4|2  0      0      1      0      1      0      0      0
sLssLsL    5|1  0      0      1      0      0      0      0      0
ssLsLsL    6|0  0      0      0      0      0      0      0      0
----------  ---  -----  -----  -----  -----  -----  -----  -----  -----
Scale degrees for each mode (modes sorted by cyclic permutational order):
----------  ---  -----  -----  -----  -----  -----  -----  -----  -----
Modestring  CPO  0-deg  1-deg  2-deg  3-deg  4-deg  5-deg  6-deg  7-deg
LsLsLss    0    0      1      1      1      1      1      1      0
sLsLssL    1    0      0      1      0      1      0      0      0
LsLssLs    2    0      1      1      1      1      0      1      0
sLssLsL    3    0      0      1      0      0      0      0      0
LssLsLs    4    0      1      1      0      1      0      1      0
ssLsLsL    5    0      0      0      0      0      0      0      0
sLsLsLs    6    0      0      1      0      1      0      1      0
----------  ---  -----  -----  -----  -----  -----  -----  -----  -----
Instructions for how to read the output:
* A scale's modes are rotations of a scale, represented as a string. These are sorted in two different ways: modal brightness and cyclic permutational order.
* A scale's intervals are a substring of a mode's scalestring. Since the order of steps doesn't matter in an interval, the sum of steps is shown in the table instead.
* Scale degrees are generally described with terms such as major, minor, augmented, diminished, and perfect. Here, they're enumerated in decreasing order based on size, where larger enumerations denote larger intervals (and therefore larger scale degrees). Perfect intervals, such as the unison and octave, always appear as one size each, and so their scale degrees are always perfect. The other scale degrees that are described as perfect come from the generating intervals (such as the perfect 5th and perfect 4th); these usually apply for moment-of-symmetry scales. A perfect 5th is described as perfect because it appears as that size in all but one mode (the locrian mode, where it's a diminished 5th instead), and a perfect 4th is described as perfect because it appears as that size in all but one mode (then lydian mode, where it's an augmented 4th instead).
* Intervals and scale degrees are enumerated starting at 0 rather than 1.
=== Update (Nov 2022) ===
There is now an option to output a mos table as one consolidated table using the MosModecalcOnetable() function. Note that MosModecalc() can output this as two separate tables (one for mossteps and one for mosdegrees). Example output below (may be too wide on some screens).<syntaxhighlight>
Mode    UDP    Mode name      Rotational order  smiunison (0-smidegree)    1-smistep (1-smidegree)    2-smistep (2-smidegree)    3-smistep (3-smidegree)    4-smistep (4-smidegree)    5-smistep (5-smidegree)    6-smistep (6-smidegree)    smioctave (7-smidegree)
-------  -----  -----------  ------------------  -------------------------  -------------------------  -------------------------  -------------------------  -------------------------  -------------------------  -------------------------  -------------------------
LLsLsLs  6|0    Mode 1                        0  0 (perfect)                L (major)                  2L (augmented)            2L+s (major)              3L+s (major)              3L+2s (perfect)            4L+2s (major)              4L+3s (perfect)
LsLLsLs  5|1    Mode 2                        5  0 (perfect)                L (major)                  L+s (perfect)              2L+s (major)              3L+s (major)              3L+2s (perfect)            4L+2s (major)              4L+3s (perfect)
LsLsLLs  4|2    Mode 3                        3  0 (perfect)                L (major)                  L+s (perfect)              2L+s (major)              2L+2s (minor)              3L+2s (perfect)            4L+2s (major)              4L+3s (perfect)
LsLsLsL  3|3    Mode 4                        1  0 (perfect)                L (major)                  L+s (perfect)              2L+s (major)              2L+2s (minor)              3L+2s (perfect)            3L+3s (minor)              4L+3s (perfect)
sLLsLsL  2|4    Mode 5                        6  0 (perfect)                s (minor)                  L+s (perfect)              2L+s (major)              2L+2s (minor)              3L+2s (perfect)            3L+3s (minor)              4L+3s (perfect)
sLsLLsL  1|5    Mode 6                        4  0 (perfect)                s (minor)                  L+s (perfect)              L+2s (minor)              2L+2s (minor)              3L+2s (perfect)            3L+3s (minor)              4L+3s (perfect)
sLsLsLL  0|6    Mode 7                        2  0 (perfect)                s (minor)                  L+s (perfect)              L+2s (minor)              2L+2s (minor)              2L+3s (diminished)        3L+3s (minor)              4L+3s (perfect)
</syntaxhighlight>The same output can be formatted as a wikitable. Other table features (such as sorting) may require additional edits.
{| class="wikitable sortable" style="text-align: left;"
|+Modes of 4L 3s (smitonic)
|-
! Mode    !! UDP                  !! Mode name  !! align="right"|  Rotational order !! smiunison (0-smidegree)  !! 1-smistep (1-smidegree)  !! 2-smistep (2-smidegree)  !! 3-smistep (3-smidegree)  !! 4-smistep (4-smidegree)  !! 5-smistep (5-smidegree)  !! 6-smistep (6-smidegree)  !! smioctave (7-smidegree)
|-
| LLsLsLs || 6<nowiki>|</nowiki>0 || nerevarine  || align="right"|                  0 || 0 (perfect)              || L (major)                || 2L (augmented)            || 2L+s (major)              || 3L+s (major)              || 3L+2s (perfect)          || 4L+2s (major)            || 4L+3s (perfect)
|-
| LsLLsLs || 5<nowiki>|</nowiki>1 || vivecan    || align="right"|                  5 || 0 (perfect)              || L (major)                || L+s (perfect)            || 2L+s (major)              || 3L+s (major)              || 3L+2s (perfect)          || 4L+2s (major)            || 4L+3s (perfect)
|-
| LsLsLLs || 4<nowiki>|</nowiki>2 || lorkhanic  || align="right"|                  3 || 0 (perfect)              || L (major)                || L+s (perfect)            || 2L+s (major)              || 2L+2s (minor)            || 3L+2s (perfect)          || 4L+2s (major)            || 4L+3s (perfect)
|-
| LsLsLsL || 3<nowiki>|</nowiki>3 || sothic      || align="right"|                  1 || 0 (perfect)              || L (major)                || L+s (perfect)            || 2L+s (major)              || 2L+2s (minor)            || 3L+2s (perfect)          || 3L+3s (minor)            || 4L+3s (perfect)
|-
| sLLsLsL || 2<nowiki>|</nowiki>4 || kagrenacan  || align="right"|                  6 || 0 (perfect)              || s (minor)                || L+s (perfect)            || 2L+s (major)              || 2L+2s (minor)            || 3L+2s (perfect)          || 3L+3s (minor)            || 4L+3s (perfect)
|-
| sLsLLsL || 1<nowiki>|</nowiki>5 || almalexian  || align="right"|                  4 || 0 (perfect)              || s (minor)                || L+s (perfect)            || L+2s (minor)              || 2L+2s (minor)            || 3L+2s (perfect)          || 3L+3s (minor)            || 4L+3s (perfect)
|-
| sLsLsLL || 0<nowiki>|</nowiki>6 || dagothic    || align="right"|                  2 || 0 (perfect)              || s (minor)                || L+s (perfect)            || L+2s (minor)              || 2L+2s (minor)            || 2L+3s (diminished)        || 3L+3s (minor)            || 4L+3s (perfect)
|}
== JIRAF (C++) ==
JI ratio finder, possibly reverse-engineered from other already-existing algorithms.
Source code: https://gist.github.com/GanaramInukshuk/b010ff8c29cd03c13b84f1b504efce62<syntaxhighlight line="1">
Approximated ratios for 1\16 (75c):
19/18 = 93.6031
20/19 = 88.8008
Approximated ratios for 2\16 (150c):
11/10 = 165.004
12/11 = 150.637
13/12 = 138.573
Approximated ratios for 3\16 (225c):
8/7 = 231.174
17/15 = 216.687
Approximated ratios for 4\16 (300c):
6/5 = 315.641
13/11 = 289.21
19/16 = 297.513
20/17 = 281.358
Approximated ratios for 5\16 (375c):
5/4 = 386.314
16/13 = 359.472
Approximated ratios for 6\16 (450c):
9/7 = 435.084
13/10 = 454.214
17/13 = 464.428
Approximated ratios for 7\16 (525c):
15/11 = 536.951
19/14 = 528.687
Approximated ratios for 8\16 (600c):
7/5 = 582.512
10/7 = 617.488
17/12 = 603
Approximated ratios for 9\16 (675c):
19/13 = 656.985
Approximated ratios for 10\16 (750c):
14/9 = 764.916
17/11 = 753.637
20/13 = 745.786
Approximated ratios for 11\16 (825c):
8/5 = 813.686
13/8 = 840.528
Approximated ratios for 12\16 (900c):
5/3 = 884.359
17/10 = 918.642
Approximated ratios for 13\16 (975c):
7/4 = 968.826
Approximated ratios for 14\16 (1050c):
11/6 = 1049.36
20/11 = 1035
Approximated ratios for 15\16 (1125c):
19/10 = 1111.2
End of program reached.
</syntaxhighlight>