Есть ли более эффективный способ преобразования double в float?

Мне нужно преобразовать многомерный двойной массив в зубчатый массив с плавающей запятой. Размеры будут варьироваться от [2] [5] примерно до [6] [1024].

Мне было любопытно, как будет работать простой цикл и приведение двойника к float, и это НЕ СЛИШКОМ плохо, около 225 мкс для массива [2] [5] - вот код:

const int count = 5;
const int numCh = 2;
double[,] dbl = new double[numCh, count];
float[][] flt = new float[numCh][];

for (int i = 0; i < numCh; i++)
{
    flt[i] = new float[count];
    for (int j = 0; j < count; j++)
    {
        flt[i][j] = (float)dbl[i, j];
    }
}

Однако, если есть более эффективные методы Я бы хотел их использовать. Я должен упомянуть, что я синхронизировал ТОЛЬКО два вложенных цикла, а не выделение перед ним.

Поэкспериментировав еще немного, я думаю, что 99% времени тратится на петли, даже без задания!

6
задан Steve K 6 October 2011 в 08:13
поделиться