File: _superluobject.h

package info (click to toggle)
python-scipy 0.5.2-0.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 33,888 kB
  • ctags: 44,231
  • sloc: ansic: 156,256; cpp: 90,347; python: 89,604; fortran: 73,083; sh: 1,318; objc: 424; makefile: 342
file content (105 lines) | stat: -rw-r--r-- 3,237 bytes parent folder | download | duplicates (4)
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
95
96
97
98
99
100
101
102
103
104
105
#ifndef __SUPERLU_OBJECT /* allow multiple inclusions */
#define __SUPERLU_OBJECT

#include "Python.h"
#define PY_ARRAY_UNIQUE_SYMBOL scipy_superlu
#include "numpy/arrayobject.h"
#include "SuperLU/SRC/util.h"
#include "SuperLU/SRC/scomplex.h"
#include "SuperLU/SRC/dcomplex.h"


#define _CHECK_INTEGER(x) (PyArray_ISINTEGER(x) && (x)->descr->elsize == sizeof(int))

/*********************************************************************** 
 * SuperLUObject definition
 */

typedef struct SciPyLUObject {
  PyObject_VAR_HEAD
  int m,n;
  SuperMatrix L;
  SuperMatrix U;
  int *perm_r;
  int *perm_c;
  int type;
} SciPyLUObject;

extern PyTypeObject SciPySuperLUType;

int DenseSuper_from_Numeric(SuperMatrix *, PyObject *);
int NRFormat_from_spMatrix(SuperMatrix *, int, int, int, PyArrayObject *, PyArrayObject *, PyArrayObject *, int);
int NCFormat_from_spMatrix(SuperMatrix *, int, int, int, PyArrayObject *, PyArrayObject *, PyArrayObject *, int);
colperm_t superlu_module_getpermc(int);
PyObject *newSciPyLUObject(SuperMatrix *, double, double, int, int, int, int);

void
dgstrf (superlu_options_t *, SuperMatrix *, double,
        int, int, int *, void *, int,
        int *, int *, SuperMatrix *, SuperMatrix *,
        SuperLUStat_t *, int *);

void
sgstrf (superlu_options_t *, SuperMatrix *, float,
        int, int, int *, void *, int,
        int *, int *, SuperMatrix *, SuperMatrix *,
        SuperLUStat_t *, int *);

void
cgstrf (superlu_options_t *, SuperMatrix *, float,
        int, int, int *, void *, int,
        int *, int *, SuperMatrix *, SuperMatrix *,
        SuperLUStat_t *, int *);

void
dgstrs (trans_t, SuperMatrix *, SuperMatrix *,
        int *, int *, SuperMatrix *,
        SuperLUStat_t *, int *);

void
sgstrs (trans_t, SuperMatrix *, SuperMatrix *,
        int *, int *, SuperMatrix *,
        SuperLUStat_t *, int *);

void
cgstrs (trans_t, SuperMatrix *, SuperMatrix *,
        int *, int *, SuperMatrix *,
        SuperLUStat_t *, int *);

void
sCreate_Dense_Matrix(SuperMatrix *, int, int, float *, int, Stype_t, Dtype_t, Mtype_t);
void
dCreate_Dense_Matrix(SuperMatrix *, int, int, double *, int, Stype_t, Dtype_t, Mtype_t);
void
cCreate_Dense_Matrix(SuperMatrix *, int, int, complex *, int, Stype_t, Dtype_t, Mtype_t);

void
sCreate_CompRow_Matrix(SuperMatrix *, int, int, int,
                       float *, int *, int *,
                       Stype_t, Dtype_t, Mtype_t);

void
dCreate_CompRow_Matrix(SuperMatrix *, int, int, int,
                       double *, int *, int *,
                       Stype_t, Dtype_t, Mtype_t);

void
cCreate_CompRow_Matrix(SuperMatrix *, int, int, int,
                       complex *, int *, int *,
                       Stype_t, Dtype_t, Mtype_t);

void
sCreate_CompCol_Matrix(SuperMatrix *, int, int, int,
                       float *, int *, int *,
                       Stype_t, Dtype_t, Mtype_t);
void
dCreate_CompCol_Matrix(SuperMatrix *, int, int, int,
                       double *, int *, int *,
                       Stype_t, Dtype_t, Mtype_t);
void
cCreate_CompCol_Matrix(SuperMatrix *, int, int, int,
                       complex *, int *, int *,
                       Stype_t, Dtype_t, Mtype_t);


#endif  /* __SUPERLU_OBJECT */