File: dataStructure.tex

package info (click to toggle)
spooles 2.2-16
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,760 kB
  • sloc: ansic: 146,836; sh: 7,571; csh: 3,615; makefile: 1,970; perl: 74
file content (70 lines) | stat: -rw-r--r-- 1,962 bytes parent folder | download | duplicates (7)
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
\par
\section{Data Structure}
\label{section:Chv:dataStructure}
\par
\par
The {\tt Chv} structure has the following fields.
\begin{itemize}
\item
{\tt int id} : object's id, default value is {\tt -1}.
\item
{\tt int nD} : number of rows and columns in the (1,1) block
\item
{\tt int nL} : number of rows in the (2,1) block
\item
{\tt int nU} : number of columns in the (1,2) block
\item
{\tt int type} : type of entries
\begin{itemize}
\item {\tt SPOOLES\_REAL} $\Longrightarrow$ real entries
\item {\tt SPOOLES\_COMPLEX} $\Longrightarrow$ complex entries
\end{itemize}
\item
{\tt int symflag} : symmetry flag
\begin{itemize}
\item {\tt SPOOLES\_SYMMETRIC} $\Longrightarrow$ 
      symmetric entries
\item {\tt SPOOLES\_HERMITIAN} $\Longrightarrow$ 
      Hermitian entries
\item {\tt SPOOLES\_NONSYMMETRIC} $\Longrightarrow$ 
      nonsymmetric entries
\end{itemize}
\item
{\tt int *rowind} : 
pointer to the base address of the {\tt int} vector 
that contains row indices.
\item
{\tt int *colind} : 
pointer to the base address of the {\tt int} vector 
that contains column indices.
\item
{\tt double *entries} : 
pointer to the base address of the {\tt double} vector that
contains the entries.
\item
{\tt DV wrkDV} : 
object that manages the owned working storage.
\item
{\tt Chv *next} : 
link to a next object in a singly linked list.
\end{itemize}
\par
One can query the type and symmetry
of the object using these simple macros.
\begin{itemize}
\item
{\tt CHV\_IS\_REAL(chv)} is {\tt 1} if {\tt chv} 
has real entries and {\tt 0} otherwise.
\item
{\tt CHV\_IS\_COMPLEX(chv)} is {\tt 1} if {\tt chv} 
has complex entries and {\tt 0} otherwise.
\item
{\tt CHV\_IS\_SYMMETRIC(chv)} is {\tt 1} if {\tt chv} 
is symmetric and {\tt 0} otherwise.
\item
{\tt CHV\_IS\_HERMITIAN(chv)} is {\tt 1} if {\tt chv} 
is Hermitian and {\tt 0} otherwise.
\item
{\tt CHV\_IS\_NONSYMMETRIC(chv)} is {\tt 1} if {\tt chv} 
is nonsymmetric and {\tt 0} otherwise.
\end{itemize}