util/bit53.lua
author Kim Alvefur <zash@zash.se>
Sun, 03 Dec 2023 23:19:27 +0100
changeset 13490 fdd1438d9ef7
parent 13453 9912baa541c0
permissions -rw-r--r--
mod_pep: Implement 'roster' (group) access_model Allows e.g. restricting your vcard4 to only family or similar. Notes: This does not include roster groups in the configuration form, so the client will have to get them from the actual roster.

-- Only the operators needed by net.websocket.frames are provided at this point
return {
	band   = function (a, b, ...)
		local ret = a & b;
		if ... then
			for i = 1, select("#", ...) do
				ret = ret & (select(i, ...));
			end
		end
		return ret;
	end;
	bor    = function (a, b, ...)
		local ret = a | b;
		if ... then
			for i = 1, select("#", ...) do
				ret = ret | (select(i, ...));
			end
		end
		return ret;
	end;
	bxor   = function (a, b, ...)
		local ret = a ~ b;
		if ... then
			for i = 1, select("#", ...) do
				ret = ret ~ (select(i, ...));
			end
		end
		return ret;
	end;
	bnot   = function (x)
		return ~x;
	end;
	rshift = function (a, n) return a >> n end;
	lshift = function (a, n) return a << n end;
};