char mut(const char *ntp) { uint32_t dice = xs128(); int trpl = triplet_ind(ntp); if (dice < pm[trpl][0]) return nuc(0); if (dice < pm[trpl][1]) return nuc(1); if (dice < pm[trpl][2]) return nuc(2); return nuc(3); }
char mutate(char c) { uint32_t r = xs128(); int n = nt_ord[(int)c]; if (r < mcp_d[n][0]) return nt[0]; if (r < mcp_d[n][1]) return nt[1]; if (r < mcp_d[n][2]) return nt[2]; if (r < mcp_d[n][3]) return nt[3]; return c; }