1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Maxima 5.47.0 Manual: Gentran Evaluation Forms</title>
<meta name="description" content="Maxima 5.47.0 Manual: Gentran Evaluation Forms">
<meta name="keywords" content="Maxima 5.47.0 Manual: Gentran Evaluation Forms">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="maxima_toc.html#Top" rel="start" title="Top">
<link href="maxima_423.html#Function-and-Variable-Index" rel="index" title="Function and Variable Index">
<link href="maxima_toc.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="maxima_277.html#gentran_002dpkg" rel="up" title="gentran-pkg">
<link href="maxima_283.html#ggf_002dpkg" rel="next" title="ggf-pkg">
<link href="maxima_281.html#Gentran-Option-Variables" rel="previous" title="Gentran Option Variables">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
body {color: black; background: white; margin-left: 8%; margin-right: 13%;
font-family: "FreeSans", sans-serif}
h1 {font-size: 150%; font-family: "FreeSans", sans-serif}
h2 {font-size: 125%; font-family: "FreeSans", sans-serif}
h3 {font-size: 100%; font-family: "FreeSans", sans-serif}
a[href] {color: rgb(0,0,255); text-decoration: none;}
a[href]:hover {background: rgb(220,220,220);}
div.textbox {border: solid; border-width: thin; padding-top: 1em;
padding-bottom: 1em; padding-left: 2em; padding-right: 2em}
div.titlebox {border: none; padding-top: 1em; padding-bottom: 1em;
padding-left: 2em; padding-right: 2em; background: rgb(200,255,255);
font-family: sans-serif}
div.synopsisbox {
border: none; padding-top: 1em; padding-bottom: 1em; padding-left: 2em;
padding-right: 2em; background: rgb(255,220,255);}
pre.example {border: 1px solid rgb(180,180,180); padding-top: 1em;
padding-bottom: 1em; padding-left: 1em; padding-right: 1em;
background-color: rgb(238,238,255)}
div.spacerbox {border: none; padding-top: 2em; padding-bottom: 2em}
div.image {margin: 0; padding: 1em; text-align: center}
div.categorybox {border: 1px solid gray; padding-top: 1em; padding-bottom: 1em;
padding-left: 1em; padding-right: 1em; background: rgb(247,242,220)}
img {max-width:80%; max-height: 80%; display: block; margin-left: auto; margin-right: auto}
-->
</style>
<link rel="icon" href="figures/favicon.ico">
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6>"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Gentran-Evaluation-Forms"></a>
<div class="header">
<p>
Previous: <a href="maxima_281.html#Gentran-Option-Variables" accesskey="p" rel="previous">Gentran Option Variables</a>, Up: <a href="maxima_277.html#gentran_002dpkg" accesskey="u" rel="up">gentran-pkg</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Gentran-Evaluation-Forms-1"></a>
<h3 class="section">61.5 Gentran Evaluation Forms</h3>
<p>The following special functions can be included in Maxima statements
which are to be translated by the gentran command to indicate that they
are to be partially or fully evaluated by Maxima before being translated
into numerical code. Note that these functions have the described effect
only when supplied in arguments to the gentran command.
</p>
<a name="Item_003a-gentran_002fdeffn_002feval"></a><dl>
<dt><a name="index-eval"></a>Function: <strong>eval</strong> <em>(<var>exp</var>)</em></dt>
<dd>
<p>Where <em>exp</em> is any Maxima expression or statement which, after
evaluation by Maxima, results in an expression that can be translated by
gentran into the target language. When eval is called from an argument
that is to be translated, it tells gentran to give the expression to
Maxima for evaluation first, and then to translate the result of that
evaluation.
</p></dd></dl>
<a name="Item_003a-gentran_002fdeffn_002frsetq"></a><dl>
<dt><a name="index-rsetq"></a>Function: <strong>rsetq</strong> <em>(<var>var</var>, <var>exp</var>)</em></dt>
<dd>
<p>Where <em>var</em> is any Maxima variable, matrix or array element, and
<em>exp</em> is any Maxima expression which, after evaluation by Maxima
results in an expression that can be translated by Gentran into the
target language. This is equivalent to VAR : EVAL(EXP) ;
</p></dd></dl>
<a name="Item_003a-gentran_002fdeffn_002flsetq"></a><dl>
<dt><a name="index-lsetq"></a>Function: <strong>lsetq</strong> <em>(<em>var</em>, <em>exp</em>)</em></dt>
<dd>
<p>Where <em>var</em> is any Maxima user level matrix or array element with
indices which, after evaluation by Maxima, will result in expressions
that can be translated by Gentran, and <em>exp</em> is any Maxima user
level expression that can be translated into the target language. This
is equivalent to <code>var[eval(s1), eval(s2), ...]: exp</code> where <var>s1</var>, <var>s2</var>, ...
are indices.
</p></dd></dl>
<a name="Item_003a-gentran_002fdeffn_002flrsetq"></a><dl>
<dt><a name="index-lrsetq"></a>Function: <strong>lrsetq</strong> <em>(<em>var</em>, <em>exp</em>)</em></dt>
<dd>
<p>Where <em>var</em> is any Maxima matrix or array element with indices
which, after evaluation by Maxima, will result in expressions that can
be translated by Gentran; and <em>exp</em> is any user level expression
which, after evaluation, will result in an expression that can be
translated by Gentran into the target language. This is equivalent to
<code>var[eval(s1), eval(s2), ...]: eval(exp);</code>.
</p></dd></dl>
<a name="Item_003a-gentran_002fdeffn_002ftype"></a><dl>
<dt><a name="index-type"></a>Function: <strong>type</strong> <em>(<em>type,v1…vn</em>)</em></dt>
<dd>
<p>Places information in the gentran symbol table to assign <em>type</em> to
variables <em>v1…vn</em>. This may result in type declarations
printed by gentran depending on the setting of gendecs. <strong>type</strong>
must be called from within gentran and does not evaluate its arguments
unless <strong>eval</strong>() is used.
</p>
</dd></dl>
<a name="Item_003a-gentran_002fdeffn_002fliteral"></a><dl>
<dt><a name="index-literal"></a>Function: <strong>literal</strong> <em>(<em>arg1, arg2, ... , argn</em>)</em></dt>
<dd>
<p>where arg1, arg2, ... , argn is an argument list containing one or more
arg’s, each of which either is, or evaluates to, an atom. The atoms
<em>tab</em> and <em>cr</em> have special meanings. arg’s are not evaluated
unless given as arguments to eval. This function call is replaced by the
character sequence resulting from concatenation of the given atoms.
Double quotes are stripped from all string type arg’s, and each
occurrence of the reserved atom <em>tab</em> or <em>cr</em> is replaced by a
tab to the current level of indentation, or an end-of-line character.
</p>
</dd></dl>
<hr>
<div class="header">
<p>
Previous: <a href="maxima_281.html#Gentran-Option-Variables" accesskey="p" rel="previous">Gentran Option Variables</a>, Up: <a href="maxima_277.html#gentran_002dpkg" accesskey="u" rel="up">gentran-pkg</a> [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_423.html#Function-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|