#c #caching
#c #кэширование
Вопрос:
Я пытаюсь реализовать NMRU в этом коде, я считаю, что я на 80% продвинулся туда, мне просто нужна помощь, чтобы выяснить, что еще нужно реализовать. Я знаю, что значение случайного пути должно быть между 0 и assoc, и мне нужно убедиться, что значение _repl != 0 . Цикл for в моем коде устарел в том виде, в котором он у меня есть прямо сейчас, и я немного не уверен, как это исправить.
//use rand function to choose smallest value that IS NOT 0
//near (NMRU)
int Replace(SET_t* tar, LARGEINT tag, int assoc) {
srand(time(NULL)); //initialization
int lruWay = rand() % assoc; //returns a random integer between 0 and RAND_MAX
for (int way != 0; way < assoc; way )
if (tar->_repl[way] != 0 ){ //dont know if I need this
break; //break loop
}
return lruWay;
Комментарии:
1. это реальный код?
for (int way != 0;
это опечатка2.
srand(time(NULL));
должно вызываться один раз в начале main . Вызов его здесь приведет к странным, а не случайным результатам.3. Также цикл ничего не делает (не имеет видимых эффектов), поэтому компилятор удалит его.