Lindenii Project Forge
Login

hare-ds

Data structures for Hare
Commit info
ID
9f4132230739d19ff3011603f9392c80f8ec1fb4
Author
Runxi Yu <me@runxiyu.org>
Author date
Wed, 17 Sep 2025 03:20:37 +0800
Committer
Runxi Yu <me@runxiyu.org>
Committer date
Wed, 17 Sep 2025 03:20:37 +0800
Actions
Update test sizes
use ds::map;
use errors;

@test fn test() void = {
	const ts: [3]size = [2z, 3z, 8z];
	for (let i = 0z; i < len(ts); i += 1) {
		let m: *map = match (new(ts[i])) {
		case let p: *map => yield p;
		case errors::invalid => abort("btree: invalid t");
		case nomem => abort("btree: nomem");
		};
		defer finish(m);
		map::stress_test(m, 200000);
		map::stress_test(m, 20000);
	};
};
use ds::map;

@test fn test() void = {
	let m: *map = match (new()) {
	case let p: *map => yield p;
	case nomem => abort("rbtree: nomem");
	};
	defer finish(m);
	map::stress_test(m, 200000);
	map::stress_test(m, 20000);
};
use ds::map;

@test fn test() void = {
	let m: *map = match (new()) {
	case let p: *map => yield p;
	case nomem => abort("slice_basic: nomem");
	};
	defer finish(m);
	map::stress_test(m, 2000);
	map::stress_test(m, 20000);
};
use ds::map;

@test fn test() void = {
@test fn test_2000() void = {
	let m: *map = match (new()) {
	case let p: *map => yield p;
	case nomem => abort("slice_sorted: nomem");
	};
	defer finish(m);
	map::stress_test(m, 1000);
	map::stress_test(m, 2000);
};
use crypto::random;
use ds::map;
use errors;

@test fn test() void = {
	let key1: [16]u8 = [0...];
	let key2: [16]u8 = [0...];
	random::buffer(&key1);
	random::buffer(&key2);

	const groups: [2]size = [1z, 32z];
	const keys: [2]*[16]u8 = [&key1, &key2];

	for (let gi = 0z; gi < len(groups); gi += 1) {
		for (let ki = 0z; ki < len(keys); ki += 1) {
			let m: *map = match (new(groups[gi], *keys[ki])) {
			case let p: *map => yield p;
			case errors::invalid => abort("swiss_siphash: invalid groups");
			case nomem => abort("swiss_siphash: nomem");
			};
			defer finish(m);
			map::stress_test(m, 200000);
			map::stress_test(m, 20000);
		};
	};
};