cleaning up old test code
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 12 Dec 2020 20:48:04 +0000 (14:48 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 12 Dec 2020 20:48:04 +0000 (14:48 -0600)
progs/particle_sym.onyx
progs/poly_struct.onyx [deleted file]
progs/poly_test.onyx [deleted file]
progs/simd_test.onyx
progs/vararg_test.onyx

index 87ca48f1ca06e2f2731162fe7da2fb7b4b99c8b4..835317432908bea5619ff20b6a6ae0052f38f16e 100644 (file)
@@ -6,7 +6,7 @@ package main
 use package core
 use package simd
 
-main :: proc (args: [] cstring) {
+main :: proc (args: [] cstr) {
     init_positions();
     init_velocities();
 
@@ -26,10 +26,10 @@ velocities : [OBJECT_COUNT] f32x4
 
 init_positions :: proc () {
     for ^p: positions {
-        *p = f32x4_replace_lane(*p, 0, random_float(-127.0f, 127.0f));
-        *p = f32x4_replace_lane(*p, 1, random_float(-127.0f, 127.0f));
-        *p = f32x4_replace_lane(*p, 2, random_float(-127.0f, 127.0f));
-        *p = f32x4_replace_lane(*p, 3, random_float(-127.0f, 127.0f));
+        *p = f32x4_replace_lane(*p, 0, random.float(-127.0f, 127.0f));
+        *p = f32x4_replace_lane(*p, 1, random.float(-127.0f, 127.0f));
+        *p = f32x4_replace_lane(*p, 2, random.float(-127.0f, 127.0f));
+        *p = f32x4_replace_lane(*p, 3, random.float(-127.0f, 127.0f));
     }
 }
 
diff --git a/progs/poly_struct.onyx b/progs/poly_struct.onyx
deleted file mode 100644 (file)
index 2c80fe2..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-package main
-
-#include_file "core/std/wasi"
-
-use package core
-
-main :: proc (args: [] cstring) {
-
-    x := 2.4f;
-    y := 1.2f;
-    y += ~~x;
-    println(y);
-
-
-    imap : I32Map(string);
-    i32map_init(^imap);
-    defer i32map_free(^imap);
-
-    i32map_put(^imap, 50,   "Hello ");
-    i32map_put(^imap, 1234, "World!");
-
-    println(i32map_has(^imap, 50));
-    println(i32map_has(^imap, 51));
-
-    // i32map_delete(^imap, 50);
-
-    print(  i32map_get(^imap, 50, ""));
-    println(i32map_get(^imap, 1234, ""));
-}
diff --git a/progs/poly_test.onyx b/progs/poly_test.onyx
deleted file mode 100644 (file)
index a6d7c8a..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-package main
-
-#include_file "core/std/wasi"
-
-use package core
-
-print_arr_details :: proc (arr: ^[..] $T) {
-    print("\nArray details:\n\tSize: ");
-    print(arr.count);
-    print("\n\tCapacity: ");
-    print(arr.capacity);
-    print("\n\tData ptr: ");
-    print(cast(^void) arr.data);
-    print("\n\tSize of elements: ");
-    print(sizeof T);
-    print("\n\tAlignment of elements: ");
-    print(alignof T);
-    print("\n\n");
-}
-
-print_vec :: proc (v: Vec3) #add_overload print {
-    print("Vec3(");
-    print(v.x);
-    print(", ");
-    print(v.y);
-    print(", ");
-    print(v.z);
-    print(")");
-}
-
-// This demonstrates that we have something similar to static 'duck' typing.
-get_count :: proc (x: $T) -> u32 do return x.count;
-
-
-// Because of the static duck typing, this will pass as an
-// array/slice in most places.
-Dummy :: struct {
-    count : u32 = 5;
-    data  : [5] u32;
-}
-
-
-/* This demos some of the power you have with the polymorphic types */
-compose :: proc (a: A, f: proc ($A) -> $B, g: proc (B) -> $C) -> C {
-    return a |> f() |> g();
-}
-
-
-SOA :: struct {
-    a  : [..] i32;
-    b  : [..] i64;
-    c  : [..] V2;
-}
-
-soa_init :: proc (s: ^SOA) {
-    array_init(^s.a);
-    array_init(^s.b);
-    array_init(^s.c);
-}
-
-soa_deinit :: proc (s: ^SOA) {
-    array_free(^s.a);
-    array_free(^s.b);
-    array_free(^s.c);
-}
-
-get_range :: proc (arr: ^[..] $T) -> range {
-    return 0 .. arr.count;
-}
-
-// NOTE: This function will be very useful for for loops. i.e.
-//        for i: 0 .. 100 |> by(2) {
-//            ...
-//        }
-by :: proc (r: range, s: u32) -> range {
-    return range.{ low = r.low, high = r.high, step = s };
-}
-
-V2 :: struct { x: i32; y: i32; }
-print_v2 :: proc (v: V2) #add_overload print {
-    print("V2(");
-    print(v.x);
-    print(", ");
-    print(v.y);
-    print(")");
-}
-
-switch_demo :: proc () {
-    switch a := 4; a {
-        case 4, 5, 6 {
-            print("a was 4, 5, or 6\n");
-            fallthrough fallthrough;
-        }
-
-        case 10 do print("a was 10\n");
-
-        case #default {
-            print("a was something else.\n");
-        }
-    }
-}
-
-vararg_test :: proc (prefix: string, nums: ..i32) {
-    print(prefix);
-    for num: nums {
-        print(num);
-        print(" ");
-    }
-}
-
-NumInfo :: struct {
-    min : i32;
-    max : i32;
-    sum : i32;
-}
-
-get_num_info :: proc (nums: ..i32) -> NumInfo {
-    ni : NumInfo;
-
-    ni.min = nums[0];
-    for num: nums do if num < ni.min do ni.min = num;
-
-    ni.max = nums[0];
-    for num: nums do if num > ni.max do ni.max = num;
-
-    ni.sum = 0;
-    for num: nums do ni.sum += num;
-
-    return ni;
-}
-
-print_strings :: proc (ss: ..string) {
-    for s: ss do print_string(s);
-}
-
-multi_max :: proc (nums: ..$T) -> T {
-    print("Got this many args: ");
-    print(nums.count);
-    print("\n");
-
-    max := nums[0];
-    for num: nums do if num > max do max = num;
-    return max;
-}
-
-weird_sum :: proc (n1: $T, others: ..T) -> T {
-    s := n1;
-    for n: others do s += n;
-    return s;
-}
-
-// At some point, it would be nice to have the ability to say something like:
-// complex_varargs :: proc (nums: ..i32, names: ..string) {
-// }
-
-main :: proc (args: [] cstring) {
-    switch_demo();
-
-    print_strings("This ", "is ", "a ", "test.\n");
-
-    vararg_test("Here are some numbers:\n", 1, 2, 3, 4, 5);
-    print("\n\n");
-
-    multi_max(4, 2, 76, 3, 1203, 2, 4) |> print();
-    print("\n");
-
-    multi_max(cast(u64) 4, cast(u64) 2, cast(u64) 76, cast(u64) 3, cast(u64) 1203, cast(u64) 2, cast(u64) 4) |> print();
-    print("\n");
-
-    weird_sum(4, 1) |> print();
-    print("\n");
-
-    ni := get_num_info(1, 2, 3, 4, 5);
-    print("Some information about those numbers:\n");
-    print("Min: ");
-    print(ni.min);
-    print("\nMax: ");
-    print(ni.max);
-    print("\nSum: ");
-    print(ni.sum);
-    print("\n\n");
-
-    res := compose(5, proc (x: i32) -> i32 do return x * 3;,
-                      proc (x: i32) -> i32 do return x + 5;);
-    print(res);
-    print("\n");
-
-    s : SOA;
-    soa_init(^s);
-    defer {
-        print("Clearing SOA...\n");
-        soa_deinit(^s);
-    }
-
-    print("Evens from 6 to 34:\n");
-    for i: 6 .. 34 |> by(2) {
-        print(i);
-        print(" ");
-    }
-    print("\n");
-
-    print_arr_details(^s.a);
-    print_arr_details(^s.b);
-
-    for i: 0 .. 100 {
-        array_push(^s.a, (5 * i) % 21);
-        array_push(^s.b, 3 * cast(i64) i);
-        array_push(^s.c, V2.{ i, i * i });
-    }
-
-    r := ^s.a |> get_range() |> by(3);
-    print(r);
-    print_array(^s.a);
-    print("A has 22? ");
-    print(array_contains(^s.a, 22));
-    print("\n");
-
-    // NOTE: Iterating by value
-    for vec: s.c {
-        print(vec);
-        print(" ");
-    }
-    print("\n");
-
-    // NOTE: Iterating by pointer
-    for ^vec: s.c {
-        print(cast(^void) vec);
-        print(" ");
-    }
-    print("\n");
-
-    small : [12] i32;
-    for ^it: small do *it = 1234 + cast(u32) it;
-
-    for it: small {
-        print(it);
-        print(" ");
-    }
-    print("\n");
-
-
-    array_sort(^s.a, cmp_dec);
-    array_sort(^s.b, cmp_dec);
-
-    print_array(^s.a);
-    print_array(^s.b);
-
-    print("After adding...\n");
-    print_arr_details(^s.a);
-    print_arr_details(^s.b);
-
-    print("Array A sum: ");
-    print(array_fold(^s.a, 0, proc (x: i32, acc: i32) -> i32 do return x + acc;));
-    print("\n\n");
-
-    map : PtrMap;
-    ptrmap_init(^map, 50);
-    defer ptrmap_free(^map);
-
-    for i: 0 .. 100 do ptrmap_put(^map, ^s.a[i], ^s.b[i]);
-
-    print("Has ^a[20]? ");
-    print(ptrmap_has(^map, ^s.a[20]));
-    print("\n");
-
-    print("Has null? ");
-    print(ptrmap_has(^map, null));
-    print("\n");
-
-    print("Value at ^a[50]: ");
-    print(cast(^void) ptrmap_get(^map, ^s.a[50]));
-    print(" == ");
-    print(cast(^void) (^s.b[50]));
-    print("\n");
-
-    print("Deleteing ^a[20]\n");
-    ptrmap_delete(^map, ^s.a[20]);
-
-    print("Has ^a[20]? ");
-    print(ptrmap_has(^map, ^s.a[20]));
-    print("\n");
-}
-
-main2 :: proc (args: [] cstring) {
-    print(cast(u32) __heap_start, 16);
-
-    iarr_backing : [32] i32;
-    iarr : [..] i32;
-    iarr.data = cast(^i32) iarr_backing;
-    iarr.count = 0;
-    iarr.capacity = 32;
-
-    print_arr_details(^iarr);
-
-    array_push(^iarr, 1234);
-
-    for i: 0 .. 12 do array_push(^iarr, i % 5);
-
-    print_arr_details(^iarr);
-    print_array(^iarr);
-
-    array_delete(^iarr, 4);
-
-    print_arr_details(^iarr);
-    print_array(^iarr);
-
-    array_remove(^iarr, 1);
-    array_remove(^iarr, 4);
-
-    print_arr_details(^iarr);
-    print_array(^iarr);
-
-    array_insert(^iarr, 2, 5678);
-
-    print_arr_details(^iarr);
-    print_array(^iarr);
-    print(array_average(^iarr));
-    print("\n");
-
-
-
-    barr : [..] i64;
-    array_init(^barr, 10);
-    defer array_free(^barr);
-
-    for i: 0 .. 500 {
-        array_push(^barr, cast(u64) (3 * i * i + 4 * i - 2));
-    }
-
-    print_arr_details(^barr);
-    print_array(^barr);
-    array_average(^barr) |> print();
-    print("\n");
-
-    print("Does the array contain 2637? ");
-    print(array_contains(^barr, 2637));
-    print("\n");
-
-
-
-    varr : [..] Vec3;
-    array_init(^varr);
-    defer array_free(^varr);
-
-    for i: 0 .. 20 {
-        array_push(^varr, Vec3.{
-            x = i,
-            y = i * i,
-            z = i * i * i,
-        });
-    }
-
-    array_push(^varr, Vec3.{ 4, 2, 3 });
-    array_sort(^varr, cmp_vec3);
-
-    print_arr_details(^varr);
-    print_array(varr, "\n");
-
-
-    dummy := cast(^Dummy) calloc(sizeof Dummy);
-    defer cfree(dummy);
-    dummy.count = 5;
-    for i: 0 .. dummy.count do dummy.data[i] = i * 5;
-
-    print_array(dummy);
-
-    print(get_count(iarr));
-    print("\n");
-    print(get_count(barr));
-    print("\n");
-    print(get_count(varr));
-    print("\n");
-    print(get_count(dummy));
-    print("\n");
-}
-
-Vec3 :: struct {
-    x: i32;
-    y: i32;
-    z: i32;
-}
-
-cmp_vec3 :: proc (v1: Vec3, v2: Vec3) -> i32 {
-    if v1.x != v2.x do return v1.x - v2.x;
-    if v1.y != v2.y do return v1.y - v2.y;
-    return v1.z - v2.z;
-}
index ceca18324f2acfcda321c383359c15c682203da6..02f59567fb18cb7eefa4ae1103a82ac422ddebdb 100644 (file)
@@ -6,7 +6,7 @@ package main
 use package core
 use package simd
 
-main :: proc (args: [] cstring) {
+main :: proc (args: [] cstr) {
     x := f32x4_const(10.0f, 20.0f, 30.0f, 40.0f);
     y := f32x4_splat(100.0f);
 
index eeb515e99dca12bb347a644d94c3336ec2e2b305..1c425ec6c7a2a2e4c85142c027b42a41b16261f7 100644 (file)
@@ -10,7 +10,7 @@ old_va_test :: proc (fix: Fixes, va: ..i32) {
     println(fix.suffix);
 }
 
-Fixes :: struct { prefix: string; suffix: string; }
+Fixes :: struct { prefix: str; suffix: str; }
 
 new_va_test :: proc (fix: Fixes, va: ...) {
     println(fix.prefix);
@@ -24,7 +24,7 @@ new_va_test :: proc (fix: Fixes, va: ...) {
     println(fix.suffix);
 }
 
-main :: proc (args: [] cstring) {
+main :: proc (args: [] cstr) {
     new_va_test(Fixes.{ "foo", "foozle" }, 1, 2, 3.0f, 5.0f);
     old_va_test(Fixes.{ "bar", "barzle" }, 1);