diff options
| author | Baitinq <[email protected]> | 2025-06-11 00:16:17 +0200 |
|---|---|---|
| committer | Baitinq <[email protected]> | 2025-06-11 00:16:17 +0200 |
| commit | fa92a157746ae17f295d31b7a047dfeb99624a13 (patch) | |
| tree | 71e469e67a70df15542d873ebe223654def6111b /examples/21.src | |
| parent | stdlib: Remove println (diff) | |
| download | pry-lang-fa92a157746ae17f295d31b7a047dfeb99624a13.tar.gz pry-lang-fa92a157746ae17f295d31b7a047dfeb99624a13.tar.bz2 pry-lang-fa92a157746ae17f295d31b7a047dfeb99624a13.zip | |
Misc: Rename lang
Diffstat (limited to 'examples/21.src')
| -rw-r--r-- | examples/21.src | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/examples/21.src b/examples/21.src deleted file mode 100644 index 804b242..0000000 --- a/examples/21.src +++ /dev/null @@ -1,78 +0,0 @@ -extern rand = () => i64; -extern malloc = (i64) => *void; -extern free = (*void) => void; - -import "!stdlib.src"; - -let init_array = (n: i64, arr: *i64) => void { - let i = 0; - while i < n { - (*(arr + cast(*i64, i))) = rand(); - i = i + 1; - }; - return; -}; - -let print_array = (n: i64, arr: *i64) => void { - let i = 0; - while i < n { - printf("%d\n", *(arr + cast(*i64, i))); - i = i + 1; - }; - return; -}; - -let sort_array = (n: i64, arr: *i64) => void { - let i = 0; - let j = 0; - - while i < n { - j = i + 1; - while j < n { - let x = *(arr + cast(*i64, i)); - let y = *(arr + cast(*i64, j)); - - if x > y { - let tmp = *(arr + cast(*i64, i)); - (*(arr + cast(*i64, i))) = *(arr + cast(*i64, j)); - (*(arr + cast(*i64, j))) = tmp; - }; - - j = j + 1; - }; - i = i + 1; - }; - - return; -}; - -let main = () => i64 { - let n = 10; - let arr = cast(*i64, malloc(n * 8)); - init_array(n, arr); - - printf("Pre-sorted:\n"); - print_array(n, arr); - - sort_array(n, arr); - - printf("Sorted:\n"); - print_array(n, arr); - - free(cast(*void, arr)); - - return 0; -}; - -/* - -Expected stdout: - -Pre-sorted: -${UNSORTED_LIST} -Sorted: -${SORTED_LIST} - -Expected return: 0 - -*/ |