2019-02-27-01-reduceの追加 - project-enigma

2019-02-27-01-reduceの追加

>> Site top >> weblog >> 月別アーカイブ >> 2019年02月のlog >> 2019-02-27-01-reduceの追加

最終更新日付:2019/02/27 00:05:00


reduceの追加

2019 年 02 月 27 日

昨日に続いて、今度は reduce を追加した。といっても、並行性とは関係のない実装なので、ほとんど accumulate と一緒なのだけれど。以下がそのコミット。

ポイントとしては、これは STL においては numeric の関数テンプレートだということだ。accumulate とは違って、reduce には初期値を取らないオーバーロードがある。最初、cl-stl では初期値なしのオーバーロードは(初期値の型を決定できないから)無理だと思っていたのだけれど、numeric なら 0 でいいだろうと判断した。accumulate でも、加算オペレータのデフォルトは #'operator_+ ではなく #'+ だった。なので、reduce でも同様とし、初期値まで省略した場合は 0 としたわけだ。

それ以外は、なんていうか、ほぼまったく accumulate と一緒。あまり嬉しいことのない作業だったな。

 

コメント

このページにコメントする

 

このページのタグ

Page tag : STLとその移植

Page tag : Common Lisp

 

 


Copyright(C) 2005-2019 project-enigma.
Generated by CL-PREFAB.