You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
560 B
C
24 lines
560 B
C
#ifndef math_fastcall_h
|
|
#define math_fastcall_h
|
|
|
|
#include <lua.h>
|
|
#include "linalg.h"
|
|
#include "refstack.h"
|
|
|
|
typedef int (*MFunction)(lua_State *L, struct lastack *LS, struct ref_stack *RS);
|
|
|
|
#define FASTMATH(f)\
|
|
int m_##f(lua_State *L, struct lastack *LS_, struct ref_stack *RS_) {\
|
|
struct ref_stack tmpRS; \
|
|
struct lastack *LS;\
|
|
struct ref_stack *RS;\
|
|
if (L == NULL) {\
|
|
L = RS_->L; LS=LS_; RS=RS_; (void)LS; (void)RS;\
|
|
} else {\
|
|
LS = getLS(L, 1); refstack_init(&tmpRS, L); RS = &tmpRS;\
|
|
}
|
|
|
|
#define MFUNCTION(f) #f, (lua_CFunction)( m_##f )
|
|
|
|
#endif
|