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 169 170 171 172 173 174 175 176 177 178 179 180 181
|
<!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: Functions and Variables for Fortran Output</title>
<meta name="description" content="Maxima 5.47.0 Manual: Functions and Variables for Fortran Output">
<meta name="keywords" content="Maxima 5.47.0 Manual: Functions and Variables for Fortran Output">
<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_72.html#File-Input-and-Output" rel="up" title="File Input and Output">
<link href="maxima_78.html#Polynomials" rel="next" title="Polynomials">
<link href="maxima_76.html#Functions-and-Variables-for-TeX-Output" rel="previous" title="Functions and Variables for TeX Output">
<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="Functions-and-Variables-for-Fortran-Output"></a>
<div class="header">
<p>
Previous: <a href="maxima_76.html#Functions-and-Variables-for-TeX-Output" accesskey="p" rel="previous">Functions and Variables for TeX Output</a>, Up: <a href="maxima_72.html#File-Input-and-Output" accesskey="u" rel="up">File Input and Output</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="Functions-and-Variables-for-Fortran-Output-1"></a>
<h3 class="section">13.5 Functions and Variables for Fortran Output</h3>
<a name="fortindent"></a><a name="Item_003a-Input_002fdefvr_002ffortindent"></a><dl>
<dt><a name="index-fortindent"></a>Option variable: <strong>fortindent</strong></dt>
<dd><p>Default value: <code>0</code>
</p>
<p><code>fortindent</code> controls the left margin indentation of
expressions printed out by the <code><a href="#fortran">fortran</a></code> command. <code>0</code> gives normal
printout (i.e., 6 spaces), and positive values will causes the
expressions to be printed farther to the right.
</p>
<div class=categorybox>
Categories:<a href="maxima_424.html#Category_003a-Translation-and-compilation">Translation and compilation</a>
·</div></dd></dl>
<a name="fortran"></a><a name="Item_003a-Input_002fdeffn_002ffortran"></a><dl>
<dt><a name="index-fortran"></a>Function: <strong>fortran</strong> <em>(<var>expr</var>)</em></dt>
<dd>
<p>Prints <var>expr</var> as a Fortran statement.
The output line is indented with spaces.
If the line is too long, <code>fortran</code> prints continuation lines.
<code>fortran</code> prints the exponentiation operator <code>^</code> as <code>**</code>,
and prints a complex number <code>a + b %i</code> in the form <code>(a,b)</code>.
</p>
<p><var>expr</var> may be an equation. If so, <code>fortran</code> prints an assignment
statement, assigning the right-hand side of the equation to the left-hand side.
In particular, if the right-hand side of <var>expr</var> is the name of a matrix,
then <code>fortran</code> prints an assignment statement for each element of the
matrix.
</p>
<p>If <var>expr</var> is not something recognized by <code>fortran</code>,
the expression is printed in <code><a href="maxima_9.html#grind">grind</a></code> format without complaint.
<code>fortran</code> does not know about lists, arrays, or functions.
</p>
<p><code><a href="#fortindent">fortindent</a></code> controls the left margin of the printed lines.
<code>0</code> is the normal margin (i.e., indented 6 spaces). Increasing
<code>fortindent</code> causes expressions to be printed further to the right.
</p>
<p>When <code><a href="#fortspaces">fortspaces</a></code> is <code>true</code>, <code>fortran</code> fills out
each printed line with spaces to 80 columns.
</p>
<p><code>fortran</code> evaluates its arguments; quoting an argument defeats evaluation.
<code>fortran</code> always returns <code>done</code>.
</p>
<p>See also the function <code><a href="maxima_267.html#function_005ff90">f90</a></code> for printing one or more
expressions as a Fortran 90 program.
</p>
<p>Examples:
</p>
<pre class="verbatim">(%i1) expr: (a + b)^12$
(%i2) fortran (expr);
(b+a)**12
(%o2) done
(%i3) fortran ('x=expr);
x = (b+a)**12
(%o3) done
(%i4) fortran ('x=expand (expr));
x = b**12+12*a*b**11+66*a**2*b**10+220*a**3*b**9+495*a**4*b**8+792
1 *a**5*b**7+924*a**6*b**6+792*a**7*b**5+495*a**8*b**4+220*a**9*b
2 **3+66*a**10*b**2+12*a**11*b+a**12
(%o4) done
(%i5) fortran ('x=7+5*%i);
x = (7,5)
(%o5) done
(%i6) fortran ('x=[1,2,3,4]);
x = [1,2,3,4]
(%o6) done
(%i7) f(x) := x^2$
(%i8) fortran (f);
f
(%o8) done
</pre>
<div class=categorybox>
Categories:<a href="maxima_424.html#Category_003a-Translation-and-compilation">Translation and compilation</a>
·</div></dd></dl>
<a name="fortspaces"></a><a name="Item_003a-Input_002fdefvr_002ffortspaces"></a><dl>
<dt><a name="index-fortspaces"></a>Option variable: <strong>fortspaces</strong></dt>
<dd><p>Default value: <code>false</code>
</p>
<p>When <code>fortspaces</code> is <code>true</code>, <code>fortran</code> fills out
each printed line with spaces to 80 columns.
</p>
<div class=categorybox>
Categories:<a href="maxima_424.html#Category_003a-Translation-and-compilation">Translation and compilation</a>
·</div></dd></dl>
<hr>
<div class="header">
<p>
Previous: <a href="maxima_76.html#Functions-and-Variables-for-TeX-Output" accesskey="p" rel="previous">Functions and Variables for TeX Output</a>, Up: <a href="maxima_72.html#File-Input-and-Output" accesskey="u" rel="up">File Input and Output</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>
|