27 lines
570 B
Text
27 lines
570 B
Text
#module_parameters(
|
|
UNITS: enum { radians; degrees; turns; } = .turns,
|
|
RUN_TESTS := false
|
|
);
|
|
|
|
#load "vec.jai";
|
|
#load "mat.jai";
|
|
#load "ease.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";
|
|
}
|