LINUX.ORG.RU

История изменений

Исправление mix_mix, (текущая версия) :

struct Test {
  mutable uint32_t lookup[256];
  uint32_t pow4(uint8_t a) const {
    return lookup[a] ? lookup[a] :
  	(lookup[a] = a * a * a * a);
  }
};

Исправление mix_mix, :

struct Test {
  mutable uint32_t lookup[255];
  uint32_t pow4(uint8_t a) const {
    return lookup[a] ? lookup[a] :
  	(lookup[a] = a * a * a * a);
  }
};

Исходная версия mix_mix, :

ну ты понял идею

struct Test {
  mutable int lookup[255] = {0};
  int pow4(int a) const {
    return lookup[a] ? lookup[a] :
  	(lookup[a] = a * a * a * a);
  }
};

int main(int argc, char **argv)
{
  Test test;
  return test.pow4(argc) == test.pow4(argc);
}