Warning, /frameworks/syntax-highlighting/autotests/reference/highlight.tig.ref is written in an unsupported language. File is not indexed.

0001 <Comment>/* Mandelbrot integer demo</Comment><br/>
0002 <Comment> * Released under the MIT License</Comment><br/>
0003 <Comment> */</Comment><br/>
0004 <Normal Text></Normal Text><br/>
0005 <Keyword>let</Keyword><br/>
0006 <Normal Text>  </Normal Text><Comment>/* Basic types.  */</Comment><br/>
0007 <Normal Text>  </Normal Text><Keyword>type</Keyword><Normal Text> bool </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Type>int</Type><br/>
0008 <Normal Text>  </Normal Text><Keyword>type</Keyword><Normal Text> coord </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Type>int</Type><br/>
0009 <Normal Text>  </Normal Text><Keyword>type</Keyword><Normal Text> value </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Type>int</Type><br/>
0010 <Normal Text>  </Normal Text><Keyword>type</Keyword><Normal Text> array2d </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Keyword>array</Keyword><Normal Text> </Normal Text><Keyword>of</Keyword><Normal Text> value</Normal Text><br/>
0011 <Normal Text>  </Normal Text><Keyword>type</Keyword><Normal Text> image2d </Normal Text><Symbol>=</Symbol><Normal Text> { nrows </Normal Text><Symbol>:</Symbol><Normal Text> coord</Normal Text><Symbol>,</Symbol><Normal Text> ncols </Normal Text><Symbol>:</Symbol><Normal Text> coord</Normal Text><Symbol>,</Symbol><Normal Text> data </Normal Text><Symbol>:</Symbol><Normal Text> array2d }</Normal Text><br/>
0012 <Normal Text></Normal Text><br/>
0013 <Normal Text>  </Normal Text><Comment>/* Image creation.  */</Comment><br/>
0014 <Normal Text>  </Normal Text><Keyword>function</Keyword><Normal Text> image_new (ncols </Normal Text><Symbol>:</Symbol><Normal Text> coord</Normal Text><Symbol>,</Symbol><Normal Text> nrows </Normal Text><Symbol>:</Symbol><Normal Text> coord) </Normal Text><Symbol>:</Symbol><Normal Text> image2d </Normal Text><Symbol>=</Symbol><br/>
0015 <Normal Text>    image2d { nrows </Normal Text><Symbol>=</Symbol><Normal Text> nrows</Normal Text><Symbol>,</Symbol><Normal Text> ncols </Normal Text><Symbol>=</Symbol><Normal Text> ncols</Normal Text><Symbol>,</Symbol><br/>
0016 <Normal Text>         data </Normal Text><Symbol>=</Symbol><Normal Text> array2d[nrows </Normal Text><Symbol>*</Symbol><Normal Text> ncols] </Normal Text><Keyword>of</Keyword><Normal Text> </Normal Text><Decimal>0</Decimal><Normal Text> }</Normal Text><br/>
0017 <Normal Text></Normal Text><br/>
0018 <Normal Text>  </Normal Text><Keyword>function</Keyword><Normal Text> image_set (input </Normal Text><Symbol>:</Symbol><Normal Text> image2d</Normal Text><Symbol>,</Symbol><Normal Text> col </Normal Text><Symbol>:</Symbol><Normal Text> coord</Normal Text><Symbol>,</Symbol><Normal Text> row </Normal Text><Symbol>:</Symbol><Normal Text> coord</Normal Text><Symbol>,</Symbol><br/>
0019 <Normal Text>                 value </Normal Text><Symbol>:</Symbol><Normal Text> value) </Normal Text><Symbol>=</Symbol><br/>
0020 <Normal Text>    (</Normal Text><br/>
0021 <Normal Text>      input</Normal Text><Symbol>.</Symbol><Normal Text>data[row </Normal Text><Symbol>*</Symbol><Normal Text> input</Normal Text><Symbol>.</Symbol><Normal Text>ncols </Normal Text><Symbol>+</Symbol><Normal Text> col] </Normal Text><Symbol>:=</Symbol><Normal Text> value</Normal Text><br/>
0022 <Normal Text>    )</Normal Text><br/>
0023 <Normal Text></Normal Text><br/>
0024 <Normal Text>  </Normal Text><Keyword>function</Keyword><Normal Text> mandelbrot () </Normal Text><Symbol>=</Symbol><br/>
0025 <Normal Text>    </Normal Text><Keyword>let</Keyword><br/>
0026 <Normal Text>      </Normal Text><Keyword>type</Keyword><Normal Text> fp </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Type>int</Type><br/>
0027 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> X </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Type>int</Type><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>300</Decimal><br/>
0028 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> Y </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Type>int</Type><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>300</Decimal><br/>
0029 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> ima </Normal Text><Symbol>:</Symbol><Normal Text> image2d </Normal Text><Symbol>:=</Symbol><Normal Text> image_new (X</Normal Text><Symbol>,</Symbol><Normal Text> Y)</Normal Text><br/>
0030 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> fixsize</Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Type>int</Type><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>16834</Decimal><br/>
0031 <Normal Text></Normal Text><br/>
0032 <Normal Text>      </Normal Text><Keyword>function</Keyword><Normal Text> mul(a </Normal Text><Symbol>:</Symbol><Normal Text> fp</Normal Text><Symbol>,</Symbol><Normal Text> b </Normal Text><Symbol>:</Symbol><Normal Text> fp) </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>=</Symbol><Normal Text> (a</Normal Text><Symbol>*</Symbol><Normal Text>b)</Normal Text><Symbol>/</Symbol><Normal Text>fixsize</Normal Text><br/>
0033 <Normal Text>      </Normal Text><Keyword>function</Keyword><Normal Text> frac(n </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Type>int</Type><Symbol>,</Symbol><Normal Text> d </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Type>int</Type><Normal Text>) </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>=</Symbol><Normal Text> (n</Normal Text><Symbol>*</Symbol><Normal Text>fixsize)</Normal Text><Symbol>/</Symbol><Normal Text>d</Normal Text><br/>
0034 <Normal Text></Normal Text><br/>
0035 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> xcenter </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> frac(</Normal Text><Decimal>0016</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10000</Decimal><Normal Text>)</Normal Text><br/>
0036 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> ycenter </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> frac(</Normal Text><Decimal>8224</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Decimal>10000</Decimal><Normal Text>)</Normal Text><br/>
0037 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> xmin </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> xcenter </Normal Text><Symbol>-</Symbol><Normal Text> frac(</Normal Text><Decimal>5</Decimal><Symbol>,</Symbol><Decimal>100</Decimal><Normal Text>)</Normal Text><br/>
0038 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> ymin </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> ycenter </Normal Text><Symbol>-</Symbol><Normal Text> frac(</Normal Text><Decimal>5</Decimal><Symbol>,</Symbol><Decimal>100</Decimal><Normal Text>)</Normal Text><br/>
0039 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> xmax </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> xcenter </Normal Text><Symbol>+</Symbol><Normal Text> frac(</Normal Text><Decimal>5</Decimal><Symbol>,</Symbol><Decimal>100</Decimal><Normal Text>)</Normal Text><br/>
0040 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> ymax </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> ycenter </Normal Text><Symbol>+</Symbol><Normal Text> frac(</Normal Text><Decimal>5</Decimal><Symbol>,</Symbol><Decimal>100</Decimal><Normal Text>)</Normal Text><br/>
0041 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> xs   </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> (xmax </Normal Text><Symbol>-</Symbol><Normal Text> xmin)</Normal Text><Symbol>/</Symbol><Normal Text>X</Normal Text><br/>
0042 <Normal Text>      </Normal Text><Keyword>var</Keyword><Normal Text> ys   </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> (ymax </Normal Text><Symbol>-</Symbol><Normal Text> ymin)</Normal Text><Symbol>/</Symbol><Normal Text>Y</Normal Text><br/>
0043 <Normal Text></Normal Text><br/>
0044 <Normal Text>    </Normal Text><Keyword>function</Keyword><Normal Text> iterations(x</Normal Text><Symbol>:</Symbol><Type>int</Type><Symbol>,</Symbol><Normal Text> y</Normal Text><Symbol>:</Symbol><Type>int</Type><Normal Text>) </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Type>int</Type><Normal Text> </Normal Text><Symbol>=</Symbol><br/>
0045 <Normal Text>    </Normal Text><Keyword>let</Keyword><br/>
0046 <Normal Text>        </Normal Text><Keyword>var</Keyword><Normal Text> i </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Type>int</Type><Normal Text> </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><br/>
0047 <Normal Text>        </Normal Text><Keyword>var</Keyword><Normal Text> p </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> xmin</Normal Text><Symbol>+</Symbol><Normal Text>x</Normal Text><Symbol>*</Symbol><Normal Text>xs</Normal Text><br/>
0048 <Normal Text>        </Normal Text><Keyword>var</Keyword><Normal Text> q </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> ymin</Normal Text><Symbol>+</Symbol><Normal Text>y</Normal Text><Symbol>*</Symbol><Normal Text>ys</Normal Text><br/>
0049 <Normal Text>        </Normal Text><Keyword>var</Keyword><Normal Text> x0 </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><br/>
0050 <Normal Text>        </Normal Text><Keyword>var</Keyword><Normal Text> y0 </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><br/>
0051 <Normal Text>        </Normal Text><Keyword>var</Keyword><Normal Text> xn </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><br/>
0052 <Normal Text>        </Normal Text><Keyword>var</Keyword><Normal Text> four </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> frac(</Normal Text><Decimal>4</Decimal><Symbol>,</Symbol><Decimal>1</Decimal><Normal Text>)</Normal Text><br/>
0053 <Normal Text>        </Normal Text><Keyword>var</Keyword><Normal Text> two  </Normal Text><Symbol>:</Symbol><Normal Text> fp </Normal Text><Symbol>:=</Symbol><Normal Text> frac(</Normal Text><Decimal>2</Decimal><Symbol>,</Symbol><Decimal>1</Decimal><Normal Text>)</Normal Text><br/>
0054 <Normal Text>    </Normal Text><Keyword>in</Keyword><br/>
0055 <Normal Text>        </Normal Text><ControlFlow>while</ControlFlow><Normal Text> (mul(xn</Normal Text><Symbol>,</Symbol><Normal Text>xn)</Normal Text><Symbol>+</Symbol><Normal Text>mul(y0</Normal Text><Symbol>,</Symbol><Normal Text>y0) </Normal Text><Symbol><</Symbol><Normal Text> four) </Normal Text><Symbol>&</Symbol><Normal Text> (i </Normal Text><Symbol><</Symbol><Normal Text> </Normal Text><Decimal>256</Decimal><Normal Text>) </Normal Text><ControlFlow>do</ControlFlow><br/>
0056 <Normal Text>        (</Normal Text><br/>
0057 <Normal Text>            i  </Normal Text><Symbol>:=</Symbol><Normal Text> i </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Decimal>1</Decimal><Symbol>;</Symbol><br/>
0058 <Normal Text>            xn </Normal Text><Symbol>:=</Symbol><Normal Text> mul((x0</Normal Text><Symbol>+</Symbol><Normal Text>y0)</Normal Text><Symbol>,</Symbol><Normal Text>(x0</Normal Text><Symbol>-</Symbol><Normal Text>y0)) </Normal Text><Symbol>+</Symbol><Normal Text> p</Normal Text><Symbol>;</Symbol><br/>
0059 <Normal Text>            y0 </Normal Text><Symbol>:=</Symbol><Normal Text> mul(two</Normal Text><Symbol>,</Symbol><Normal Text>mul(x0</Normal Text><Symbol>,</Symbol><Normal Text>y0)) </Normal Text><Symbol>+</Symbol><Normal Text> q</Normal Text><Symbol>;</Symbol><br/>
0060 <Normal Text>            x0 </Normal Text><Symbol>:=</Symbol><Normal Text> xn</Normal Text><br/>
0061 <Normal Text>        )</Normal Text><Symbol>;</Symbol><br/>
0062 <Normal Text>        i</Normal Text><br/>
0063 <Normal Text>    </Normal Text><Keyword>end</Keyword><br/>
0064 <Normal Text></Normal Text><br/>
0065 <Normal Text>    </Normal Text><Keyword>in</Keyword><br/>
0066 <Normal Text></Normal Text><br/>
0067 <Normal Text>    (</Normal Text><ControlFlow>for</ControlFlow><Normal Text> y </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><Normal Text> </Normal Text><ControlFlow>to</ControlFlow><Normal Text> (Y</Normal Text><Symbol>-</Symbol><Decimal>1</Decimal><Normal Text>) </Normal Text><ControlFlow>do</ControlFlow><br/>
0068 <Normal Text>        </Normal Text><ControlFlow>for</ControlFlow><Normal Text> x </Normal Text><Symbol>:=</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><Normal Text> </Normal Text><ControlFlow>to</ControlFlow><Normal Text> (X</Normal Text><Symbol>-</Symbol><Decimal>1</Decimal><Normal Text>) </Normal Text><ControlFlow>do</ControlFlow><br/>
0069 <Normal Text>            </Normal Text><Keyword>let</Keyword><br/>
0070 <Normal Text>                </Normal Text><Keyword>var</Keyword><Normal Text> i </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Type>int</Type><Normal Text>  </Normal Text><Symbol>:=</Symbol><Normal Text> iterations(x</Normal Text><Symbol>,</Symbol><Normal Text>y)</Normal Text><br/>
0071 <Normal Text>             </Normal Text><Keyword>in</Keyword><br/>
0072 <Normal Text>                image_set (ima</Normal Text><Symbol>,</Symbol><Normal Text> x</Normal Text><Symbol>,</Symbol><Normal Text> y</Normal Text><Symbol>,</Symbol><Normal Text> i)</Normal Text><br/>
0073 <Normal Text>             </Normal Text><Keyword>end</Keyword><Normal Text>)</Normal Text><Symbol>;</Symbol><br/>
0074 <Normal Text>    </Normal Text><Keyword>end</Keyword><br/>
0075 <Keyword>in</Keyword><br/>
0076 <Normal Text>    </Normal Text><Function>print</Function><Normal Text>(</Normal Text><String>"Mandelbrot demo</String><Escape>\n</Escape><String>"</String><Normal Text>)</Normal Text><Symbol>;</Symbol><br/>
0077 <Normal Text>    mandelbrot()</Normal Text><br/>
0078 <Keyword>end</Keyword><br/>