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