mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 04:42:08 +00:00
Changed guide to new style
This commit is contained in:
+85
-65
@@ -10,7 +10,7 @@
|
||||
<link rel="stylesheet" type="text/css" href="userhtml.css">
|
||||
</head><body
|
||||
>
|
||||
<!--l. 1053--><div class="crosslinks"><p class="noindent">[<a
|
||||
<!--l. 1103--><div class="crosslinks"><p class="noindent">[<a
|
||||
href="userhtmlsu10.html" >next</a>] [<a
|
||||
href="userhtmlsu6.html" >prev</a>] [<a
|
||||
href="userhtmlsu6.html#tailuserhtmlsu6.html" >prev-tail</a>] [<a
|
||||
@@ -18,7 +18,7 @@ href="userhtmlse3.html#tailuserhtmlsu7.html">tail</a>] [<a
|
||||
href="userhtmlsu7.html#userhtmlse4.html" >up</a>] </p></div>
|
||||
<h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a
|
||||
id="x15-460003.3"></a>Dense Vector Data Structure</h4>
|
||||
<!--l. 1055--><p class="noindent" >The <a
|
||||
<!--l. 1105--><p class="noindent" >The <a
|
||||
id="vdata"><span
|
||||
class="cmtt-10">psb</span><span
|
||||
class="cmtt-10">_T</span><span
|
||||
@@ -36,9 +36,9 @@ sec. <a
|
||||
href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a>. Among other simple things, we define here an extraction method that
|
||||
can be used to get a full copy of the part of the vector stored on the local
|
||||
process.
|
||||
<!--l. 1065--><p class="indent" > The type declaration is shown in figure <a
|
||||
href="#x15-460015">5<!--tex4ht:ref: fig:vectype --></a> where <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">T</span></span></span> is a placeholder for the data
|
||||
<!--l. 1115--><p class="indent" > The type declaration is shown in figure <a
|
||||
href="#x15-46001r3">3<!--tex4ht:ref: fig:vectype --></a> where <span class="lstinline"></span><span
|
||||
class="cmtt-10">T</span> is a placeholder for the data
|
||||
type and precision variants
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
@@ -60,18 +60,24 @@ class="description">Single precision complex;
|
||||
<span
|
||||
class="cmbx-10">Z</span> </dt><dd
|
||||
class="description">Double precision complex.</dd></dl>
|
||||
<!--l. 1075--><p class="noindent" >The actual data is contained in the polymorphic component <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">v%v</span></span></span>; the separation between
|
||||
<!--l. 1125--><p class="noindent" >The actual data is contained in the polymorphic component <span class="lstinline"></span><span
|
||||
class="cmtt-10">v</span><span
|
||||
class="cmtt-10">%</span><span
|
||||
class="cmtt-10">v</span>; the separation between
|
||||
the application and the actual data is essential for cases where it is necessary to link
|
||||
to data storage made available elsewhere outside the direct control of the
|
||||
compiler/application, e.g. data stored in a graphics accelerator’s private memory.
|
||||
<hr class="figure"><div class="figure"
|
||||
><a
|
||||
id="x15-460015"></a>
|
||||
compiler/application, e.g. data stored in a graphics accelerator’s private
|
||||
memory.
|
||||
<!--l. 1131--><p class="indent" > <a
|
||||
id="x15-46001r3"></a><hr class="float"><div class="float"
|
||||
>
|
||||
|
||||
|
||||
|
||||
<div class="center"
|
||||
>
|
||||
<!--l. 1083--><p class="noindent" >
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-33">
|
||||
<!--l. 1145--><p class="noindent" >
|
||||
<div class="minipage"><div class="verbatim" id="verbatim-26">
|
||||
  type psb_T_base_vect_type
|
||||
 <br />    TYPE(KIND_), allocatable :: v(:)
|
||||
 <br />  end type psb_T_base_vect_type
|
||||
@@ -81,28 +87,29 @@ compiler/application, e.g. data stored in a graphics accelerator’s private
|
||||
 <br />  end type  psb_T_vect_type
|
||||
 <br />
|
||||
</div>
|
||||
<!--l. 1094--><p class="nopar" ></div></div>
|
||||
<!--l. 1156--><p class="nopar" ></div></div>
|
||||
<br /> <div class="caption"
|
||||
><span class="id">Listing 3: </span><span
|
||||
class="content"> The PSBLAS defined data type that contains a dense vector.</span></div><!--tex4ht:label?: x15-46001r3 -->
|
||||
|
||||
|
||||
|
||||
<br /> <div class="caption"
|
||||
><span class="id">Figure 5: </span><span
|
||||
class="content"> The PSBLAS defined data type that contains a dense vector.</span></div><!--tex4ht:label?: x15-460015 -->
|
||||
<!--l. 1105--><p class="indent" > </div><hr class="endfigure">
|
||||
<!--l. 1107--><p class="noindent" >
|
||||
</div><hr class="endfloat" />
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.3.1 </span> <a
|
||||
id="x15-470003.3.1"></a>Vector Methods</h5>
|
||||
<!--l. 1108--><p class="noindent" >
|
||||
<!--l. 1171--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.3.2 </span> <a
|
||||
id="x15-480003.3.2"></a>get_nrows — Get number of rows in a dense vector</h5>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-34">
|
||||
nr = v%get_nrows()
|
||||
</div>
|
||||
<!--l. 1113--><p class="nopar" >
|
||||
<!--l. 1115--><p class="indent" >
|
||||
<!--l. 1174--><p class="noindent" ><span class="lstinline"></span><span
|
||||
class="cmtt-10">nr</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">=</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">v</span><span
|
||||
class="cmtt-10">%</span><span
|
||||
class="cmtt-10">get_nrows</span><span
|
||||
class="cmtt-10">()</span>
|
||||
<!--l. 1176--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -118,7 +125,7 @@ class="description">the dense vector<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span><br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 1125--><p class="indent" >
|
||||
<!--l. 1186--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -126,19 +133,21 @@ class="description">
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Function value</span> </dt><dd
|
||||
class="description">The number of rows of dense vector <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">v</span></span></span>.</dd></dl>
|
||||
<!--l. 1132--><p class="noindent" >
|
||||
class="description">The number of rows of dense vector <span class="lstinline"></span><span
|
||||
class="cmtt-10">v</span>.</dd></dl>
|
||||
<!--l. 1193--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.3.3 </span> <a
|
||||
id="x15-490003.3.3"></a>sizeof — Get memory occupation in bytes of a dense vector</h5>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-35">
|
||||
memory_size = v%sizeof()
|
||||
</div>
|
||||
<!--l. 1137--><p class="nopar" >
|
||||
<!--l. 1139--><p class="indent" >
|
||||
<!--l. 1196--><p class="noindent" ><span class="lstinline"></span><span
|
||||
class="cmtt-10">memory_size</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">=</span><span
|
||||
class="cmtt-10"> </span><span
|
||||
class="cmtt-10">v</span><span
|
||||
class="cmtt-10">%</span><span
|
||||
class="cmtt-10">sizeof</span><span
|
||||
class="cmtt-10">()</span>
|
||||
<!--l. 1198--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -154,7 +163,7 @@ class="description">the dense vector<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span><br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 1149--><p class="indent" >
|
||||
<!--l. 1208--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -163,19 +172,22 @@ class="description">
|
||||
<span
|
||||
class="cmbx-10">Function value</span> </dt><dd
|
||||
class="description">The memory occupation in bytes.</dd></dl>
|
||||
<!--l. 1155--><p class="noindent" >
|
||||
|
||||
|
||||
|
||||
<!--l. 1214--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.3.4 </span> <a
|
||||
id="x15-500003.3.4"></a>set — Set contents of the vector</h5>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-36">
|
||||
<div class="verbatim" id="verbatim-27">
|
||||
 call  v%set(alpha[,first,last])
|
||||
 <br /> call  v%set(vect[,first,last])
|
||||
 <br /> call  v%zero()
|
||||
</div>
|
||||
<!--l. 1162--><p class="nopar" >
|
||||
<!--l. 1164--><p class="indent" >
|
||||
<!--l. 1228--><p class="nopar" >
|
||||
<!--l. 1231--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -202,7 +214,7 @@ class="cmbx-10">required </span><br
|
||||
class="newline" />Intent: <span
|
||||
class="cmbx-10">in</span>.<br
|
||||
class="newline" />Specified as: a number of the data type indicated in Table <a
|
||||
href="userhtmlsu10.html#x19-560011">1<!--tex4ht:ref: tab:f90axpby --></a>.
|
||||
href="userhtmlsu10.html#x19-56001r1">1<!--tex4ht:ref: tab:f90axpby --></a>.
|
||||
</dd><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">first,last</span> </dt><dd
|
||||
@@ -225,14 +237,22 @@ class="cmbx-10">required </span><br
|
||||
class="newline" />Intent: <span
|
||||
class="cmbx-10">in</span>.<br
|
||||
class="newline" />Specified as: a number of the data type indicated in Table <a
|
||||
href="userhtmlsu10.html#x19-560011">1<!--tex4ht:ref: tab:f90axpby --></a>.</dd></dl>
|
||||
<!--l. 1183--><p class="noindent" >Note that a call to <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">v%zero()</span></span></span> is provided as a shorthand, but is equivalent to a call
|
||||
to <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">v%set(zero)</span></span></span> with the <span class="obeylines-h"><span class="verb"><span
|
||||
class="cmtt-10">zero</span></span></span> constant having the appropriate type and
|
||||
href="userhtmlsu10.html#x19-56001r1">1<!--tex4ht:ref: tab:f90axpby --></a>.</dd></dl>
|
||||
<!--l. 1250--><p class="noindent" >Note that a call to <span class="lstinline"></span><span
|
||||
class="cmtt-10">v</span><span
|
||||
class="cmtt-10">%</span><span
|
||||
class="cmtt-10">zero</span><span
|
||||
class="cmtt-10">()</span> is provided as a shorthand, but is equivalent to a call
|
||||
to <span class="lstinline"></span><span
|
||||
class="cmtt-10">v</span><span
|
||||
class="cmtt-10">%</span><span
|
||||
class="cmtt-10">set</span><span
|
||||
class="cmtt-10">(</span><span
|
||||
class="cmtt-10">zero</span><span
|
||||
class="cmtt-10">)</span> with the <span class="lstinline"></span><span
|
||||
class="cmtt-10">zero</span> constant having the appropriate type and
|
||||
kind.
|
||||
<!--l. 1187--><p class="indent" >
|
||||
<!--l. 1254--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -247,17 +267,17 @@ class="newline" /></dd></dl>
|
||||
|
||||
|
||||
|
||||
<!--l. 1193--><p class="noindent" >
|
||||
<!--l. 1260--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.3.5 </span> <a
|
||||
id="x15-510003.3.5"></a>get_vect — Get a copy of the vector contents</h5>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-37">
|
||||
<div class="verbatim" id="verbatim-28">
|
||||
extv = v%get_vect([n])
|
||||
</div>
|
||||
<!--l. 1198--><p class="nopar" >
|
||||
<!--l. 1200--><p class="indent" >
|
||||
<!--l. 1265--><p class="nopar" >
|
||||
<!--l. 1267--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -283,7 +303,7 @@ class="newline" />Type: <span
|
||||
class="cmbx-10">optional</span>; default: entire vector.<br
|
||||
class="newline" />
|
||||
</dd></dl>
|
||||
<!--l. 1214--><p class="indent" >
|
||||
<!--l. 1281--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -299,17 +319,17 @@ class="cmmi-10">n </span>and the internal size of the vector, or 0 if
|
||||
<span
|
||||
class="cmmi-10">n </span>is negative; otherwise, the size of the array is the same as the internal
|
||||
size of the vector.</dd></dl>
|
||||
<!--l. 1223--><p class="noindent" >
|
||||
<!--l. 1290--><p class="noindent" >
|
||||
<h5 class="subsubsectionHead"><span class="titlemark">3.3.6 </span> <a
|
||||
id="x15-520003.3.6"></a>clone — Clone current object</h5>
|
||||
|
||||
|
||||
|
||||
<div class="verbatim" id="verbatim-38">
|
||||
<div class="verbatim" id="verbatim-29">
|
||||
call  x%clone(y,info)
|
||||
</div>
|
||||
<!--l. 1227--><p class="nopar" >
|
||||
<!--l. 1229--><p class="indent" >
|
||||
<!--l. 1294--><p class="nopar" >
|
||||
<!--l. 1296--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">Type:</span> </dt><dd
|
||||
@@ -325,7 +345,7 @@ class="description">the dense vector.<br
|
||||
class="newline" />Scope: <span
|
||||
class="cmbx-10">local</span>.<br
|
||||
class="newline" /></dd></dl>
|
||||
<!--l. 1239--><p class="indent" >
|
||||
<!--l. 1306--><p class="indent" >
|
||||
<dl class="description"><dt class="description">
|
||||
<span
|
||||
class="cmbx-10">On Return</span> </dt><dd
|
||||
@@ -341,12 +361,12 @@ class="description">Return code.</dd></dl>
|
||||
|
||||
|
||||
|
||||
<!--l. 1246--><div class="crosslinks"><p class="noindent">[<a
|
||||
<!--l. 1313--><div class="crosslinks"><p class="noindent">[<a
|
||||
href="userhtmlsu10.html" >next</a>] [<a
|
||||
href="userhtmlsu6.html" >prev</a>] [<a
|
||||
href="userhtmlsu6.html#tailuserhtmlsu6.html" >prev-tail</a>] [<a
|
||||
href="userhtmlsu7.html" >front</a>] [<a
|
||||
href="userhtmlsu7.html#userhtmlse4.html" >up</a>] </p></div>
|
||||
<!--l. 1246--><p class="indent" > <a
|
||||
<!--l. 1313--><p class="indent" > <a
|
||||
id="tailuserhtmlsu7.html"></a>
|
||||
</body></html>
|
||||
|
||||
Reference in New Issue
Block a user