#ifndef _MY_LIB_H_ #define _MY_LIB_H_ #ifdef MKL #include "mkl.h" #include "mkl_scalapack.h" #include "mkl_blacs.h" #endif typedef struct{ int length; int *array; }convform; convform str2array(char *stringa); void Cpdlaprnt(int *m, int *n, double *a, int *ia, int *ja, int *desca, int *irprnt, int *icprnt, char *cmatnm, int *nout, double *work); void Cpdlawrite(char *filnam, int *m, int *n, double *a, int *ia, int *ja, int *desca, int *irwrit, int *icwrit, double *work); void Cpdlaread(char *filnam, double *A, int *desca, int *irread, int *icread, double *work); extern void wpdlaprnt_(int *m, int *n, double *a, int *ia, int *ja, int *desca, int *irprnt, int *icprnt, int *length, int *array, int *nout, double *work); extern void wpdlawrite_(int *length, int *array, int *m, int *n, double *a, int *ia, int *ja, int *desca, int *irwrit, int *icwrit, double *work); extern void wpdlaread_(int *length, int *array, double *A, int *desca, int *irread, int *icread, double *work); #ifndef MKL // CBLACS PROTOTYPES extern void Cblacs_pinfo( int* mypnum, int* nprocs); extern void Cblacs_get( int context, int request, int* value); extern int Cblacs_gridinit( int* context, char* order, int np_row, int np_col); extern void Cblacs_gridinfo( int context, int* np_row, int* np_col, int* my_row, int* my_col); extern void Cblacs_gridexit( int context); extern void Cblacs_exit( int error_code); extern void Cblacs_barrier(int context, char* scope); #endif // BLACS/SCALAPACK PROTOTYPES int numroc_( int* n, int * nb, int * iproc, int * isrcproc, int * nprocs ); void descinit_( int * desca, int * m, int * n, int * mb, int * nb, int * irsrc, int * icsrc, int * context,int * llda, int * info ); void pdelset_( double * A, int * i, int * j, int * desca, double * alpha ); #ifndef MKL void pdgesv_( int * n, int * nrhs, double * A, int * ia, int * ja, int * desca, int * ipiv, double * b, int * ib, int * jb, int * descb, int * info ); #endif #endif