Statistiques
| Révision :

root / man / man3 / HPL_perm.3 @ 1

Historique | Voir | Annoter | Télécharger (1,65 ko)

1
.TH HPL_perm 3 "September 10, 2008" "HPL 2.0" "HPL Library Functions"
2
.SH NAME
3
HPL_perm \- Combine 2 index arrays - Generate the permutation.
4
.SH SYNOPSIS
5
\fB\&#include "hpl.h"\fR
6
 
7
\fB\&void\fR
8
\fB\&HPL_perm(\fR
9
\fB\&const int\fR
10
\fI\&N\fR,
11
\fB\&int *\fR
12
\fI\&LINDXA\fR,
13
\fB\&int *\fR
14
\fI\&LINDXAU\fR,
15
\fB\&int *\fR
16
\fI\&IWORK\fR
17
\fB\&);\fR
18
.SH DESCRIPTION
19
\fB\&HPL_perm\fR
20
combines  two  index  arrays  and generate the corresponding
21
permutation. First, this function computes the inverse of LINDXA, and
22
then combine it with LINDXAU.  Second, in order to be able to perform
23
the permutation in place,  LINDXAU  is overwritten by the sequence of
24
permutation  producing  the  same result.  What we ultimately want to
25
achieve is:  U[LINDXAU[i]] := U[LINDXA[i]] for i in [0..N). After the
26
call to this function,  this in place permutation can be performed by
27
for i in [0..N) swap U[i] with U[LINDXAU[i]].
28
.SH ARGUMENTS
29
.TP 8
30
N       (global input)          const int
31
On entry,  N  specifies the length of the arrays  LINDXA  and
32
LINDXAU. N should be at least zero.
33
.TP 8
34
LINDXA  (global input/output)   int *
35
On entry,  LINDXA  is an array of dimension N  containing the
36
source indexes. On exit,  LINDXA  contains the combined index
37
array.
38
.TP 8
39
LINDXAU (global input/output)   int *
40
On entry,  LINDXAU is an array of dimension N  containing the
41
target indexes.  On exit,  LINDXAU  contains  the sequence of
42
permutation,  that  should be applied  in increasing order to
43
permute the underlying array U in place.
44
.TP 8
45
IWORK   (workspace)             int *
46
On entry, IWORK is a workarray of dimension N.
47
.SH SEE ALSO
48
.BR HPL_plindx1 \ (3),
49
.BR HPL_pdlaswp01N \ (3),
50
.BR HPL_pdlaswp01T \ (3).