Ori BernsteinStart cleaning up libstd.a7b3e4f8 years agoHistory
20 lines · 430 B · Text
RawDownload
use "types"use "alloc" pkg std =	generic slpush	: (sl : @a[:]#, elt : @a -> @a[:]);; generic slpush = {sl, elt	/*	  slpush relies on implementation details	  of slgrow for efficiency. Because bucket	  sizes come in powers of two for all buckets	  <= 32k, and by powers of 1.5 for larger	  slices, this is effectively growing the	  slice by powers of two.	*/	slgrow(sl, sl#.len + 1)	sl#[sl#.len - 1] = elt	-> sl#}