This file is indexed.

/usr/include/seq_multivector.h is in libhypre-dev 2.4.0b-7.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
/*BHEADER**********************************************************************
 * Copyright (c) 2008,  Lawrence Livermore National Security, LLC.
 * Produced at the Lawrence Livermore National Laboratory.
 * This file is part of HYPRE.  See file COPYRIGHT for details.
 *
 * HYPRE is free software; you can redistribute it and/or modify it under the
 * terms of the GNU Lesser General Public License (as published by the Free
 * Software Foundation) version 2.1 dated February 1999.
 *
 * $Revision: 1.5 $
 ***********************************************************************EHEADER*/





/******************************************************************************
 *
 * Header info for Multivector data structure
 *
 *****************************************************************************/

#ifndef hypre_MULTIVECTOR_HEADER
#define hypre_MULTIVECTOR_HEADER

#ifdef __cplusplus
extern "C" {
#endif

/*--------------------------------------------------------------------------
 * hypre_Multivector
 *--------------------------------------------------------------------------*/

typedef struct
{
   double  *data;
   int      size;
   int      owns_data;
   int      num_vectors;  /* the above "size" is size of one vector */
   
   int      num_active_vectors;
   int     *active_indices;   /* indices of active vectors; 0-based notation */
       
} hypre_Multivector;

/*--------------------------------------------------------------------------
 * Accessor functions for the Multivector structure
 *--------------------------------------------------------------------------*/

#define hypre_MultivectorData(vector)      ((vector) -> data)
#define hypre_MultivectorSize(vector)      ((vector) -> size)
#define hypre_MultivectorOwnsData(vector)  ((vector) -> owns_data)
#define hypre_MultivectorNumVectors(vector) ((vector) -> num_vectors)

hypre_Multivector * hypre_SeqMultivectorCreate(int size, int num_vectors);
hypre_Multivector *hypre_SeqMultivectorRead(char *file_name);

int hypre_SeqMultivectorDestroy(hypre_Multivector *vector);
int hypre_SeqMultivectorInitialize(hypre_Multivector *vector);
int hypre_SeqMultivectorSetDataOwner(hypre_Multivector *vector , int owns_data);
int hypre_SeqMultivectorPrint(hypre_Multivector *vector , char *file_name);
int hypre_SeqMultivectorSetConstantValues(hypre_Multivector *v,double value);
int hypre_SeqMultivectorSetRandomValues(hypre_Multivector *v , int seed);
int hypre_SeqMultivectorCopy(hypre_Multivector *x , hypre_Multivector *y);
int hypre_SeqMultivectorScale(double alpha , hypre_Multivector *y, int *mask);
int hypre_SeqMultivectorAxpy(double alpha , hypre_Multivector *x , 
                             hypre_Multivector *y);
int hypre_SeqMultivectorInnerProd(hypre_Multivector *x , hypre_Multivector *y,
                                  double *results);
int hypre_SeqMultivectorMultiScale(double *alpha, hypre_Multivector *v, 
                                   int *mask);
int hypre_SeqMultivectorByDiag(hypre_Multivector *x, int *mask, int n,
                               double *alpha, hypre_Multivector *y);

int hypre_SeqMultivectorInnerProdDiag(hypre_Multivector *x, 
                                      hypre_Multivector *y, 
                                      double *diagResults );

int hypre_SeqMultivectorSetMask(hypre_Multivector *mvector, int * mask);

int hypre_SeqMultivectorCopyWithoutMask(hypre_Multivector *x ,
                                        hypre_Multivector *y);

int hypre_SeqMultivectorByMatrix(hypre_Multivector *x, int rGHeight, int rHeight, 
                                 int rWidth, double* rVal, hypre_Multivector *y);

int hypre_SeqMultivectorXapy (hypre_Multivector *x, int rGHeight, int rHeight, 
                              int rWidth, double* rVal, hypre_Multivector *y);

#ifdef __cplusplus
}
#endif

#endif /* hypre_MULTIVECTOR_HEADER */