欢迎来到奇葩栖息地!欢迎加入Discord服务器:XfrfHCzfbW。请先至特殊:参数设置验证邮箱后再进行编辑。在特殊:参数设置挑选自己想要使用的小工具!不会编辑?请至这里学习Wikitext语法。
模块:Chinese calendar:修订间差异
来自奇葩栖息地
// Edit via Wikiplus
SkyEye FAST(讨论 | 贡献) 无编辑摘要 标签:已被回退 |
SkyEye FAST(讨论 | 贡献) (// Edit via Wikiplus) 标签:已被回退 |
||
第2行:
-- 位运算模拟函数
if b < 0 then return lshift(a, -b) end▼
return math.floor(a / (2 ^ b))▼
if b < 0 then return rshift(a, -b) end▼
return a * (2 ^ b)▼
local function band(a, b)
a = tonumber(a) or 0
b = tonumber(b) or 0
local result = 0
local bitval = 1
while a > 0 and b > 0 do▼
-- 转换为正整数处理
a = math.floor(math.abs(a))
if a % 2 == 1 and b % 2 == 1 then
result = result + bitval
end
bitval = bitval * 2
a = math.floor(a
b = math.floor(b
end
return result
第314行 ⟶ 第311行:
function calendar.lYearDays(y)
local sum = 348
for i = 0x8000, 0x8, -1 do
▲ if band(calendar.lunarInfo[y - 1900], i) ~= 0 then
sum = sum + 1
end
第324行 ⟶ 第323行:
function calendar.leapMonth(y)
end
function calendar.leapDays(y)
local info = calendar.lunarInfo[y - 1900]
if not info then return 0 end
if calendar.leapMonth(y) ~= 0 then
return band(
end
return 0
|