Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.stan.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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 <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 <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><<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><<span style="font-weight:bold;">lower</span> = <span style="color:#f67400;">0.</span>> bravo; 0104 <span style="color:#2980b9;">real</span><<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><<span style="font-weight:bold;">lower</span> = (bravo < 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><<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 < <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 < <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 < <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 < <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 < <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 < <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_~@#$%^&*`'-+={}[].,;: "</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 && <span style="color:#f67400;">1</span>; 0297 x = x_real || <span style="color:#f67400;">1</span>; 0298 x = x_real < <span style="color:#f67400;">1.</span>; 0299 x = x_real <= <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 <- <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>