Help me Jow Forums, I can't code for shit. I'm running a small artificial life sim I found (github.com/ChrisHixon/nanopond "nanopond-ch.c") and there is a part in the code that displays the cell genome on right click, and the genomes look like this:
(random letters and numbers) dde4pdd0...h (random letters and numbers) dddddddedcv0...v
Why are there suspension points at the end of genome? Is it showing it all or not? Why are there letters or numbers after the points? What do they mean?
It's literally in the code you imbecile. Read it. If you can't read that simple code, don't ask stupid questions.
Nicholas Rodriguez
>I can't code for shit. >It's literally in the code
HMMMMM
Tyler Lee
It’s becauae you’re using c. Try c++
Matthew Wright
what the actual fuck is a uintptr_t?
Bentley Peterson
fprintf(file, "%c", (stopCount > 1) ? '.' : inst_chars stopCount is greater than 1 so it prints a period, if stopCount is greater than 1 three times in a row it prints 3 periods
Joseph Nguyen
probably an array of uints?
Jayden Morris
so its showing the full genome or not?
Carter Turner
From what I understand, when there are atleast 2 OP_STOPs between instruction, then it shows it as a '.', when there are more than 4 OP_STOPs then it does not show the following instruction at all. So it's not always showing the full genome I guess. It will show a single OP_STOP however. The numbers and letters is the dump of the genome, their representation is arbitrary, see the array "inst_chars".
Tyler Perez
It's a type that represents a pointer in the given architecture you morons.
Lucas Long
i don't get it, it's being used as an int why use that arcane shit?
Levi Parker
What about the letters after the dots? They aren't always there.
Josiah Anderson
For example it shows 4 OP_STOPs in a row as "0...", the first one is shown normally, but since there are more in a row later, they are shown as '.'. Also it kind of does show the full genome after all, it just ignores if there are more than 4 OP_STOPs, but it shows any other instructions normally.
Isaiah Flores
Letters after the dots are just following instructions that are not an OP_STOP (unless there is atleast one non stop instruction that separates them). They are shown the same way as the instructions before the dots.
Wyatt Jones
I guess someone wanted to use "the biggest available int", but then uintmax_t (biggest int) is also used, so I'm not really sure what's going on here. Maybe it was written by two different persons (which seems to be the case anyway).
Josiah Cook
the thing that confuses me is that even randomly generated cells have three dots at the end, every time. how is this possible?
Adam Barnes
I'm not sure, but you can do some "debugging", I would start by changing the dumping function to always print inst_chars[inst], so that it treats stop instruction the same as any other one, that way you will see the full genome. Btw, if you can't code then C is not really a good language, try C++, Jow Forums shits on it, but IMO it's way better (and understandable) than C, but it of course has its flaws, anyway with C++ you usually don't get the hacker magic like uintptr_t and pointers spammed everywhere.
Jackson Parker
I'm thinking it may be some form of survivorship bias since cells that get dumped have reproduced before and maybe they need all these OP_STOP to do so