symmrb.h

Go to the documentation of this file.
00001 
00010 #if !defined(INC_OSKI_HEUR_SYMMRB_H)
00011 
00012 #define INC_OSKI_HEUR_SYMMRB_H
00013 
00014 #include <oski/common.h>
00015 #include <oski/modcommon.h>
00016 #include <oski/heurexport.h>
00017 
00018 #if defined(DO_NAME_MANGLING)
00019 
00021 #define oski_symmrb_t MANGLE_(oski_symmrb_t)
00022 #define oski_LoadProfileMBCSRSymmMatMult \
00023     MANGLE_(oski_LoadProfileMBCSRSymmMatMult)
00024 #define oski_UnloadProfileMBCSRSymmMatMult \
00025     MANGLE_(oski_UnloadProfileMBCSRSymmMatMult)
00026 
00027 #endif
00028 
00034 typedef struct
00035 {
00036   oski_index_t r;   
00037   oski_index_t c;   
00038 } oski_symmrb_t;
00039 
00046 typedef struct
00047 {
00048   size_t max_r;        
00049   size_t max_c;        
00050   double *perf;        
00051 }
00052 oski_profile_MBCSRSymmMatMult_t;
00053 
00058 #define PROF_MBCSR_GET(P, r, c) ((P)->perf[((r)-1)*(P)->max_c + (c)-1])
00059 
00064 #define PROF_MBCSR_SET(P, r, c, v) \
00065     ((P)->perf[((r)-1)*(P)->max_c + (c)-1] = (v))
00066 
00071 const oski_profile_MBCSRSymmMatMult_t *oski_LoadProfileMBCSRSymmMatMult (const
00072                                      char
00073                                      *filename);
00074 
00079 void oski_UnloadProfileMBCSRSymmMatMult (void);
00080 
00081 #endif
00082 
00083 /* eof */

Generated on Wed Sep 19 16:41:18 2007 for BeBOP Optimized Sparse Kernel Interface Library by  doxygen 1.4.6