опубликован 24-09-2001 20:17 MSK
Я понимаю что это просто, но мне нужно максимально быстро и без классов.мне был предложен такой вариант
delay_buffer[n&delay_mask] = in;
delay_mask размер буфера -1
n меняется от 0 до delay_mask,
Я работаю со звуком и мне нужен задержанный сигнал.
Делаю так
out=delay_buffer[(n-delay)&delay_mask];
при твоем способе будет обращение к элементу с отрицательным индексом, а если сделать так
if (delay<nDelayBuffI)
out=delay_buffer[(n-delay)];
else
out=0;
то будет ноль через каждые delay_mask отсчетов (это не есть гуд)
Есть ли способ делать циклический буфер быстрее чем у меня?