stlアルゴリズムを使用して絶対値の合計を計算する

Jean-MichaëlCelerier

std::numericgnu並列拡張(配列サイズは> 500000)を使用するために、のアルゴリズムを使用して配列の絶対値の合計を計算したいと思います。

これが私の現在のコードです:

double ret = 0;
for (auto i = 0U; i < length; ++i)
{
    ret += std::abs(tab[i]);
}
return ret;

だから私はやろうと思った:

auto sumabs = [] (double a, double b) 
{
    return std::abs(a) + std::abs(b);
} 

std::accumulate(tab, tab + length, 0, sumabs);

ただし、削減アルゴリズムが実行されると(高速計算のために心から願っています!)、std::absすでに> = 0になっている値に適用されるため、非効率的です。

それで、これを行う方法はありますか?おそらく「手作業で」削減の最初のステップを実行しstd::accumulate、残りの間に簡単な追加を行いましょうしかし、コピーとメモリヒットがあります...

rv2300

関数をaccumlateメソッドに渡し、関数内で「手動」評価を実行できます。ちなみに、コードでは、不要な最初のパラメーターにabsメソッドを適用します。

int fAccumulate (int accumulated, int accumulateIncrement) 
{
    int retValue = 0;
    if (accumulateIncrement >= 0)
    {
        retValue = accumulated + accumulateIncrement;
    }
    else
    {
        retValue = accumulated + std::abs(accumulateIncrement);
    }
    return retValue;
}

このコードの使用法は次のとおりです。

int init = 0;
int numbers[] = {10,20,-30};
int a = std::accumulate (numbers, numbers+3, init, fAccumulate);

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ソートされた配列の部分的に絶対合計の中央値を計算するための効率的なアルゴリズム

分類Dev

アルゴリズム:最大フローを使用して正しい行列値を計算する

分類Dev

数値のすべての桁を合計するアルゴリズム

分類Dev

3つのループを使用してアルゴリズムの複雑さを計算する

分類Dev

最速のアルゴリズムで貸借対照表を計算する

分類Dev

計算方法!4桁の整数を入力し、最初と最後の数字の合計を計算できるアルゴリズムを作成します。

分類Dev

次のアルゴリズムの時間計算量を計算する方法

分類Dev

このアルゴリズムの時間計算量を計算する方法

分類Dev

アルゴリズム-範囲のノッチ値を計算する

分類Dev

アルゴリズムの時間計算量を計算する方法

分類Dev

リストローテーションを通じて絶対差の最小合計を見つけるための最速のアルゴリズム

分類Dev

学習アルゴリズムのyScoreを計算する

分類Dev

リストの位置で囲まれた項目を使用して計算する(遺伝的アルゴリズムの適合性)

分類Dev

ウェルフォードのオンラインアルゴリズムを使用して更新および削除された値を計算する方法

分類Dev

アルゴリズムの時間計算量を計算しようとしています

分類Dev

数値が他の2つの数値の乗算の合計で構成されているかどうかを判断するアルゴリズム

分類Dev

2つのベクトルを合計し、stlアルゴリズムを格納します

分類Dev

制限なしでunsignedintの最大値を計算するための最良のアルゴリズム。h

分類Dev

PythonでChudnovskyアルゴリズムを使用して円周率を計算すると不正確になります

分類Dev

ニューウェルのアルゴリズムを使用して3Dポリゴンの面法線を計算する際の問題

分類Dev

距離と時間を使用して時間を計算するJavaアルゴリズム?

分類Dev

ポリゴンの格子点の数を計算するアルゴリズム

分類Dev

HashTableを使用するアルゴリズムの複雑さを計算します

分類Dev

Kadaneのアルゴリズムが最大の連続合計に対して正しい値を返さないのですか?

分類Dev

Pythonで10を底とする対数を計算するためのアルゴリズム

分類Dev

それらの特定の合計の結果に基づいて変数の値を計算できるアルゴリズム

分類Dev

OpenMPを使用してチュートリアルからPiアルゴリズムを計算します

分類Dev

cのpthreadと並行してpiを計算するアルゴリズムが必要

分類Dev

Matplotlib箱ひげ図:範囲を計算して外れ値を特定するために使用されるアルゴリズムは何ですか?

Related 関連記事

  1. 1

    ソートされた配列の部分的に絶対合計の中央値を計算するための効率的なアルゴリズム

  2. 2

    アルゴリズム:最大フローを使用して正しい行列値を計算する

  3. 3

    数値のすべての桁を合計するアルゴリズム

  4. 4

    3つのループを使用してアルゴリズムの複雑さを計算する

  5. 5

    最速のアルゴリズムで貸借対照表を計算する

  6. 6

    計算方法!4桁の整数を入力し、最初と最後の数字の合計を計算できるアルゴリズムを作成します。

  7. 7

    次のアルゴリズムの時間計算量を計算する方法

  8. 8

    このアルゴリズムの時間計算量を計算する方法

  9. 9

    アルゴリズム-範囲のノッチ値を計算する

  10. 10

    アルゴリズムの時間計算量を計算する方法

  11. 11

    リストローテーションを通じて絶対差の最小合計を見つけるための最速のアルゴリズム

  12. 12

    学習アルゴリズムのyScoreを計算する

  13. 13

    リストの位置で囲まれた項目を使用して計算する(遺伝的アルゴリズムの適合性)

  14. 14

    ウェルフォードのオンラインアルゴリズムを使用して更新および削除された値を計算する方法

  15. 15

    アルゴリズムの時間計算量を計算しようとしています

  16. 16

    数値が他の2つの数値の乗算の合計で構成されているかどうかを判断するアルゴリズム

  17. 17

    2つのベクトルを合計し、stlアルゴリズムを格納します

  18. 18

    制限なしでunsignedintの最大値を計算するための最良のアルゴリズム。h

  19. 19

    PythonでChudnovskyアルゴリズムを使用して円周率を計算すると不正確になります

  20. 20

    ニューウェルのアルゴリズムを使用して3Dポリゴンの面法線を計算する際の問題

  21. 21

    距離と時間を使用して時間を計算するJavaアルゴリズム?

  22. 22

    ポリゴンの格子点の数を計算するアルゴリズム

  23. 23

    HashTableを使用するアルゴリズムの複雑さを計算します

  24. 24

    Kadaneのアルゴリズムが最大の連続合計に対して正しい値を返さないのですか?

  25. 25

    Pythonで10を底とする対数を計算するためのアルゴリズム

  26. 26

    それらの特定の合計の結果に基づいて変数の値を計算できるアルゴリズム

  27. 27

    OpenMPを使用してチュートリアルからPiアルゴリズムを計算します

  28. 28

    cのpthreadと並行してpiを計算するアルゴリズムが必要

  29. 29

    Matplotlib箱ひげ図:範囲を計算して外れ値を特定するために使用されるアルゴリズムは何ですか?

ホットタグ

アーカイブ