LINUX.ORG.RU
Ответ на: комментарий от kosmonavt

Это типовое решение, но нехорошее ИМНО - кэширование хреновое может быть, и вааще, если нуна скорость то конечно надо писать самому. А так еть у меня теплэйтная либка маленькая, для векторов произвольной размерности (сиречь матриц:)). Могу поделиться если влом писать/искать... ася 203458558

AIv ★★★★★
()
Ответ на: комментарий от anonymous

рассчитываешь размер общий размер блока (напр для массива XxY нуно будет выделить памяти float*p = new[X*Y];) и индексируешь за одну операцию

float& index(int i, int j){ return *(p+Y*i+j);}

или

float& index(int i, int j){ return *(p+i+j*X);}

по фигу как, зависит от того как ты бушь делать обычно обход, что бы итоговый индекс не скакал а менялся плавно. Ну заворачиваешь это дело к класс...

AIv ★★★★★
()

обычно матрицу представляют в виде одномерного масива,
в котором строчка идет за строчкой, ну или столбец за столбцом.

fghj ★★★★★
()
Ответ на: комментарий от fghj

imho трезвое решение...

похоже на С представление "массива" в памяти.

vector<vector<float> > имеет несколько грязный синтаксис

Pi ★★★★★
()

Из стандартных средств можно попробовать valarray, но для 2D лучше работать с boost/numeric/ublas.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.