File indexing completed on 2024-05-12 04:02:08

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.stan</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Stan) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#7a7c7d">/* Stan Highlighting Example</span>
0008 
0009 <span style="color:#7a7c7d">  This file contains a syntatically correct but nonsensical Stan program that</span>
0010 <span style="color:#7a7c7d">  includes almost every feature of the language needed to validate syntax</span>
0011 <span style="color:#7a7c7d">  highlighters. It will compile (as of Stan 2.17.1), but it does nothing</span>
0012 <span style="color:#7a7c7d">  useful.</span>
0013 
0014 <span style="color:#7a7c7d">  Author: Jeffrey Arnold &lt;jeffrey.anold@gmail.com></span>
0015 <span style="color:#7a7c7d">  Copyright: Jeffrey Arnold (2018)</span>
0016 <span style="color:#7a7c7d">  License: MIT</span>
0017 
0018 <span style="color:#7a7c7d">*/</span>
0019 <span style="color:#7a7c7d">// line comment</span>
0020 <span style="color:#7a7c7d"># deprecated line comment</span>
0021 <span style="font-weight:bold">functions</span> {
0022   <span style="color:#7a7c7d">#include stuff.stan</span>
0023   <span style="color:#7a7c7d">#include "morestuff.stan"</span>
0024   <span style="color:#7a7c7d">#include 'moststuff.stan'</span>
0025   <span style="color:#7a7c7d">#include &lt;evenmorestuff.stan></span>
0026 
0027   <span style="color:#7a7c7d">// declarations</span>
0028   <span style="color:#2980b9">void</span> oof(<span style="color:#2980b9">real</span> x);
0029 
0030   <span style="color:#7a7c7d">// definitions</span>
0031   <span style="color:#7a7c7d">// return types</span>
0032   <span style="color:#2980b9">void</span> oof(<span style="color:#2980b9">real</span> x) {
0033     <span style="font-weight:bold">print</span>(<span style="color:#f44f4f">"print "</span>, x);
0034   }
0035   <span style="color:#7a7c7d">/*</span>
0036 <span style="color:#7a7c7d">    </span><span style="color:#3f8058">@param</span><span style="color:#7a7c7d"> x A number</span>
0037 <span style="color:#7a7c7d">    </span><span style="color:#3f8058">@return</span><span style="color:#7a7c7d"> x + 1</span>
0038 <span style="color:#7a7c7d">  */</span>
0039   <span style="color:#2980b9">real</span> foo(<span style="color:#2980b9">real</span> x) {
0040     <span style="color:#fdbc4b;font-weight:bold">return</span> x;
0041   }
0042   <span style="color:#2980b9">int</span> bar(<span style="color:#2980b9">int</span> x) {
0043     <span style="color:#fdbc4b;font-weight:bold">return</span> x;
0044   }
0045   <span style="color:#2980b9">vector</span> baz(<span style="color:#2980b9">vector</span> x) {
0046     <span style="color:#fdbc4b;font-weight:bold">return</span> x;
0047   }
0048   <span style="color:#2980b9">row_vector</span> qux(<span style="color:#2980b9">row_vector</span> x) {
0049     <span style="color:#fdbc4b;font-weight:bold">return</span> x;
0050   }
0051   <span style="color:#2980b9">matrix</span> quux(<span style="color:#2980b9">matrix</span> x) {
0052     <span style="color:#fdbc4b;font-weight:bold">return</span> x;
0053   }
0054   <span style="color:#7a7c7d">// numbers of arguments</span>
0055   <span style="color:#2980b9">void</span> corge() {
0056     <span style="font-weight:bold">print</span>(<span style="color:#f44f4f">"no parameters"</span>);
0057   }
0058   <span style="color:#2980b9">void</span> grault(<span style="color:#2980b9">int</span> a, <span style="color:#2980b9">real</span> b, <span style="color:#2980b9">vector</span> c, <span style="color:#2980b9">row_vector</span> d, <span style="color:#2980b9">matrix</span> f) {
0059     <span style="font-weight:bold">print</span>(<span style="color:#f44f4f">"many parameters"</span>);
0060   }
0061   <span style="color:#2980b9">void</span> garply(<span style="color:#2980b9">real</span> a, <span style="color:#2980b9">real</span>[] b, <span style="color:#2980b9">real</span>[,] c, <span style="color:#2980b9">real</span>[,,] d) {
0062     <span style="font-weight:bold">print</span>(<span style="color:#f44f4f">"array arguments"</span>);
0063   }
0064   <span style="color:#7a7c7d">// array return types</span>
0065   <span style="color:#2980b9">int</span>[] waldo(<span style="color:#2980b9">int</span>[] x) {
0066     <span style="color:#fdbc4b;font-weight:bold">return</span> x;
0067   }
0068   <span style="color:#2980b9">int</span>[,] fred(<span style="color:#2980b9">int</span>[,] x) {
0069     <span style="color:#fdbc4b;font-weight:bold">return</span> x;
0070   }
0071   <span style="color:#2980b9">int</span>[,,] plough(<span style="color:#2980b9">int</span>[,,] x) {
0072     <span style="color:#fdbc4b;font-weight:bold">return</span> x;
0073   }
0074   <span style="color:#7a7c7d">// data only function argument</span>
0075   <span style="color:#2980b9">real</span> plugh(<span style="font-weight:bold">data</span> <span style="color:#2980b9">real</span> x) {
0076     <span style="color:#fdbc4b;font-weight:bold">return</span> x;
0077   }
0078   <span style="color:#7a7c7d">// ode function</span>
0079   <span style="color:#2980b9">real</span>[] ode_func(<span style="color:#2980b9">real</span> a, <span style="color:#2980b9">real</span>[] b, <span style="color:#2980b9">real</span>[] c, <span style="color:#2980b9">real</span>[] d, <span style="color:#2980b9">int</span>[] e) {
0080     <span style="color:#fdbc4b;font-weight:bold">return</span> b;
0081   }
0082 }
0083 <span style="font-weight:bold">data</span> {
0084   <span style="color:#7a7c7d">// non-int variable types</span>
0085   <span style="color:#2980b9">int</span> x_int;
0086   <span style="color:#2980b9">real</span> x_real;
0087   <span style="color:#2980b9">real</span> y_real;
0088   <span style="color:#2980b9">vector</span>[<span style="color:#f67400">1</span>] x_vector;
0089   <span style="color:#2980b9">ordered</span>[<span style="color:#f67400">1</span>] x_ordered;
0090   <span style="color:#2980b9">positive_ordered</span>[<span style="color:#f67400">1</span>] x_positive_ordered;
0091   <span style="color:#2980b9">simplex</span>[<span style="color:#f67400">1</span>] x_simplex;
0092   <span style="color:#2980b9">unit_vector</span>[<span style="color:#f67400">1</span>] x_unit_vector;
0093   <span style="color:#2980b9">row_vector</span>[<span style="color:#f67400">1</span>] x_row_vector;
0094   <span style="color:#2980b9">matrix</span>[<span style="color:#f67400">1</span>, <span style="color:#f67400">1</span>] x_matrix;
0095   <span style="color:#2980b9">cholesky_factor_corr</span>[<span style="color:#f67400">2</span>] x_cholesky_factor_corr;
0096   <span style="color:#2980b9">cholesky_factor_cov</span>[<span style="color:#f67400">2</span>] x_cholesky_factor_cov;
0097   <span style="color:#2980b9">cholesky_factor_cov</span>[<span style="color:#f67400">2</span>, <span style="color:#f67400">3</span>] x_cholesky_factor_cov_2;
0098   <span style="color:#2980b9">corr_matrix</span>[<span style="color:#f67400">2</span>] x_corr_matrix;
0099   <span style="color:#2980b9">cov_matrix</span>[<span style="color:#f67400">2</span>] x_cov_matrix;
0100 
0101   <span style="color:#7a7c7d">// range constraints</span>
0102   <span style="color:#2980b9">real</span>&lt;<span style="font-weight:bold">lower</span> = <span style="color:#f67400">0.</span>, <span style="font-weight:bold">upper</span> = <span style="color:#f67400">1.</span>> alpha;
0103   <span style="color:#2980b9">real</span>&lt;<span style="font-weight:bold">lower</span> = <span style="color:#f67400">0.</span>> bravo;
0104   <span style="color:#2980b9">real</span>&lt;<span style="font-weight:bold">upper</span> = <span style="color:#f67400">1.</span>> charlie;
0105 
0106   <span style="color:#7a7c7d">// arrays</span>
0107   <span style="color:#2980b9">int</span> echo[<span style="color:#f67400">1</span>];
0108   <span style="color:#2980b9">int</span> foxtrot[<span style="color:#f67400">1</span>, <span style="color:#f67400">1</span>];
0109   <span style="color:#2980b9">int</span> golf[<span style="color:#f67400">1</span>, <span style="color:#f67400">1</span>, <span style="color:#f67400">1</span>];
0110 
0111   <span style="color:#7a7c7d">// identifier with all valid letters</span>
0112   <span style="color:#2980b9">real</span> abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789;
0113 
0114   <span style="color:#7a7c7d">// hard pattern</span>
0115   <span style="color:#2980b9">real</span>&lt;<span style="font-weight:bold">lower</span> = (bravo &lt; charlie), <span style="font-weight:bold">upper</span> = (bravo > charlie)> ranger;
0116 
0117   <span style="color:#7a7c7d">// identifier patterns</span>
0118   <span style="color:#2980b9">real</span> a;
0119   <span style="color:#2980b9">real</span> a3;
0120   <span style="color:#2980b9">real</span> a_3;
0121   <span style="color:#2980b9">real</span> Sigma;
0122   <span style="color:#2980b9">real</span> my_cpp_style_variable;
0123   <span style="color:#2980b9">real</span> myCamelCaseVariable;
0124   <span style="color:#2980b9">real</span> abcdefghijklmnojk;
0125   <span style="color:#7a7c7d">// names beginning with keywords</span>
0126   <span style="color:#2980b9">real</span> iffffff;
0127   <span style="color:#2980b9">real</span> whilest;
0128   <span style="color:#7a7c7d">// name ending with truncation</span>
0129   <span style="color:#2980b9">real</span> fooT;
0130 
0131   <span style="color:#7a7c7d">// new array syntax</span>
0132   <span style="color:#2980b9">array</span> [N] <span style="color:#2980b9">real</span> foo_new;
0133 }
0134 
0135 <span style="font-weight:bold">transformed data</span> {
0136   <span style="color:#7a7c7d">// declaration and assignment</span>
0137   <span style="color:#2980b9">int</span> india = <span style="color:#f67400">1</span>;
0138   <span style="color:#2980b9">real</span> romeo = <span style="color:#f67400">1.0</span>;
0139   <span style="color:#2980b9">row_vector</span>[<span style="color:#f67400">2</span>] victor = [<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>];
0140   <span style="color:#2980b9">matrix</span>[<span style="color:#f67400">2</span>, <span style="color:#f67400">2</span>] mike = [[<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>], [<span style="color:#f67400">3</span>, <span style="color:#f67400">4</span>]];
0141   <span style="color:#2980b9">real</span> sierra[<span style="color:#f67400">2</span>] = {<span style="color:#f67400">1.</span>, <span style="color:#f67400">2.</span>};
0142   <span style="color:#2980b9">complex</span> zulu = <span style="color:#f67400">3</span>+<span style="color:#f67400">4.1i</span>;
0143 }
0144 <span style="font-weight:bold">parameters</span> {
0145   <span style="color:#2980b9">real</span> hotel;
0146   <span style="color:#2980b9">real</span>&lt;<span style="color:#2980b9">offset</span> = <span style="color:#f67400">0.</span>, <span style="color:#2980b9">multiplier</span> = <span style="color:#f67400">1.</span>> alpha;
0147 }
0148 <span style="font-weight:bold">transformed parameters</span> {
0149   <span style="color:#2980b9">real</span> juliette;
0150   juliette = hotel * <span style="color:#f67400">2.</span>;
0151 }
0152 <span style="font-weight:bold">model</span> {
0153   <span style="color:#2980b9">real</span> x;
0154   <span style="color:#2980b9">int</span> k;
0155   <span style="color:#2980b9">vector</span>[<span style="color:#f67400">2</span>] y = [<span style="color:#f67400">1.</span>, <span style="color:#f67400">1.</span>]';
0156   <span style="color:#2980b9">matrix</span>[<span style="color:#f67400">2</span>, <span style="color:#f67400">2</span>] A = [[<span style="color:#f67400">1.</span>, <span style="color:#f67400">1.</span>], [<span style="color:#f67400">1.</span>, <span style="color:#f67400">1.</span>]];
0157   <span style="color:#2980b9">real</span> odeout[<span style="color:#f67400">2</span>, <span style="color:#f67400">2</span>];
0158   <span style="color:#2980b9">real</span> algout[<span style="color:#f67400">2</span>, <span style="color:#f67400">2</span>];
0159 
0160   <span style="color:#7a7c7d">// if else statements</span>
0161   <span style="color:#fdbc4b;font-weight:bold">if</span> (x_real &lt; <span style="color:#f67400">0</span>) x = <span style="color:#f67400">0.</span>;
0162 
0163   <span style="color:#fdbc4b;font-weight:bold">if</span> (x_real &lt; <span style="color:#f67400">0</span>) {
0164     x = <span style="color:#f67400">0.</span>;
0165   }
0166 
0167   <span style="color:#fdbc4b;font-weight:bold">if</span> (x_real &lt; <span style="color:#f67400">0</span>) x = <span style="color:#f67400">0.</span>;
0168   <span style="color:#fdbc4b;font-weight:bold">else</span> x = <span style="color:#f67400">1.</span>;
0169 
0170   <span style="color:#fdbc4b;font-weight:bold">if</span> (x_real &lt; <span style="color:#f67400">0</span>) {
0171     x = <span style="color:#f67400">0.</span>;
0172   } <span style="color:#fdbc4b;font-weight:bold">else</span> {
0173     x = <span style="color:#f67400">1.</span>;
0174   }
0175 
0176   <span style="color:#fdbc4b;font-weight:bold">if</span> (x_real &lt; <span style="color:#f67400">0</span>) x = <span style="color:#f67400">0.</span>;
0177   <span style="color:#fdbc4b;font-weight:bold">else</span> <span style="color:#fdbc4b;font-weight:bold">if</span> (x_real > <span style="color:#f67400">1</span>) x = <span style="color:#f67400">1.</span>;
0178   <span style="color:#fdbc4b;font-weight:bold">else</span> x = <span style="color:#f67400">0.5</span>;
0179 
0180   <span style="color:#fdbc4b;font-weight:bold">if</span> (x_real &lt; <span style="color:#f67400">0</span>) {
0181     x = <span style="color:#f67400">0.</span>;
0182   } <span style="color:#fdbc4b;font-weight:bold">else</span> <span style="color:#fdbc4b;font-weight:bold">if</span> (x_real > <span style="color:#f67400">1</span>) {
0183     x = <span style="color:#f67400">1.</span>;
0184   } <span style="color:#fdbc4b;font-weight:bold">else</span> {
0185     x = <span style="color:#f67400">0.5</span>;
0186   }
0187 
0188   <span style="color:#7a7c7d">// for loops</span>
0189   <span style="color:#fdbc4b;font-weight:bold">for</span> (i <span style="color:#fdbc4b;font-weight:bold">in</span> <span style="color:#f67400">1</span>:<span style="color:#f67400">5</span>) {
0190     <span style="font-weight:bold">print</span>(<span style="color:#f44f4f">"i = "</span>, i);
0191   }
0192   <span style="color:#7a7c7d">// for (j in echo) {</span>
0193   <span style="color:#7a7c7d">//   print("j = ", j);</span>
0194   <span style="color:#7a7c7d">// }</span>
0195   <span style="color:#7a7c7d">// while loop</span>
0196   <span style="color:#fdbc4b;font-weight:bold">while</span> (<span style="color:#f67400">1</span>) {
0197     <span style="color:#fdbc4b;font-weight:bold">break</span>;
0198     <span style="color:#fdbc4b;font-weight:bold">continue</span>;
0199   }
0200 
0201   <span style="color:#7a7c7d">// reject statement</span>
0202   <span style="font-weight:bold">reject</span>(<span style="color:#f44f4f">"reject statment "</span>, x_real);
0203 
0204   <span style="color:#7a7c7d">// print statement</span>
0205   <span style="font-weight:bold">print</span>(<span style="color:#f44f4f">"print statement "</span>, x_real);
0206   <span style="font-weight:bold">print</span>(<span style="color:#f44f4f">"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_~@#$%^&amp;*`'-+={}[].,;: "</span>);
0207 
0208   <span style="color:#7a7c7d">// increment log probability statements;</span>
0209   <span style="font-weight:bold">target +=</span> <span style="color:#f67400">1.</span>;
0210 
0211   <span style="color:#7a7c7d">// valid integer literals</span>
0212   k = <span style="color:#f67400">0</span>;
0213   k = <span style="color:#f67400">1</span>;
0214   k = -<span style="color:#f67400">1</span>;
0215   k = <span style="color:#f67400">256</span>;
0216   k = -<span style="color:#f67400">127098</span>;
0217   k = <span style="color:#f67400">007</span>;
0218 
0219   <span style="color:#7a7c7d">// valid real literals</span>
0220   x = <span style="color:#f67400">0.0</span>;
0221   x = <span style="color:#f67400">1.0</span>;
0222   x = <span style="color:#f67400">3.14</span>;
0223   x = <span style="color:#f67400">003.14</span>;
0224   x = -<span style="color:#f67400">217.9387</span>;
0225   x = <span style="color:#f67400">0.123</span>;
0226   x = <span style="color:#f67400">.123</span>;
0227   x = <span style="color:#f67400">1.</span>;
0228   x = -<span style="color:#f67400">0.123</span>;
0229   x = -<span style="color:#f67400">.123</span>;
0230   x = -<span style="color:#f67400">1.</span>;
0231   x = <span style="color:#f67400">12</span>e34;
0232   x = <span style="color:#f67400">12</span>E34;
0233   x = <span style="color:#f67400">12.e34</span>;
0234   x = <span style="color:#f67400">12.E34</span>;
0235   x = <span style="color:#f67400">12.0e34</span>;
0236   x = <span style="color:#f67400">12.0E34</span>;
0237   x = <span style="color:#f67400">.1e34</span>;
0238   x = <span style="color:#f67400">.1E34</span>;
0239   x = -<span style="color:#f67400">12</span>e34;
0240   x = -<span style="color:#f67400">12</span>E34;
0241   x = -<span style="color:#f67400">12.e34</span>;
0242   x = -<span style="color:#f67400">12.E34</span>;
0243   x = -<span style="color:#f67400">12.0e34</span>;
0244   x = -<span style="color:#f67400">12.0E34</span>;
0245   x = -<span style="color:#f67400">.1e34</span>;
0246   x = -<span style="color:#f67400">.1E34</span>;
0247   x = <span style="color:#f67400">12</span>e-<span style="color:#f67400">34</span>;
0248   x = <span style="color:#f67400">12</span>E-<span style="color:#f67400">34</span>;
0249   x = <span style="color:#f67400">12.e-34</span>;
0250   x = <span style="color:#f67400">12.E-34</span>;
0251   x = <span style="color:#f67400">12.0e-34</span>;
0252   x = <span style="color:#f67400">12.0E-34</span>;
0253   x = <span style="color:#f67400">.1e-34</span>;
0254   x = <span style="color:#f67400">.1E-34</span>;
0255   x = -<span style="color:#f67400">12</span>e-<span style="color:#f67400">34</span>;
0256   x = -<span style="color:#f67400">12</span>E-<span style="color:#f67400">34</span>;
0257   x = -<span style="color:#f67400">12.e-34</span>;
0258   x = -<span style="color:#f67400">12.E-34</span>;
0259   x = -<span style="color:#f67400">12.0e-34</span>;
0260   x = -<span style="color:#f67400">12.0E-34</span>;
0261   x = -<span style="color:#f67400">.1e-34</span>;
0262   x = -<span style="color:#f67400">.1E-34</span>;
0263   x = <span style="color:#f67400">12</span>e+<span style="color:#f67400">34</span>;
0264   x = <span style="color:#f67400">12</span>E+<span style="color:#f67400">34</span>;
0265   x = <span style="color:#f67400">12.e+34</span>;
0266   x = <span style="color:#f67400">12.E+34</span>;
0267   x = <span style="color:#f67400">12.0e+34</span>;
0268   x = <span style="color:#f67400">12.0E+34</span>;
0269   x = <span style="color:#f67400">.1e+34</span>;
0270   x = <span style="color:#f67400">.1E+34</span>;
0271   x = -<span style="color:#f67400">12</span>e+<span style="color:#f67400">34</span>;
0272   x = -<span style="color:#f67400">12</span>E+<span style="color:#f67400">34</span>;
0273   x = -<span style="color:#f67400">12.e+34</span>;
0274   x = -<span style="color:#f67400">12.E+34</span>;
0275   x = -<span style="color:#f67400">12.0e+34</span>;
0276   x = -<span style="color:#f67400">12.0E+34</span>;
0277   x = -<span style="color:#f67400">.1e+34</span>;
0278   x = -<span style="color:#f67400">.1E+34</span>;
0279 
0280   <span style="color:#7a7c7d">// imaginary literals</span>
0281   <span style="color:#2980b9">complex</span> z = <span style="color:#f67400">3</span> + <span style="color:#f67400">3i</span>;
0282   z = <span style="color:#f67400">2.3i</span>;
0283   z = <span style="color:#f67400">3.4e10i</span>;
0284   z = <span style="color:#f67400">0i</span>;
0285 
0286   <span style="color:#7a7c7d">// assignment statements</span>
0287   x = <span style="color:#f67400">1</span>;
0288   x += <span style="color:#f67400">1.</span>;
0289   x -= <span style="color:#f67400">1.</span>;
0290   x *= <span style="color:#f67400">1.</span>;
0291   x /= <span style="color:#f67400">1.</span>;
0292   y .*= x_vector;
0293   y ./= x_vector;
0294 
0295   <span style="color:#7a7c7d">// operators</span>
0296   x = x_real &amp;&amp; <span style="color:#f67400">1</span>;
0297   x = x_real || <span style="color:#f67400">1</span>;
0298   x = x_real &lt; <span style="color:#f67400">1.</span>;
0299   x = x_real &lt;= <span style="color:#f67400">1.</span>;
0300   x = x_real > <span style="color:#f67400">1.</span>;
0301   x = x_real >= <span style="color:#f67400">1.</span>;
0302   x = x_real + <span style="color:#f67400">1.</span>;
0303   x = x_real - <span style="color:#f67400">1.</span>;
0304   x = x_real * <span style="color:#f67400">1.</span>;
0305   x = x_real / <span style="color:#f67400">1.</span>;
0306   x = x_real ^ <span style="color:#f67400">2.</span>;
0307   x = x_real % <span style="color:#f67400">2</span>;
0308   x = !x_real;
0309   x = +x_real;
0310   x = -x_real;
0311   x = x_int ? x_real : <span style="color:#f67400">0.</span>;
0312 
0313   y = x_row_vector';
0314   y = x_matrix \ x_vector;
0315   y = x_vector .* x_vector;
0316   y = x_vector ./ x_vector;
0317 
0318   <span style="color:#7a7c7d">// parenthized expression</span>
0319   x = (x_real + x_real);
0320 
0321   <span style="color:#7a7c7d">// block statement</span>
0322   {
0323     <span style="color:#2980b9">real</span> z;
0324     z = <span style="color:#f67400">1.</span>;
0325   }
0326 
0327   <span style="color:#fdbc4b;font-weight:bold">profile</span>(<span style="color:#f44f4f">"profile-test"</span>) {
0328     <span style="color:#2980b9">real</span> z;
0329     z = <span style="color:#f67400">1.</span>;
0330   }
0331   <span style="color:#7a7c7d">// built-in functions</span>
0332   x = log(<span style="color:#f67400">1.</span>);
0333   x = exp(<span style="color:#f67400">1.</span>);
0334 
0335   <span style="color:#7a7c7d">// non-built-in function</span>
0336   x = foo(<span style="color:#f67400">1.</span>);
0337 
0338   <span style="color:#7a7c7d">// constants and nullary functions</span>
0339   x = machine_precision();
0340   x = pi();
0341   x = e();
0342   x = sqrt2();
0343   x = log2();
0344   x = log10();
0345   <span style="color:#7a7c7d">// special values</span>
0346   x = not_a_number();
0347   x = positive_infinity();
0348   x = negative_infinity();
0349   x = machine_precision();
0350   <span style="color:#7a7c7d">// log probability</span>
0351   x = target();
0352 
0353   <span style="color:#7a7c7d">// sampling statement</span>
0354   x_real ~ normal(<span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>);
0355 
0356   <span style="color:#7a7c7d">// truncation</span>
0357   x_real ~ normal(<span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>) <span style="font-weight:bold">T</span>[-<span style="color:#f67400">1.</span>, <span style="color:#f67400">1.</span>];
0358   x_real ~ normal(<span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>) <span style="font-weight:bold">T</span>[, <span style="color:#f67400">1.</span>];
0359   x_real ~ normal(<span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>) <span style="font-weight:bold">T</span>[-<span style="color:#f67400">1.</span>, ];
0360   x_real ~ normal(<span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>) <span style="font-weight:bold">T</span>[ , ];
0361 
0362   <span style="color:#7a7c7d">// transformation on lhs of sampling</span>
0363   log(x_real) ~ normal(<span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>);
0364 
0365   <span style="color:#7a7c7d">// lhs indexes</span>
0366   y[<span style="color:#f67400">1</span>] = <span style="color:#f67400">1.</span>;
0367   A[<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>] = <span style="color:#f67400">1.</span>;
0368   A[<span style="color:#f67400">1</span>][<span style="color:#f67400">2</span>] = <span style="color:#f67400">1.</span>;
0369 
0370   <span style="color:#7a7c7d">// special functions</span>
0371   odeout = <span style="font-weight:bold">integrate_ode</span>(ode_func, {<span style="color:#f67400">1.</span>}, x_real, {<span style="color:#f67400">1.</span>}, {<span style="color:#f67400">1.</span>}, {<span style="color:#f67400">1.</span>}, {<span style="color:#f67400">0</span>});
0372   odeout = <span style="font-weight:bold">integrate_ode_bdf</span>(ode_func, {<span style="color:#f67400">1.</span>}, x_real, {<span style="color:#f67400">1.</span>}, {<span style="color:#f67400">1.</span>}, {<span style="color:#f67400">1.</span>}, {<span style="color:#f67400">0</span>},
0373                              x_real, x_real, x_int);
0374   odeout = <span style="font-weight:bold">integrate_ode_rk45</span>(ode_func, {<span style="color:#f67400">1.</span>}, x_real, {<span style="color:#f67400">1.</span>}, {<span style="color:#f67400">1.</span>}, {<span style="color:#f67400">1.</span>}, {<span style="color:#f67400">0</span>},
0375                               x_real, x_real, x_int);
0376   <span style="color:#7a7c7d">// algout = algebra_solver(algebra_func, x_vector, x_vector, {1.}, {0});</span>
0377 
0378   <span style="color:#7a7c7d">// distribution functions</span>
0379   x = normal_lpdf(<span style="color:#f67400">0.5</span> | <span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>);
0380   x = normal_cdf(<span style="color:#f67400">0.5</span>, <span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>);
0381   x = normal_lcdf(<span style="color:#f67400">0.5</span> | <span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>);
0382   x = normal_lccdf(<span style="color:#f67400">0.5</span> | <span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>);
0383   x = binomial_lpmf(<span style="color:#f67400">1</span> | <span style="color:#f67400">2</span>, <span style="color:#f67400">0.5</span>);
0384 
0385   <span style="color:#7a7c7d">// deprecated features</span>
0386   foo &lt;- <span style="color:#f67400">1</span>;
0387   increment_log_prob(<span style="color:#f67400">0.0</span>);
0388   y_hat = <span style="font-weight:bold">integrate_ode</span>(sho, y0, t0, ts, theta, x_r, x_i);
0389   x = get_lp();
0390   x = multiply_log(<span style="color:#f67400">1.0</span>, <span style="color:#f67400">1.0</span>);
0391   x = binomial_coefficient_log(<span style="color:#f67400">1.0</span>, <span style="color:#f67400">1.0</span>);
0392   <span style="color:#7a7c7d">// deprecated distribution functions versions</span>
0393   x = normal_log(<span style="color:#f67400">0.5</span>, <span style="color:#f67400">0.0</span>, <span style="color:#f67400">1.0</span>);
0394   x = normal_cdf_log(<span style="color:#f67400">0.5</span>, <span style="color:#f67400">0.0</span>, <span style="color:#f67400">1.0</span>);
0395   x = normal_ccdf_log(<span style="color:#f67400">0.5</span>, <span style="color:#f67400">0.0</span>, <span style="color:#f67400">1.0</span>);
0396 
0397 }
0398 <span style="font-weight:bold">generated quantities</span> {
0399   <span style="color:#2980b9">real</span> Y;
0400   <span style="color:#7a7c7d">// rng function</span>
0401   Y = normal_rng(<span style="color:#f67400">0.</span>, <span style="color:#f67400">1.</span>);
0402 }
0403 </pre></body></html>