mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-22 21:32:31 +00:00
Initial import
This commit is contained in:
commit
c91b3c5006
14915 changed files with 590219 additions and 0 deletions
52
examples/generalized-automatic-datastructure-printing.c
Normal file
52
examples/generalized-automatic-datastructure-printing.c
Normal file
|
@ -0,0 +1,52 @@
|
|||
#if 0
|
||||
/*─────────────────────────────────────────────────────────────────╗
|
||||
│ To the extent possible under law, Justine Tunney has waived │
|
||||
│ all copyright and related or neighboring rights to this file, │
|
||||
│ as it is written in the following disclaimers: │
|
||||
│ • http://unlicense.org/ │
|
||||
│ • http://creativecommons.org/publicdomain/zero/1.0/ │
|
||||
╚─────────────────────────────────────────────────────────────────*/
|
||||
#endif
|
||||
#include "libc/log/gdb.h"
|
||||
#include "libc/rand/rand.h"
|
||||
#include "libc/stdio/stdio.h"
|
||||
|
||||
/**
|
||||
* @fileovierview gdbexec(s) demo
|
||||
* It basically launches an ephemeral `gdb -p $PID -ex "$s"`.
|
||||
*/
|
||||
|
||||
int i;
|
||||
int M[8][8] = {
|
||||
{772549, 921569, 407843, 352941, 717647, 78431, 666667, 627451},
|
||||
{321569, 419608, 227451, 396078, 223529, 882353, 952941, 937255},
|
||||
{15686, 545098, 31373, 7843, 15686, 298039, 976471, 352941},
|
||||
{70588, 858824, 415686, 184314, 25098, 5098, 141176, 47059},
|
||||
{141176, 541176, 658824, 227451, 490196, 301961, 937255, 678431},
|
||||
{188235, 823529, 858824, 87451, 545098, 611765, 188235, 576471},
|
||||
{580392, 913725, 996078, 592157, 7451, 176471, 862745, 784314},
|
||||
{278431, 945098, 843137, 439216, 878431, 529412, 262745, 43137},
|
||||
};
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
int y, x;
|
||||
for (i = 0;; ++i) {
|
||||
for (y = 0; y < 8; ++y) {
|
||||
for (x = 0; x < 8; ++x) {
|
||||
if (!(M[y][x] % 2)) {
|
||||
M[y][x] /= 2;
|
||||
} else {
|
||||
M[y][x] *= 3;
|
||||
M[y][x] += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (rand() % 10000 == 0) {
|
||||
gdbexec("print i");
|
||||
gdbexec("print M");
|
||||
break;
|
||||
}
|
||||
}
|
||||
printf("quitting\n");
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue