Differences From
Artifact [2fffe11917]:
272 272 set.name = string.format('set<%s>', table.concat(tbl, '|'))
273 273 set.metamethods.__entrymissing = macro(function(val, obj)
274 274 if o[val] == nil then error('value ' .. val .. ' not in set') end
275 275 return `bit { _v=[o[val] - 1], _set = &(obj) }
276 276 end)
277 277 terra set:sz()
278 278 var ct: intptr = 0
279 + --for i = 0, [math.floor(#tbl/8)] do
280 + -- ct = ct + lib.math.ll.ctpop_u8(self._store[i])
281 + --end
282 + --[(function()
283 + -- if #tbl % 8 ~= 0 then
284 + -- local last = #tbl-1
285 + -- local msk = (2 ^ (#tbl % 8)) - 1
286 + -- return quote ct = ct + lib.math.ll.ctpop_u8(self._store[last] and [uint8](msk)) end
287 + -- else return {} end
288 + --end)()]
279 289 for i = 0, [#tbl] do
280 290 if (self._store[i/8] and (1 << i % 8)) ~= 0 then ct = ct + 1 end
281 291 end
282 292 return ct
283 293 end
284 294 set.methods.dump = macro(function(self)
285 295 local q = quote lib.io.say('dumping set:\n') end
................................................................................
451 461 'render:media-gallery';
452 462
453 463 'render:docpage';
454 464
455 465 'render:conf:profile';
456 466 'render:conf:sec';
457 467 'render:conf:users';
468 + 'render:conf:avi';
458 469 'render:conf';
459 470 'route';
460 471 }
461 472
462 473 do
463 474 local p = string.format('parsav: %s\nbuilt on %s\n', config.build.str, config.build.when)
464 475 terra version() lib.io.send(1, p, [#p]) end