У меня есть основанный на Фортране трехмерный массив старшего порядка столбцов, уплощенный в линейную память. Какую формулу / алгоритм я могу использовать, чтобы отобразить ее обратно в массив трехмерных порядков строк Java? Например,
|1, 2, 3| |10, 11, 12| |19, 20, 21|
|4, 5, 6| |13, 14, 15| |22 23, 24|
|7, 8, 9| |16, 17, 18| |25, 26, 27|
Похоже на это в памяти
буфер = 1, 4, 7, 2, 5, 8, 3, 6, 9, 10, 13, 16, 11, 14, 17, 12, 15, 18, 19, 22, 25, 20, 23 , 26, 21, 24, 27
В идеале мне нужно передать индексы массива и вернуть смещение в линейную память. В псевдокоде что-то вроде
for(;;)
{
javaarray[2][2][1] = buffer[Util.LookupOffset(2,2,1)]
}
Спасибо.