parsav  Diff

Differences From Artifact [2fffe11917]:

To Artifact [04e1a3fbb9]:


   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