2020年05月31日

C++に std::valarrayというものがある なあぁにいぃ・・・見つけちまったな!

まあ解説はhttps://cpprefjp.github.io/reference/valarray/valarray.html
を見てくだされ。

僕はこういう事ができると便利だなと思った。

// 全ての要素に同じ関数を適用する

  {

std::valarray<float> a = {0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f , 1.0f};

std::valarray<float> sin = std::sin(a);

print("sin", sin);

std::valarray<float> cos = std::cos(a);

print("cos", cos);

  }

valarray aにx軸として 0.1 から1.0まで 0.1刻みで用意する。それに対して、std:: sin( a) と書くと、aのそれぞれに対応して結果が入る。なので、sin を表示すればこうなる。

sin : {0.0998334,0.198669,0.29552,0.389418,0.479426,0.564642,0.644218,0.717356,0.783327,0.841471}
cos : {0.995004,0.980067,0.955337,0.921061,0.877583,0.825336,0.764842,0.696707,0.62161,0.540302}

つまり、for で回す必要がない・・・・

ってか、これってPythonのnumpyの arrange() じゃーーんって思った次第である。

すると、初期値とケツの値と増分を指定すれば、上のようにいちいち具体的に書かないでもよい・・・はずだな。
それが出来たら、PythonのNumpy みたいに便利でいいぞ・・・と さっき思ったが、調べるのは明日が。
今日はもう焼酎 飲んでいるので(笑) これから書くことは酔っ払いの主張!!   です(笑)

posted by toinohni at 16:12| 東京 ☁| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください