BeBOP Optimized Sparse Kernel Interface Library  1.0.1h
lua.h
Go to the documentation of this file.
00001 
00006 #if !defined(INC_OSKI_LUA_H)
00007 
00008 #define INC_OSKI_LUA_H
00009 
00010 #include <oski/common.h>
00011 #include <oski/mangle.h>
00012 #include <oski/matcommon.h>
00013 
00014 #if defined(DO_NAME_MANGLING)
00015 
00017 #define oski_matlua_t MANGLE_(oski_matlua_t)
00018 #define oski_PushEmptyLuaMat  MANGLE_(oski_PushEmptyLuaMat)
00019 #define oski_GetStackLuaMat MANGLE_(oski_GetStackLuaMat)
00020 
00021 #endif
00022 
00033 typedef struct
00034 {
00035   const oski_matcommon_t *props;  
00036   oski_matspecific_t mat;  
00038   char *mattype_name; 
00039   oski_id_t ind_type;   
00040   oski_id_t val_type;   
00041 }
00042 oski_matlua_t;
00043 
00045 #define OLUA_NEWUSERDATA(L, typ) (typ *)lua_newuserdata(L, sizeof(typ))
00046 
00048 #define OLUA_MATTAB   "OskiLua.Mat"
00049 
00051 #define OLUA_MAT  "Mat"
00052 
00054 #define OLUA_INMAT "InputMat"
00055 
00056 /* ----------- Lua-specific ---------- */
00057 #if !defined (lua_h)
00058 typedef struct lua_State lua_State;
00059 #endif
00060 
00065 oski_matlua_t *oski_PushEmptyLuaMat (lua_State * L);
00066 
00072 oski_matlua_t *oski_GetStackLuaMat (lua_State * L, int stack_pos);
00073 
00074 #endif
00075 
00076 /* eof */