00001
00026 #if !defined(INC_OSKI_KERINFO_H)
00027
00028 #define INC_OSKI_KERINFO_H
00029
00033 typedef struct tagBebop_kerinfo_t
00034 {
00035 oski_id_t id;
00036 const char *name;
00037 } oski_kerinfo_t;
00038
00047 #define OSKI_KERNEL(macro_tag, name) {OSKI_KERNEL_##macro_tag, name}
00048
00050 #define OSKI_KERNEL_END INVALID_ID
00051 #define OSKI_KERNEL_END_REC OSKI_KERNEL(END, NULL)
00052
00061
00063 #define OSKI_KERNEL_MatMult 1
00064 #define OSKI_KERNEL_MatMult_REC OSKI_KERNEL(MatMult, "MatMult")
00065
00068 #define OSKI_KERNEL_MatTrisolve 2
00069 #define OSKI_KERNEL_MatTrisolve_REC OSKI_KERNEL(MatTrisolve, "MatTrisolve")
00070
00076 #define OSKI_KERNEL_MatMultAndMatTransMult 3
00077 #define OSKI_KERNEL_MatMultAndMatTransMult_REC \
00078 OSKI_KERNEL(MatMultAndMatTransMult, "MatMultAndMatTransMult")
00079
00084 #define OSKI_KERNEL_MatTransMatMult 4
00085 #define OSKI_KERNEL_MatTransMatMult_REC \
00086 OSKI_KERNEL(MatTransMatMult, "MatTransMatMult")
00087
00092 #define OSKI_KERNEL_MatPowMult 5
00093 #define OSKI_KERNEL_MatPowMult_REC OSKI_KERNEL(MatPowMult, "MatPowMult")
00094
00097
00101 const oski_kerinfo_t *oski_LookupKernelInfo (oski_id_t id);
00102
00103 #endif
00104
00105