タグ

readingとhow toに関するUSAGI-WRPのブックマーク (14)

  • C++14 のラムダ式 完全解説 中編 - 野良C++erの雑記帳

    この記事では,前編に引き続き, C++14 のラムダ式について説明していく. 前編では,ラムダ式に対する大雑把な説明と,ラムダ式の持つ型推論機能を紹介した. この記事では,ラムダ式の最も重要な機能の一つである,変数のキャプチャについて説明したい. なお,初めて この記事を読む方は,先に前編を読むことをお勧する. 目次(再掲): ラムダ式の基礎 (前編で解説) ラムダ式の型推論(前編で解説) 変数のキャプチャ(この記事で解説) ラムダ式の活用法(執筆中) マニア向けの補足(執筆中) 変数のキャプチャ ラムダ式により生成されるクラスの operator() の関数体は, this ポインタやメンバ変数・関数の扱いを除き,ラムダ式の体と同じコードになる. // 例えば, auto f = [] (int x, int y) { return x + y; } // 上のコードは, struc

    C++14 のラムダ式 完全解説 中編 - 野良C++erの雑記帳
  • Emscriptenを用いてC++ソースをJavaScriptに変換する

    プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMaciPhoneなどの話題が中心のブログ EmscriptenはC/C++ソースからJavaScriptソースへ変換するコンパイラです。 BananaBreadのようなゲームPythonRubyのようなスクリプト言語もコンパイルできるようです (Emscripten Wikiにはそれ以外のデモやサンプルへのリンクがあります)。 そこで、今回は導入してHello worldを実行させるまでの手順を紹介します。 Emscriptenの導入 コンパイラであるem++を使うだけなら意外と簡単に導入できます。 XcodeのCommand Line Toolsは導入済みとします。 JavaScriptの最適化ツールであるClosureコンパイラはEmscriptenに (古いバージョンですが) 入っています

    Emscriptenを用いてC++ソースをJavaScriptに変換する
  • calculation using __float128

    gcc 4.6 以降で利用することができる 4 倍精度の __float128 の使用法や注意点を提示します. 対象は次のようなものです. OS は FreeBSD の 7 系以降 (/i386 および /pc98) CPU は i386 gcc は version 4.7, 4.8 gcc 4.6 から,浮動小数点数として 4 倍精度 (__float128) を利用することができるようになりました.[1] とはいえ,拡張倍精度がそうであるように,単精度や倍精度に比べて実装の仕方が不自然です. 次節以降では,プログラムを書くために必要な 4 倍精度の「癖」を概説します. 当然ながら,拡張倍精度との得失を比較する必要があるでしょう. 長所としては,以下のことが挙げられます. 表現精度が著しく向上する.(19 桁 → 34 桁) 標準 library の算術関数等が充実している. また短所と

  • 65万円の控除を青色申告で得る“超”具体的な方法(フリーソフト編)

    今回はフリーソフトを使って青色申告に挑戦してみよう。Vectorの会計用ソフトの中で人気の高い「加藤かんたん会計」というソフトを実際に使用してみた。「加藤かんたん会計」は神戸の税理士、加藤晃三氏が作ったソフトで個人一般用、個人不動産所得用、法人用などを用意している。 →青森、岩手、福島、茨城は確定申告の期限が延長になりました 公式サイトか、Vectorからダウンロード可能だ。YouTubeにて「加藤かんたん会計個人一般用マニュアル前編」、「加藤かんたん会計個人一般用マニュアル後編」の動画も用意している。 フリーソフトを使う場合、簿記3級くらいの知識が要るものが多い。青色申告特別控除の65万円をゲットするためには複式簿記による記帳が義務付けられている。 筆者は理系出身ということもあり、簿記3級の知識もなく、根的に理解しているとは言い難いのだが、4回の確定申告を経て、おぼろげに複式簿記なるも

    65万円の控除を青色申告で得る“超”具体的な方法(フリーソフト編)
  • Haskell — ありえるえりあ

    概要 HaskellのスレッドシステムとSTMについて調べたので、ここにまとめます。 Haskellのスレッドシステムは、予想よりも複雑でした。 Haskellの世界で閉じた処理ならば、比較的簡単なのですが、 FFI(Foreign Function Interface: 外部のCの関数を呼び出す仕組み)を使うと、 とたんに複雑になってしまいます。 一度に書くと、量が多いため、数回に分けて書こうと思っています。

  • 第53回 repaを使って行列演算を並列化する

    これまで並行処理のためのデータ型として,第12回ではTVar型やMVar型,第14回ではChan型やTChan型などを取り上げてきました。一方,並列処理のためのデータ型はあまり説明してきませんでした。取り上げたのは,第10回や第24回のコラムで説明したデータ並列Haskellの並列配列くらいです。 たしかに,並列HaskellやParモナドを利用すれば,並列処理のための特別なデータ型を使わなくても並列処理は可能です。しかし,目的とする処理の並列化に特化したデータ型が用意されているのであれば,それを利用したほうが簡単かつ効率的に処理を行えます。 そこで今回は,並列処理用のデータ型の一つとして提供されている「repa(REgular PArallel arrays)」の並列配列の基を説明します。repaはデータ並列Haskellプロジェクトの一環として開発が進められているライブラリです。デー

    第53回 repaを使って行列演算を並列化する
  • Haskell での例外処理 - あどけない話

    リツイート数が30を超えたので、Haskell での例外処理について説明します。僕が思うに、Haskell での例外処理が分かりにくいのには、2つ理由があります。 ライブラリの混乱 パラダイムの違い 歴史的経緯により、Prelude にも Control.OldException にも Control.Exception にも catch があります。歴史的経緯を説明するのは面倒なので、これだけ覚えて下さい。「Control.Exception だけを使って、それ以外は忘れる」 そもそも純粋関数型で catch とか言われても分からないかもしれません。Haskell では、純粋な関数と IO とでは、例外処理の方法が異なります。命令的な catch などを使うのは IO です。純粋な関数には Maybe か、Either を使います。 純粋な関数 純粋な関数では、原則として例外を投げてはい

    Haskell での例外処理 - あどけない話
  • beaglebone で、コマンドラインからデジタルとアナログ入出力 - お前の血は何色だ!! 4

    beagleboneで、arduinoみたいなことをやってみようということでいろいろ調べています。 よく、付属のLEDの点灯の記事を見かけるのですが、そんなのではなくて、arduinoみたいに外部のLEDをピカピカさせたいのです。 また、beaglebone付属のIDEを使って、webからやるのではなくて、せっかくlinuxが入っているのですから、コマンドラインやプログラムから、ピカピカさせたいものです。 beagleboneは名刺入れサイズの大きさのPCです。 中身はふつーのlinuxです。 gccやg++も最初から入っていますので、いろいろ遊べます。 boostなども入れることができます。(コンパイルに数時間かかりますけど) また、beagleboneのCPU Cortex-A8には、NEONというSIMD命令が搭載しています。 gccのオプションを設定すれば、高速に浮動小数点演算がで

    beaglebone で、コマンドラインからデジタルとアナログ入出力 - お前の血は何色だ!! 4
  • MSYSでGTK+をビルド (2) - 七誌の開発日記

    MSYSでGTK+をビルドする手順をまとめました。 ビルド後のパッケージ一覧は前回の記事を参照してください。 MSYSでGTK+をビルド (1) http://7shi.hateblo.jp/entry/2012/04/30/181459 ビルドには非常に時間と手間が掛かります。自分でビルドしなくても家でWindowsバイナリが公開されています。 http://www.gtk.org/download/win32.php 参考までに私がビルドしたバイナリを置いておきます。/usr/localに展開することが前提のアーカイブです。 これは一時ディレクトリにインストールしたファイルを固めたものです。make installの代わりに使うスクリプトを作成したので、参考までに置いておきます。 https://gist.github.com/2569475 Python Windows用のPyth

    MSYSでGTK+をビルド (2) - 七誌の開発日記
  • Presentation with XeLaTeX

    XeTeXは日語処理についてはpTeXほど完成度が高くないので、日語がメインである文書を作る際はpTeX/pLaTeXを使用し、プレゼンのためにXeTeX/XeLaTeXを利用するという使い方をするのであれば、両者をインストールしなければなりません。 MacOS Xの場合には、それぞれ別のディレクトリに置かれるので、ディスクの容量を気にしなければ、全く問題はありません。 pTeX: /usr/local/bin と /usr/local/share/texmf XeTeX: /usr/texbin と /usr/local/texlive/ それぞれを、TeXShopから使う方法については下記を参照して下さい。 このページでは、インストール済みのXeLaTeXを用いてプレゼン用pdfファイルを作成する方法を紹介します。MacOS X上のXeLaTeXTeXShopの使用を仮定していま

  • 鳴るほど♪楽器解体全書 掲載楽器一覧 | YAMAHA

    フルート 主に旋律楽器として、明るく澄んだ音色で暖かさ、優美さ、繊細さが持ち味。材料に金、銀、宝石を使うリッチさも特長です。

  • xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - 千里霧中

    最近、昔作ったTest Doubleの解説資料を参照・引用してくれる方がちらほら出ていて恐縮しているのですが、見直してみると結構わかりにくい資料なので今回文章としてまとめたいと思います。内容は世間一般的に言われているMock、Stub、Fake、Dummyといった言葉の定義になります。 Test Doubleとは Test Doubleとは、テスト実行時に、テスト対象が依存しているコンポーネントと置き換わるものです。「テスト代役」と訳されることもあります。世の中でMock、Stub、Fake、Dummyなどと呼ばれているものの総称に位置づけられます。 簡単な例を以下に示します。このコードでは、テストメソッド「テストコード()」がメソッド「テスト対象()」をテストしています。また「テスト対象()」は、中でメソッド「外部メソッド()」を実行しています。なお「外部メソッド」はテスト対象でないとし

    xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の定義) - 千里霧中
  • Dart言語のIsolateについて調べてみた | へびにっき

    Googleが先日発表したプログラミング言語Dart。その特長の一つとして挙げられるIsolateが面白そうだったので、ちょっと特性を調べてみた。結論から言うと、なかなか気難しい機能だな、という印象。 何か意味のあるサンプルを作りたかったわけではなく、単に動作の性質が知りたかっただけです 実装は読んでないので多分に憶測混じりです dartlang.org上のDartboardでテストしています DartのIsolateはErlangのプロセスに似ていると評価されることがあるが(確かに似たところもあるが)、使用感は全く別物と思った方が良いと思う。最も大きな違いは「receiveがブロックしない」つまり「メッセージを受信するまで待つ」ことができないこと。 class IsolateA extends Isolate { main() { port.receive((msg, replyTo)

  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GC¥¢¥ë¥´¥ê¥º¥à¾ÜºÙ²òÀâ ÆüËܸì¤Î»ñÎÁ¤¬¤¹¤¯¤Ê¤¤GC¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ë²òÀ⤷¤Þ¤¹ ¥È¥Ã¥×¥Ú¡¼¥¸¥Ú¡¼¥¸°ìÍ÷¥á¥ó¥Ð¡¼ÊÔ½¸ GC ºÇ½ª¹¹¿·¡§ author_nari 2010ǯ03·î14Æü(Æü) 20:47:11ÍúÎò Tweet ¤³¤ÎWiki¤¬Ìܻؤ¹½ê GC¤È¤Ï¡© GC¤ò³Ø¤ÖÁ°¤ËÃΤäƤª¤¯»ö ¼Â¹Ô»þ¥á¥â¥ê¹½Â¤ ´ðËÜ¥¢¥ë¥´¥ê¥º¥àÊÔ Reference Counter Mark&Sweep Copying ±þÍÑ¥¢¥ë¥´¥ê¥º¥àÊÔ IncrementalGC À¤ÂåÊÌGC ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È·¿GC LazySweep TwoFinger Lisp2 Pa

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • 1