Updated docs with CLONE method.
This commit is contained in:
Salvatore Filippone
2013-04-01 14:34:41 +00:00
parent db2daa7ab9
commit 8ba8f2b213
260 changed files with 21161 additions and 21017 deletions
+113 -43
View File
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>get_nrows -- Get number of rows in a dense vector</TITLE>
<META NAME="description" CONTENT="get_nrows -- Get number of rows in a dense vector">
<TITLE>Dense Vector Data Structure</TITLE>
<META NAME="description" CONTENT="Dense Vector Data Structure">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@@ -18,75 +18,145 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="next" HREF="node33.html">
<LINK REL="previous" HREF="node31.html">
<LINK REL="up" HREF="node30.html">
<LINK REL="next" HREF="node37.html">
<LINK REL="previous" HREF="node30.html">
<LINK REL="up" HREF="node9.html">
<LINK REL="next" HREF="node33.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html600"
<A NAME="tex2html598"
HREF="node33.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html596"
HREF="node30.html">
<A NAME="tex2html594"
HREF="node9.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html590"
<A NAME="tex2html588"
HREF="node31.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html598"
<A NAME="tex2html596"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html601"
HREF="node33.html">get_ncols Get</A>
<B> Up:</B> <A NAME="tex2html597"
HREF="node30.html">Dense Vector Data Structure</A>
<B> Previous:</B> <A NAME="tex2html591"
HREF="node31.html">Methods</A>
&nbsp; <B> <A NAME="tex2html599"
<B> Next:</B> <A NAME="tex2html599"
HREF="node33.html">Methods</A>
<B> Up:</B> <A NAME="tex2html595"
HREF="node9.html">Data Structures and Classes</A>
<B> Previous:</B> <A NAME="tex2html589"
HREF="node31.html">Named Constants</A>
&nbsp; <B> <A NAME="tex2html597"
HREF="node1.html">Contents</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H3><A NAME="SECTION00044200000000000000">
get_nrows -- Get number of rows in a dense vector</A>
</H3>
<P>
<PRE>
nr = v%get_nrows()
</PRE>
<P>
<DL>
<DT><STRONG>Type:</STRONG></DT>
<DD>Asynchronous.
</DD>
<DT><STRONG><B>On Entry</B></STRONG></DT>
<DD>
</DD>
<DT><STRONG>v</STRONG></DT>
<DD>the dense vector
<H2><A NAME="SECTION00046000000000000000"></A>
<A NAME="sec:vecttype"></A>
<BR>
Scope: <B>local</B>
<BR></DD>
</DL>
Dense Vector Data Structure
</H2>
The vdata<TT>psb_T_vect_type</TT> data structure
encapsulates the dense vectors in a way similar to sparse matrices,
i.e. including a base type vbasedata<TT> psb_T_base_vect_type</TT>.
The user will not, in general, access the vector components directly,
but rather via the routines of sec.&nbsp;<A HREF="node58.html#sec:toolsrout">6</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.
<P>
The type declaration is shown in
figure&nbsp;<A HREF="#fig:vectype">5</A> where <code>T</code> is a placeholder for the
data type and precision variants
<DL>
<DT><STRONG><B>On Return</B></STRONG></DT>
<DD>
<DT><STRONG>I</STRONG></DT>
<DD>Integer;
</DD>
<DT><STRONG>Function value</STRONG></DT>
<DD>The number of rows of sparse matrix <code>a</code>.
<DT><STRONG>S</STRONG></DT>
<DD>Single precision real;
</DD>
<DT><STRONG>D</STRONG></DT>
<DD>Double precision real;
</DD>
<DT><STRONG>C</STRONG></DT>
<DD>Single precision complex;
</DD>
<DT><STRONG>Z</STRONG></DT>
<DD>Double precision complex.
</DD>
</DL>
The actual data is contained in the polymorphic component <code>v%v</code>;
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.
<DIV ALIGN="CENTER"><A NAME="fig:vectype"></A><A NAME="757"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
The PSBLAS defined data type that
contains a dense vector.</CAPTION>
<TR><TD><DIV ALIGN="CENTER">
</DIV><TABLE WIDTH="85%">
<TR><TD>
<PRE>
type psb_T_base_vect_type
TYPE(KIND_), allocatable :: v(:)
end type psb_T_base_vect_type
type psb_T_vect_type
class(psb_T_base_vect_type), allocatable :: v
end type psb_T_vect_type
</PRE></TD></TR>
</TABLE>
<DIV ALIGN="CENTER">
</DIV></TD></TR>
</TABLE>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html600"
HREF="node33.html">Methods</A>
<LI><A NAME="tex2html601"
HREF="node34.html">get_nrows -- Get number of rows in a dense vector</A>
<LI><A NAME="tex2html602"
HREF="node35.html">sizeof -- Get memory occupation in bytes
of a dense vector</A>
<LI><A NAME="tex2html603"
HREF="node36.html">get_vect -- Get a copy of the vector contents</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<!--Navigation Panel-->
<A NAME="tex2html598"
HREF="node33.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html594"
HREF="node9.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html588"
HREF="node31.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html596"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html599"
HREF="node33.html">Methods</A>
<B> Up:</B> <A NAME="tex2html595"
HREF="node9.html">Data Structures and Classes</A>
<B> Previous:</B> <A NAME="tex2html589"
HREF="node31.html">Named Constants</A>
&nbsp; <B> <A NAME="tex2html597"
HREF="node1.html">Contents</A></B>
<!--End of Navigation Panel-->
</BODY>
</HTML>