iPentecスタッフによる、レビュー Tips メモ その他の記事を掲載しています。 ツール、ユーティリティ URLエンコード・デコードツール Amazon 商品画像取得ツール Amazon 商品画像取得ツール - Amazon Product Advertising API利用版 UTC JST変換ツール JavaScript Webキーコード取得ツール Webサーチ 一覧ページ C#プログラミング JavaScriptプログラミング Delphiプログラミング グラフィックス・デザイン 画像生成 iPentec 3DCG
PC用音楽ソフトのプラグインを開発するためのSDK情報について調べました。 ■VST/VSTi(VST2.4, 3.1, 3.5) SDK:http://www.steinberg.net/en/company/developer.html 言語:C++ 申請等:スタインバーグのウェブサイトでデベロッパー登録およびプラグインID登録が必要 備考:同じ場所にASIO SDKもあり ■Audio Unit SDK:http://developer.apple.com/sdk/ 言語:C++ (Xcode) 申請等:Mac Developer Program登録必要?($99/年間) ドキュメント:http://developer.apple.com/library/mac/navigation/ ■FL Studioネイティブプラグイン SDK:http://forum.image-line.
Summary Download Documents: News FAQ Report bugs Contributions Contacts Component Overview Documentation Search in JVCL help JVCL links at : JVCL Project at SourceForge JVCL Files at SourceForge JVCL Mailing Lists at Sourceforge JVCL Website at Sourceforge JVCL links at Github JVCL Project at Github About: Mozilla Public License Summary The JEDI Visual Component Library (JVCL) consists of a large
Lisperの人ならみんな知ってる竹内関数(たらいまわし関数)という関数があります。 定義としてはこんな感じ。 そのシンプルな定義からは想像もつかないほど複雑で膨大な再帰呼び出しがおこなわれるとても興味深い関数です。たとえば引数にTarai(10,5,0)を与えると343,073回も再帰呼び出しされたりします。 この関数呼び出しの引数がどのように変化するか知りたくてプログラムを書いて調べてみたところ、Tarai(10,5,0)の場合は3つの引数がそれぞれ0〜10(xは-1〜10)の間で少しずつ変化するなかで、2つの値を固定してひとつの値が下降していくような挙動があったりして、なんだか音楽の3和音のコード進行を思わせるような動き方です。 そういうことなら、ということで実際に音にして聴いてみました。Tarai関数が呼ばれるたびに引数のx、y、zを、0=ミ、1=ファ、2=ソ、……、のように音に割
Mac OS Xのフォントマネージャには、広範囲にわたるフォント技術やデータフォーマットをサポートしやすくする簡単かつ高度な機能があります。プログラミングインターフェイスは、パフォーマンス、スケーラビリティ、および整合性を念頭において設計されており、Mac OS X上でApple Type Services(ATS)フレームワークや Quickdrawフレームワークを介してCocoaやCarbonアプリケーションに使用することもできます。 [2001年7月11日] フォントのインストール方法 フォントは簡単にインストールできます。Mac OS X 上のファイルシステムにある標準フォントディレクトリにファイルをコピーまたは移動するだけです。ファイルシステムのディレクトリは、ユーザのコンピュータ専用のリソースがネットワークリソースと区別されるように、また、コンピュータ上では、シ
先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解
<追記>ベンチマークプログラムに誤りがありました。ソート済のシーケンスに対してソートを掛けていました。ご指摘ありがとうございます>ak氏 そんな夢のようなソートアルゴリズムがあるのかというと、あるらしいんです。それがtim sortと呼ばれるアルゴリズムです。 画期的(?)なソートアルゴリズム「Sleep Sort」:濃縮還元オレンジニュース|gihyo.jp … 技術評論社 このあたりで拾ってきたネタですね。 merge sortを改良したアルゴリズムで、安定*1しており、しかも実行速度にも優れているとか。アルゴリズムの性能の評価は済んでいるらしく、CPythonやJDK7には既に導入済みのようですね。 ならば当然Perlのソートも…と考えるわけですが、まず評価のためにJavaのソースをC++にそのまま移植してみました。それがこれ(いちおうテスト済): https://github.co
「ダァシエリイェス!!」――ネットでたびたび話題になる京急のあのネタを活用した「プログラミング言語KQ」が登場。「Hello, world!」の出力は「ダァダァ!!ダァダァ!!ダァダァ!!……」といった感じ。 京浜急行電鉄の駅員さんによる「ドア、閉まります」という音声案内が「ダァシエリイェス!!」と聞こえるとネット上でたびたびネタになっているが、このネタをプログラミング言語化してしまった人が現われた。その名も「プログラミング言語KQ」だ。 「ダァダァ!!シエリダァ!!シエリシエリ……」と書いていくだけでプログラムを書けるネタ言語。「Hello, world!」を出力するには「ダァダァ!!ダァダァ!!ダァダァ!!ダァダァ!!ダァダァ!!ダァダァ!!ダァダァ!!ダァダァ!!ダァダァ!!シエリイェス!ダァイェス!!……」といった感じで入力する。ダァイェス!!って何だよ。 @nvsoftsさんが制
SSE2では、128ビット整数演算のSIMD命令の拡張が行われており、たとえば、pxor命令を使うことで128ビット単位でXORの演算を行うことができます。 pxor命令を使って128ビット単位で演算を行うには、SSE/SSE2用のxmmレジスタにmovdqu/movdqa命令(「SIMD拡張 命令を使用したメモリ間転送プログラム」で解説)でデータをメモリから転送し、pxor命令を呼ぶことで実行できます。pxor命令は、指定されたレジスタが mmx(64ビット)かxmm(128ビット)かを判断して演算を行ってくれます。以下がpxor命令を使ったXOR演算のソースコードになります。SSE2非対応の場合を想定して、longで演算を行う部分も書いてま す。#define SSE2をコメントアウトするとlong演算になります。 ソースコード #include #include #define SS
SSE2では、128ビット整数演算のSIMD命令の拡張が行われており、演算だけでなく、movdqa・movdquという命令を使うことで128ビット単位でメモリ間のデータコピーを高速に行うことができます。movdqaは転送対象のメモリのアドレスが16バイトの境界(アライメン ト)に揃ってる必要があります(アドレス値が16で割り切れる)。これに対して、movdquでは16バイトのアライメント制約はなく、どのアドレス値からでも読み書きできます。ただ、アライメントが揃っている分、CPUが処理しやすいため、movdqa命令の方が実行速度が速いです。速さを追求するならば、mallocや配列の確保時に16バイトのアライメントを意識する必要があります。各命令の基本的な実行速度はIntelから以下の資料が出ていますが、この資料上ではmovdqa・ movdquのスループットとレイテンシは同じになってますね・
マスク付きロード命令およびストア命令の追加 vmaskmov はマスク付きのロードまたはストアを行う命令です。以下のような条件分岐のあるプログラムにおいて、コンパイラーは b[i] へのアクセスを安全に行うことができるかどうか(すなわち、b[i] が常に参照可能なメモリを指しているか)判断不可能なため、従来は自動ベクトル化を断念するか、その部分だけスカラーのコードで(非効率的に)実行していました。 マスクつきロード命令により、b[i] へのメモリーアクセスを a[i]>0 の条件が真の時にだけベクトル実行することが可能になり、自動ベクトル化においても効率よく実行することができるようになりました。 void foo(float *restrict a, float *b, int n) { int i; for(i=0; i<n; i++){ if (a[i]>0) { a[i] += b[
Using Intel.com Search You can easily search the entire Intel.com site in several ways. Brand Name: Core i9 Document Number: 123456 Code Name: Emerald Rapids Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice* Quick Links You can also try the quick links below to see results for most popular searches. Product Information Support Drivers & Software
SIMD命令およびアセンブラの基礎 SIMDとは 用語集 開発環境 アセンブラの基礎知識 x87 FPU命令を使用したプログラミング CPUの識別 メモリアドレスのアライメント ラップアラウンド算術と飽和算術 SIMD命令セットの分類と歴史 SIMD命令セットの記述方法 SIMD命令セットの概要 MMX命令セットの概要 SSE命令セットの概要 SSE2命令セットの概要 SSE3命令セットの概要 SSE4命令セットの概要 命令リファレンス データ転送命令 算術命令 比較命令 論理演算命令 シフト命令 シャッフル命令 パックおよびアンパック命令 変換命令 挿入および抽出命令 ブレンド命令 丸め命令 キャッシュ制御命令 その他の命令 プログラミング例 画像処理 音声信号処理 参考資料 参考資料 トップSIMDの扉
MMX命令と通常コードの速度比較。 以下の例ではほぼ一桁早い。 ※test1.bmpとtest2.bmp(サイズ512x512)を用意しておくこと。 #define DIM 512 #define COUNT 600 int FIP_PIXELS =(DIM*DIM); TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void CanvasDraw( unsigned cha
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く