File

util/bit53.lua @ 13033:a863e4237b91

util.set: Change tostring format to {a, b, c} Makes it easier to make out where the set starts and ends in cases where it may get embedded and tostring()-ed in a log message. { } taken over from util.array for consistency with some other systems syntax for Sets, e.g. Python
author Kim Alvefur <zash@zash.se>
date Thu, 06 Apr 2023 16:30:26 +0200
parent 12365:af02b033bd7f
line wrap: on
line source

-- 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;
	rshift = function (a, n) return a >> n end;
	lshift = function (a, n) return a << n end;
};