summaryrefslogtreecommitdiffstats
path: root/mbbsd/bbsluaext.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/bbsluaext.c')
-rw-r--r--mbbsd/bbsluaext.c83
1 files changed, 0 insertions, 83 deletions
diff --git a/mbbsd/bbsluaext.c b/mbbsd/bbsluaext.c
deleted file mode 100644
index ee3521ea..00000000
--- a/mbbsd/bbsluaext.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* This file contains non-standard modules which
- * are fundamental in BBSLua framework.
- */
-
-/* Bitwise operations library */
-/* (c) Reuben Thomas 2000-2007 */
-/*
- bitlib release 24
- -----------------
- by Reuben Thomas <rrt@sc3d.org>
- http://luaforge.net/projects/bitlib
-
-
-bitlib is a C library for Lua 5.x that provides bitwise operations. It
-is copyright Reuben Thomas 2000-2007, and is released under the MIT
-license, like Lua (see http://www.lua.org/copyright.html; it's
-basically the same as the BSD license). There is no warranty.
-
-Please report bugs and make suggestions to the email address above, or
-use the LuaForge trackers.
-
-Thanks to John Passaniti for his bitwise operations library, some of
-whose ideas I used, to Shmuel Zeigerman for the test suite, to
-Thatcher Ulrich for portability fixes, and to John Stiles for a bug
-fix.
-*/
-
-#include <inttypes.h>
-#include <lauxlib.h>
-#include <lua.h>
-
-typedef int32_t Integer;
-typedef uint32_t UInteger;
-
-#define checkUInteger(L, n) ((UInteger)luaL_checknumber((L), (n)))
-
-#define TDYADIC(name, op, type1, type2) \
- static int bit_ ## name(lua_State* L) { \
- lua_pushnumber(L, (Integer)((type1)checkUInteger(L, 1) op (type2)checkUInteger(L, 2))); \
- return 1; \
- }
-
-#define MONADIC(name, op, type) \
- static int bit_ ## name(lua_State* L) { \
- lua_pushnumber(L, (Integer)(op (type)checkUInteger(L, 1))); \
- return 1; \
- }
-
-#define VARIADIC(name, op, type) \
- static int bit_ ## name(lua_State *L) { \
- int n = lua_gettop(L), i; \
- Integer w = (type)checkUInteger(L, 1); \
- for (i = 2; i <= n; i++) \
- w op (type)checkUInteger(L, i); \
- lua_pushnumber(L, (Integer)w); \
- return 1; \
- }
-
-MONADIC(cast, +, Integer)
-MONADIC(bnot, ~, Integer)
-VARIADIC(band, &=, Integer)
-VARIADIC(bor, |=, Integer)
-VARIADIC(bxor, ^=, Integer)
-TDYADIC(lshift, <<, Integer, UInteger)
-TDYADIC(rshift, >>, UInteger, UInteger)
-TDYADIC(arshift, >>, Integer, UInteger)
-
-static const struct luaL_reg bitlib[] = {
- {"cast", bit_cast},
- {"bnot", bit_bnot},
- {"band", bit_band},
- {"bor", bit_bor},
- {"bxor", bit_bxor},
- {"lshift", bit_lshift},
- {"rshift", bit_rshift},
- {"arshift", bit_arshift},
- {NULL, NULL}
-};
-
-LUALIB_API int luaopen_bit (lua_State *L) {
- luaL_openlib(L, "bit", bitlib, 0);
- return 1;
-}