/usr/include/dsdp/dsdpdatamat_impl.h is in libdsdp-dev 5.8-9.1ubuntu2.
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 | #if !defined(__DSDP_DATAMATRIX_H)
#define __DSDP_DATAMATRIX_H
/*!
\file dsdpdatamat_impl.h
\brief Structure of function pointers that each SDP data matrix type
(sparse, dense, constant, identity, ...) must implement.
*/
/* DSDP Data Matrices have particular operations, and several implementations */
/*!
struct DSDPDataMat_Ops
\brief Table of function pointers that operate on the data matrix.
*/
struct DSDPDataMat_Ops{
int id;
int (*mataddallmultiple)(void*,double,double[],int,int);
int (*matdot)(void*, double[], int, int, double *);
int (*matgetrank)(void*,int*,int);
int (*matgeteig)(void*,int,double*,double[],int,int[],int*);
int (*matvecvec)(void*, double[], int,double*);
int (*mataddrowmultiple)(void*,int,double,double[],int); /* NEEDED? */
int (*matmultiply)(void*,double[],double[],int);
int (*matfactor1)(void*);
int (*matfactor2)(void*,double[],int,double[],int,double[],int,int[],int);
int (*matfnorm2)(void*,int,double*);
int (*matrownz)(void*,int,int[],int*,int);
int (*matnnz)(void*,int*,int);
int (*mattest)(void*);
int (*matdestroy)(void*);
int (*matview)(void*);
const char *matname;
};
#ifdef __cplusplus
extern "C" {
#endif
extern int DSDPGetEigs(double[],int,double[],int,long int[],int,
double[],int,double[],int,int[],int);
extern int DSDPGetEigs2(double[],int,double[],int,long int[],int,
double[],int,double[],int,int[],int);
int DSDPDataMatOpsInitialize(struct DSDPDataMat_Ops*);
#ifdef __cplusplus
}
#endif
/*
#include "dsdpdatamat.h"
*/
#endif
|