#module_parameters( UNITS: enum { radians; degrees; turns; } = .turns, RUN_TESTS := false ); #load "vec.jai"; #load "mat.jai"; #scope_module; bounds_check_index :: ($$idx: int, $count: int, loc := #caller_location) #expand { #if is_constant(idx) { #assert (idx >= 0 && idx < count) "bounds check failed"; } else { basic.assert(idx >= 0 && idx < count, "bounds check failed! index: % (min: 0, max: %)", idx, count, loc = loc); } } basic :: #import "Basic"; // @future #if RUN_TESTS { test :: #import "jc/test"; }