ParallelEnumerable.Sum для векторов в С#?C#

Место общения программистов C#
Anonymous
ParallelEnumerable.Sum для векторов в С#?

Сообщение Anonymous »

Существует ли эквивалент ParallelEnumerable.Sum() для векторов в C#? В настоящее время я использую System.Numerics Vector2s, но на самом деле любая структура данных с несколькими компонентами будет работать нормально. Я работаю с очень большим набором данных, для которого было бы полезно использовать параллельные суммы, но сейчас мне приходится вызывать его несколько раз, когда оптимальным будет одиночный вызов.
В качестве примера того, чего я хотел бы достичь -
GetWeightedValue(IEnumerable data)
{
Vector2 sum = data.AsParallel().Select(data =>
{
float value = CalculateValue(data);
float weight = CalculateWeight(data);
return new Vector2(value * weight, weight);
}).Sum();

return sum.X / sum.Y;
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... ctors-in-c

Вернуться в «C#»