C、C++
ポインタを取ってポインタを返す関数を使うことなしにmap(fn, arr, n)と書きたいという気持ちでやったところマクロもコンパイラ拡張も避けられない結果となった。
Fedora33でBoost.Beastのサンプルを動かした。 Could NOT find Boost (missig: から始まるエラー、インクルードなどのパス周りで解決している人の記事ばかりヒットするのだけれど、こういう事例もあるという記録です。 git clone https://github.com/boostor…
Discrete Differential-Geometry Operators for Triangulated 2-Manifolds | SpringerLinkを実装した。 GitHub - tak0kada/curvature: Implementation of discrete Gaussian and mean curvature defined in Meyer et al., 2003
javadocスタイルでやっていくことにした(完) その3 ヘッダーファイルにDoxygenコメントを追加する http://www.doxygen.jp/docblocks.html
GitHub - nmwsharp/happly: A C++ header-only parser for the PLY file format. Parse .ply happily!を使えば簡単にデータを取り出せて便利。
ちょっとプログラムが遅すぎるのでプロファイラを使った。
tak0kada/spherical_harmonicsを書いた
GitHub - tak0kada/cnthd: Halfedge data structure for triangular mesh ハーフエッジデータ構造のC++ライブラリ。面の向き付けがバラバラなファイルに対応しようと思っていたがバグを出してしまって(しかもそれほど使わない機能)書き直す時間が惜しいので…
A Robust Method for Rotation Estimation Using Spherical Harmonics Representation - IEEE Journals & Magazineを実装した。以下はコードを貼り付けたのみ。
要件はメモリ128GBのPCで70GBのCSVをnp.ndarray形式でメモリに乗せること。np.load_txtも一応試したが、エラーでターミナルやブラウザも巻き込んで落ちた。std::ios::seekdirは相対位置指定にしか使えないはずだが、enumのため型変換されて、引数一つだけで…
それほど難しくないはずだが、実際バグらせると無限のコンパイルエラーが出て結構つらい。以下はサンプルコード。
Cを高級アセンブラ扱いしているとstrict aliasingに関する未定義動作を引き起こすから注意するようにというツイートを見た。以下駄文。
Minimal procedure to make R package
「Inside the C++ Object Model」を読んだ - tak0kadaの何でもノートのリンク先の記事がなくなると悲しいのでWebアーカイブを取ってみた。 メモリ配置とキャスト – wizaman's blog C++ vtables - Part 1 - Basics | Shahar Mike's Web Spot C++ vtables - Pa…
現実逃避にyoutubeを見ていたところ情報業界にまでyoutuberが登場していた(C Programming for Machine Learning (LIVE) - YouTube)。真面目に見ていると中身がペラペラな感じは否めないが話すのは上手であり、ライブコーディング中にバグが取れなくなって詰…
C++分かりたいので、知ってたら有給取ってでも聞きに行きたかった。 togetter.com
C++ Primerの著者の一人である S. Lippmanの著書。C++コンパイラの前身?であるcfrontはC++→Cのトランスパイラとして実装されており、cfront2くらいの頃の変換規則を解説しており、多重継承を含む多態性をどのように実装したかに重点が置かれている。研究室に…
仮想継承のパフォーマンスへの影響はどうか調べた。以下は駄文
コンパイラは最終的にはバイナリの実行ファイルを生成するわけだが、少なくともCやC++の場合は分割コンパイルができるので複数のオブジェクトファイルをリンカで結びつけることになっている。リンカはC言語の形式でしか名前を処理できないので、コンパイラは…
メモ: static変数の初期化のテクニック boost::serializationにおけるsingletonの内部の仕組み - redboltzの日記
リンク先も含めて安全なコードを書くための情報が多く参考になる。コード例も多い。ただノンプログラマがどこまでやるべきかという問題が...そもそも安全なプログラムが必要ならルールベースではなくてコンパイルの段階で弾かれるようになっていそうなRustを…
ubuntu15.10からantergosに移行したわけだが、先日書いたプログラムがlibboostの特定のバージョンに依存していたため動かなくなってしまった。今後は–staticにしたかったわけだが、最終的にはlibnssへの依存のためできなかった。とはいえ今後のためにメモ。
任意の次元の配列をprintする関数が欲しくなったが、単純にベタ書きする方法だと次元が決まっている場合しか対応できないのでテンプレートの再帰を用いたプログラムを書いてみた。
boost::asioを使ったhttps通信 http://pragmaticjoe.blogspot.jp/2015/02/boostasio-https-client.html GitHub - alexandruc/SimpleHttpsClient: A simple HTTPS client based on Boost Asio.
極めてつまらないプログラムを書いた。Windowsユーザの弟も利用すると考えたので少しだけ工夫をした。 参考 https://arrayfire.com/cross-compile-to-windows-from-linux/ C言語 マクロ コンパイル 判定 OS コンパイラ - 山口屋~活動日誌~ mingw-w64があれ…
C++で日時を取り扱うプログラムを書いている。Cスタイル、C++スタイルの両方が存在しているほか、相互に変換するための関数、計測精度ごとに複数の関数が存在するなど非常にややこしい。以下は簡単なまとめとして、具体的にインクルードすべきヘッダ、型に関…
C++のコードから簡単にmatplotlibを使ってグラフを作成する方法 - MyEnigma CinderでiPadアプリを実装してみた | Preferred Research でらうま倶楽部 : cinder を含む記事 VTK - The Visualization Toolkit VTK/Tutorials - KitwarePublic
少し理解度が上がったのでggり直したら日本語の分かりやすい資料が出てきた。 http://www.slideshare.net/abicky/r-15350295: SEXPREC構造体とGC http://qiita.com/R_Linux/items/05e1848eee064c25cd1e: gdb http://qiita.com/kohske/items/a7a1f51726ea2cb2…
以下https://cran.r-project.org/doc/manuals/r-release/R-ints.htmlとコードを眺めながら書いた駄文。ドキュメントは充実しているので良い。その他書き足す気力が失われたがmode、typeof、is.XX関数は重要と思われる。コードを読んでいると結局Rのオブジェ…
http://doc.cgal.org/latest/Point_set_processing_3/index.html#Point_set_processing_3NormalOrientation を少し変更して実行した。