BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00007 #if !defined(INC_OSKI_HEUR_ESTFILL_H) 00008 00009 #define INC_OSKI_HEUR_ESTFILL_H 00010 00011 #include <oski/common.h> 00012 #include <oski/mangle.h> 00013 #include <oski/matrix.h> 00014 #include <oski/CSR/format.h> 00015 #include <oski/CSC/format.h> 00016 00017 #if defined(DO_NAME_MANGLING) 00018 00020 #define oski_EstimateFillBCSR MANGLE_(oski_EstimateFillBCSR) 00021 #define oski_DestroyBCSRFillProfile MANGLE_(oski_DestroyBCSRFillProfile) 00022 00023 #endif 00024 00026 typedef struct 00027 { 00028 size_t max_r; 00029 size_t max_c; 00030 double *ratio; 00031 } 00032 oski_fillprofile_BCSR_t; 00033 00035 #define PROF_FILLBCSR_GET( P, r, c ) (P)->ratio[(r-1)*(P)->max_c + (c-1)] 00036 00038 #define PROF_FILLBCSR_SET( P, r, c, rho ) \ 00039 (P)->ratio[(r-1)*(P)->max_c + (c-1)] = (rho) 00040 00045 oski_fillprofile_BCSR_t *oski_EstimateFillBCSR (const oski_matspecific_t * 00046 mat, 00047 const oski_matcommon_t * 00048 props, size_t max_r, 00049 size_t max_c, 00050 double prob_examine); 00051 00055 void oski_DestroyBCSRFillProfile (oski_fillprofile_BCSR_t * fill); 00056 00057 #endif 00058 00059 /* eof */