mregblock.h

Go to the documentation of this file.
00001 
00011 #if !defined(INC_OSKI_HEUR_MREGBLOCK_H)
00012 
00013 #define INC_OSKI_HEUR_MREGBLOCK_H
00014 
00015 #include <oski/common.h>
00016 #include <oski/modcommon.h>
00017 #include <oski/heurexport.h>
00018 
00019 #if defined(DO_NAME_MANGLING)
00020 
00022 #define oski_mregblock_t MANGLE_(oski_mregblock_t)
00023 #define oski_LoadProfileMBCSRMatMult \
00024     MANGLE_(oski_LoadProfileMBCSRMatMult)
00025 #define oski_UnloadProfileMBCSRMatMult \
00026     MANGLE_(oski_UnloadProfileMBCSRMatMult)
00027 
00028 #endif
00029 
00035 typedef struct
00036 {
00037   oski_index_t r;   
00038   oski_index_t c;   
00039 } oski_mregblock_t;
00040 
00047 typedef struct
00048 {
00049   size_t max_r;        
00050   size_t max_c;        
00051   double *perf;        
00052 }
00053 oski_profile_MBCSRMatMult_t;
00054 
00059 #define PROF_MBCSR_GET(P, r, c) ((P)->perf[((r)-1)*(P)->max_c + (c)-1])
00060 
00065 #define PROF_MBCSR_SET(P, r, c, v) \
00066     ((P)->perf[((r)-1)*(P)->max_c + (c)-1] = (v))
00067 
00072 const oski_profile_MBCSRMatMult_t *oski_LoadProfileMBCSRMatMult (const char
00073                                  *filename);
00074 
00079 void oski_UnloadProfileMBCSRMatMult (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