diff options
| author | 2025-09-08 22:05:33 +0200 | |
|---|---|---|
| committer | 2025-09-08 22:05:33 +0200 | |
| commit | e043811980db560fc2507bb53b644e54c80527dc (patch) | |
| tree | 6ea563d81c9d3767f439e361fc2c884cf4f9b64d /test/sort.c | |
| parent | 36b5b19bf183cb01525201ccbddd6afa692f21bb (diff) | |
regalloc: start implementing linear scan
Diffstat (limited to 'test/sort.c')
| -rw-r--r-- | test/sort.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/sort.c b/test/sort.c new file mode 100644 index 0000000..af58917 --- /dev/null +++ b/test/sort.c @@ -0,0 +1,28 @@ +typedef unsigned long size_t; + +int printf(const char *, ...); +void *calloc(size_t, size_t); +void qsort(void *, size_t nmemb, size_t size, int (const void *, const void *)); +int atoi(const char *); + +int +icmp(const void *a, const void *b) +{ + int l = *(int *)a, r = *(int *)b; + return (l > r) - (l < r); +} + +int +main(int argc, char **argv) +{ + int N = argc - 1; + int *xs = calloc(N, sizeof *xs); + + for (int i = 0; i < N; ++i) + xs[i] = atoi(argv[i+1]); + qsort(xs, N, sizeof *xs, icmp); + for (int i = 0; i < N; ++i) + printf("%d, ", xs[i]); + printf("\n"); + return N; +} |