mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Upgrade of mingw in CI. Fix problems using reflection on interface types #1203. Improved debug information on defer. $foreach doesn't create an implicit syntactic scope. Error if `@if` depends on `@if`. Updated Linux stacktrace. Fix of default argument stacktrace. Allow linking libraries directly by file path. Improve inlining warning messages. Added `index_of_char_from`. Compiler crash using enum nameof from different module #1205. Removed unused fields in find_msvc. Use vswhere to find msvc. Update tests for LLVM 19
19 lines
447 B
C
19 lines
447 B
C
module swizzletest @test;
|
|
|
|
fn void test_swizzle()
|
|
{
|
|
int[<4>] a = { 1, 2, 3, 4 };
|
|
int[<4>] b = { 100, 1000, 10000, 100000 };
|
|
assert($$swizzle(a, 0, 1, 1, 3) == int[<4>] { 1, 2, 2, 4 });
|
|
assert($$swizzle2(a, b, 0, 1, 4, 6, 2) == int[<5>] { 1, 2, 100, 10000, 3 });
|
|
}
|
|
|
|
fn void! swizzle_builtin()
|
|
{
|
|
int[<4>] abc = { 1, 2, 3, 4 };
|
|
assert(abc.rb == { 1, 3 });
|
|
assert(abc.xxww == { 1, 1, 4, 4 });
|
|
abc = abc.abgr;
|
|
assert(abc == { 4, 3, 2, 1 });
|
|
}
|