タグ

c++に関するVoQnのブックマーク (18)

  • 大学院生のためのLLVM | POSTD

    (注:2017/07/06、いただいたフィードバックを元に翻訳を修正いたしました。) この記事は、 LLVM コンパイラ基盤を使ってリサーチをする人のための入門書です。これを読めば、コンパイラに全く興味のない大学院生も、楽しみながらLLVMを使って優れた功績をあげられるようになるでしょう。 LLVMとは何か? LLVMは非常に優れていて、ハックしやすく、C言語やC++のような”ネイティブ”言語向けの、時代の先端を行くコンパイラです。 LLVMの素晴らしさに関しては他にも様々な話を聞くのではないでしょうか(JITコンパイラとしても使えるとか、C言語系列以外の様々な言語を強化できるとか、 App Storeからの新しい配信形態 であるとか、などなど)。もちろん全部当のことですが、今回の記事の目的としては、上述の定義が重要です。 LLVMが他のコンパイラと差別化される理由には、いくつかの大きな

    VoQn
    VoQn 2016/02/19
    LLVM の pass について突っ込んだハウツー紹介は見たことなかった。役に立つ
  • introdunction to SIMD programming - primitive: blog

    Unite 2015 Tokyo の講演で詳細を話せなかったのが心残りだったので、大量のオブジェクトの更新処理についてこの場で書いてみます。 主に C++ で、簡単なパーティクルエンジンを作り、それを SIMD を用いて高速化する手順を解説します。 話を簡単にするため、以下の前提を設けます。 ・x86 環境のみ考慮 ・パーティクルは位置と速度のみを保持 ・パーティクル同士の相互衝突は総当たりで計算 総当たりなので超遅いですが、実装は容易で SIMD による恩恵を受けやすく、題材として手頃です。 この記事の中で引用されているソースの元は こちら、ビルド結果 (上のスクリーンショットのデモプログラム) は こちら になります。 相互衝突するパーティクルを実装する場合、お互いの距離を計算し、当たっていたらめり込み具合に応じて押し返す、というのがよくある実装だと思います。まずはそれをストレートに

    introdunction to SIMD programming - primitive: blog
    VoQn
    VoQn 2015/05/27
    SIMDでパーティクルエンジンの高速化。UnityのIL2CPPにも言及あり
  • Effective Modern C++の予約開始 - Faith and Brave - C++で遊ぼう

    EMC++ Exits Publishing Purgatory! - The View From Aristeia Effective Modern C++ - O'Reilly Effective Modern C++ - Amazon.co.jp Scott Meyersの著書『Effective C++』のC++11とC++14対応である『Effective Modern C++ (略称EMC++)』の予約が開始しました。発売は12月4日になっています。 副題は「42 Specific Ways to Improve Your Use of C++11 and C++14」、日語だと「C++11とC++14の使い方を改善する42の方法」といったところでしょうか。

    Effective Modern C++の予約開始 - Faith and Brave - C++で遊ぼう
  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • Comparing AVL Trees in C++ and Haskell

    This post compares the runtimes of AVL tree operations in C++ vs Haskell. In particular, we insert 713,000 strings from a file into an AVL Tree. This is a \(O(n \log n)\) operation. But we want to investigate what the constant factor looks like in different situations. Experimental setup: All the code for these tests is available in the github repository. The C++ AVL tree was created in a data str

    VoQn
    VoQn 2014/09/17
    AVL木の実装でCPU1コアだと負けたけどParallel使って4コア並列化させたらC++の実装よりもハイパフォーマンスにできたぜ的な話
  • スクールガールストライカーズの 内製クライアントエンジン

    近年、ハイスペックなスマートフォン、高品質なネットワークが普及し、それによりモバイルゲームの制作手法やそれを取り巻く環境も変化してきました。スクウェア・エニックスでは、そのような環境の変化に対して、日々新たなチャレンジをし続けています。そして、このようなスピード感溢れる業界の流れには、会社の枠を超えた技術情報の共有、交流が欠かせないと感じております。 そこでこの夏、社内のエンジニア・テクニカルディレクターによる最新のモバイル開発の技術情報や社内モバイルエンジン、開発秘話によるセッションをメインに、スクウェア・エニックス モバイル オープンカンファレンスを開催する運びとなりました。また、セッションの後は登壇する弊社スタッフと直接ディスカッションやフリートークができる場を設けております。この機会にスクウェア・エニックスという会社についても、より詳しく知って頂ければ幸いです。 マネージャー・テク

    VoQn
    VoQn 2014/07/17
    ナージャジベリの居たスクウェアの伝統は健在っぽいっすね…(高度が高すぎるわ)
  • Big Sky :: MSVC の怖い話

    夏だし、怖い話しようぜ! #include <cstdio> #include <math.h> class C { public: C() {} C(double) { printf("hello world\n"); } }; int main(int argc, char** argv) { C(NAN); return 0; } 僕は今日... こんなコードをコンパイルしたんだ...。gcc でコンパイルして実行したんだ...。 hello world 期待通りだった。 僕は安心し、これを今度は MSVC でビルドしたんだ...。 実行すると... 何も出ない... 僕は怖くなった。 何なんだ!何なんだ!NaN なんだーーー! 僕の C++ 人生はなんだったのか...。僕は病に侵されているに違いない...。 怖いながらもデバッガで追ったんだ... そしてステップインした... えっ

    Big Sky :: MSVC の怖い話
    VoQn
    VoQn 2014/07/01
    NaNってこった…
  • cakes(ケイクス)

    cakesは2022年8月31日に終了いたしました。 10年間の長きにわたり、ご愛読ありがとうございました。 2022年9月1日

    cakes(ケイクス)
    VoQn
    VoQn 2014/05/29
    そう、川上会長けっこうにテクニカルタームを知っておって、半端な言い訳でプロダクトの完成度の低さ弁明できないっていう侮れなさはありました
  • http://igloo-testing.org/index.html

    VoQn
    VoQn 2013/12/29
    C++のBDDフレームワーク。ext/ に git submodule で置いて使えばいいのかな
  • 革命の日々! C++ 用語やばい。超やばい。penisを意味するぐらいやばい

    いつものようにLKMLで駄文を書き散らかしていると、Hugh Dickins 先生からプライベートで忠告メールが KOSAKI のメールにはしょっちゅう hoge->fuga member だどうした。とか出てくるけど、"member"ってEnglishでは"penis"の婉曲表現だぜ。分かって使ってる? な、なんですとーー!! ・・・たぶん、ほとんどの日人は知らないと思います(;_; 追記: あとで気づいたが、このときは、メモリ回収処理を途中で打ち切る議論をしていたので、メールには sc->may_cut_off member と書いてあった。つまり「ちん○切り落とすぞ」機能を議論していたことになる。 うーん、それは震えが来るかもしれん。

    VoQn
    VoQn 2013/11/30
    スラングめんどくさ
  • GitHub - vittorioromeo/SSVOpenHexagon: C++20 FOSS clone of "Super Hexagon". Depends on SSVStart, SSVEntitySystem, SSVLuaWrapper, SSVMenuSystem, JSONcpp, SFML2.0. Features JSON/LUA customizable game files, a soundtrack by BOSSFIGHT, pseudo-3D effects.

  • Big Sky :: ()()で呼び出せるC言語のdefineマクロの活用法を思いついた

    こりゃ出番だ!...と思ったとか、思わなかったとか... ()()で呼び出せるJavaScriptのネスト関数の活用法を思いついた - あと味 ()()で呼び出すネスト関数の活用方法を考えたのですが、考えて出した答えがこれです。 http://d.hatena.ne.jp/jdg/20091020/1256042918 関数ポインタとか、operator()でもいいんだけど、リテラルを使いたくなかったのでマクロで... #include <stdio.h> #include <stdlib.h> #include <string.h> #define eq(x,y) !strcmp(x,y) #define X(x) oppai(#x); #define _(x) oppai(#x); X void oppai(const char* rhs) { static const char* l

    Big Sky :: ()()で呼び出せるC言語のdefineマクロの活用法を思いついた
    VoQn
    VoQn 2011/04/05
    キテる
  • C++リファレンス - cppreference.com

    スマートポインタとアロケータ 日付と時間 関数オブジェクト  −  hash (C++11) 文字列変換 (C++17) ユーティリティ関数 pair  − tuple (C++11) optional (C++17)  −  any (C++17) variant (C++17)  −  format (C++20)

  • GNU makeの使い方

    [ C++で開発 ] GNU makeの使い方 更新日: C++のビルドをGNU makeで行います。 Makefile記述テンプレート 単一ディレクトリで1つの実行ファイル作成用 Hello makefile(Ver.1) 一つのsrcディレクトリ、一つのincludeディレクトリからなるソースファイルをmakeし、一つの実行ファイルを作成します。 PROGRAM = hello.exe SRCS = Hello.cc Main.cc OBJS = $(subst .cc,.o,$(SRCS)) RM := rm CXX := g++ CC := g++ CPPFLAGS = -I../include LDFLAGS = -mno-cygwin $(PROGRAM): $(OBJS) $(LINK.o) $^ $(LOADLIBES) -o $@ .PHONY: clean clean:

    VoQn
    VoQn 2011/02/11
    偶に書く程度だといざという時にキーワード忘れがちだったのでブクマ
  • クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development

    こんにちは、人恋しい季節になってきましたね。 研究開発チームの祢次金(@nejigane)と申します。 エントリではCinderというクリエイティブなコーディング向けのライブラリについてご紹介したいと思います。 Cinderとは Cinderとは、画像、音声、動画等を簡単に処理&可視化できる、主にビジュアルデザイン向けの強力なC++ライブラリであり、The Barbarian GroupのAndrew Bell氏が中心となってオープンソースとして開発が進められています。 同様の思想を持つProcessingやopenFrameworksによく似ており、C++で簡単に記述できるうえ、WindowsMacOSX、iOS(iPhone/iPad)といった複数のプラットフォームをカバーしています。 細かい機能/特徴の紹介は家サイトに譲るとして、Cinderを極めるとどのぐらいクリエイティブな

    クリエイティブなC++ライブラリ "Cinder" の紹介 - Preferred Networks Research & Development
    VoQn
    VoQn 2010/11/19
    前々から気になってた
  • Spaghetti Source - 各種アルゴリズムの C++ による実装

    ACM/ICPC(プログラミングコンテスト)系列の問題を解くことを目標にして,各種アルゴリズムを C++ で実装してみた.極めて意地が悪い類の問題には対応していないし,特定の入力に対して高速に動くということもない.計算量も最良とは限らない. これらを参考にする方への注意とお願い: これらの記述は正確とは限りません.参考文献を参照することを強く推奨します.間違っている場合は是非教えてください. これらのプログラムは間違っているかもしれません.各人で検証することを強く推奨します.バグがあれば是非教えてください. 分類が怪しいので,これはこっちだろう,ということがあればコメントを下さると助かります. 注意! 現在書き換え中 TODO 分類を正しく行う. 全体的に説明と使い方を詳しく. Verify していないものを Verify. ボロノイ図(いつになることやら……) 基 テンプレート グラフ

  • Java総称型メモ(Hishidama's Java Generics Memo)

    メソッドの総称型 メソッドのみに総称型を適用した定義を行うことも出来る。[2007-06-12] 戻り値の型の直前に「<仮型引数, 仮型引数…>」を置くだけ。後はクラスの場合と同様。 public static <T> T notNull(T arg1, T arg2) { T ret; if (arg1 != null) { ret = arg1; } else { ret = arg2; } return ret; } このメソッドを呼び出す側は、クラスの場合とは異なり、明示的に型引数を指定する必要は無い。 指定した引数の値に応じて、自動的に型が判断される。 String s = notNull("abc", "def"); //型引数はString Long l = notNull(new Long(1), new Long(2)); //型引数はLong int i = notNu

    VoQn
    VoQn 2008/12/21
    C++のテンプレートと見た目そっくりの機能、総称型(ジェネリック・ジェネシス)
  • PixelMachine - SuperJer.com

    Building a Ray-Tracing 3D Renderer from ScratchOVER A WEEKEND I've always liked the idea of ray-tracing to render 3D images with crazy accuracy. On Saturday night (being a huge nerd) I decided I'd try to write one from scratch for the hell of it. By from scratch I mean I started with this C++ code in a text file: #include <stdlib.h> #include <stdio.h> int main() { return 0; } I used NO graphics li

  • 1