DSDP
src
sdp
dsdpdatamat_impl.h
Go to the documentation of this file.
1
#if !defined(__DSDP_DATAMATRIX_H)
2
#define __DSDP_DATAMATRIX_H
3
10
/* DSDP Data Matrices have particular operations, and several implementations */
15
struct
DSDPDataMat_Ops
{
16
int
id;
17
int (*mataddallmultiple)(
void
*,double,
double
[],int,int);
18
int (*matdot)(
void
*,
double
[], int, int,
double
*);
19
int (*matgetrank)(
void
*,
int
*,int);
20
int (*matgeteig)(
void
*,int,
double
*,
double
[],int,
int
[],
int
*);
21
int (*matvecvec)(
void
*,
double
[], int,
double
*);
22
int (*mataddrowmultiple)(
void
*,int,double,
double
[],int);
/* NEEDED? */
23
int (*matmultiply)(
void
*,
double
[],
double
[],int);
24
int (*matfactor1)(
void
*);
25
int (*matfactor2)(
void
*,
double
[],int,
double
[],int,
double
[],int,
int
[],int);
26
int (*matfnorm2)(
void
*,int,
double
*);
27
int (*matrownz)(
void
*,int,
int
[],
int
*,int);
28
int (*matnnz)(
void
*,
int
*,int);
29
int (*mattest)(
void
*);
30
int (*matdestroy)(
void
*);
31
int (*matview)(
void
*);
32
const
char
*matname;
33
};
34
35
#ifdef __cplusplus
36
extern
"C"
{
37
#endif
38
extern
int
DSDPGetEigs(
double
[],
int
,
double
[],
int
,
long
int
[],
int
,
39
double
[],
int
,
double
[],
int
,
int
[],
int
);
40
extern
int
DSDPGetEigs2(
double
[],
int
,
double
[],
int
,
long
int
[],
int
,
41
double
[],
int
,
double
[],
int
,
int
[],
int
);
42
43
int
DSDPDataMatOpsInitialize
(
struct
DSDPDataMat_Ops
*);
44
45
#ifdef __cplusplus
46
}
47
#endif
48
49
/*
50
#include "dsdpdatamat.h"
51
*/
52
53
#endif
54
55
DSDPDataMatOpsInitialize
int DSDPDataMatOpsInitialize(struct DSDPDataMat_Ops *)
Initialize the table of function pointers for SDP Data matrices.
Definition:
dsdpdatamat.c:47
DSDPDataMat_Ops
Table of function pointers that operate on the data matrix.
Definition:
dsdpdatamat_impl.h:15
Generated by
1.8.18