タグ

プログラミングとD言語に関するoutland_karasuのブックマーク (7)

  • D言語もくもく会(1) (2019/01/26 14:00〜)

    お知らせ ソーシャル認証に頼らず安全にログインしていただくため、すべてのユーザーに対してパスワードの設定を必須といたしました。まだパスワードを設定されていない方は、パスワード設定画面よりご設定をお願い申し上げます。 機能改善 領収データ発行機能にてインボイス制度の書式での出力に対応しました。 詳しくはこちらをご覧ください。 新機能 参加者によるオンライン出席機能をリリースしました。今までは主催者による出席管理機能はありましたが、大規模イベント等での受付処理が大変とのフィードバックをいただいてました。今後はイベント作成時に発行される「出席コード」を会場現地や配信で共有してもらうことで、参加者自身でイベント出席登録を行うことができるようになります。これにより受付処理が容易になりますので、イベント主催者の皆様はぜひご活用ください。詳しくはこちらのニュース や 特集ページ をご確認ください。

    D言語もくもく会(1) (2019/01/26 14:00〜)
  • D言語でコンパイル時に動く正規表現エンジンを作る

    そもそもD言語にはstd.regex.ctRegexというコンパイル時正規表現エンジンがあるのですが,パターンのコンパイルはできてもマッチなどの操作はコンパイル時は動きません. import std.regex; void main() { // 公式ドキュメントの例をauto -> static constに // Error: cannot convert `&immutable(Regex!char)` to `Regex!char*` at compile time ... static const ctr = ctRegex!(`^.*/([^/]+)/?$`); static const c2 = matchFirst("foo/bar", ctr); // First match found here, if any static assert(!c2.empty); //

  • #dlang マイナス時間で完了するfizzbuzz - Kotet's Personal Blog

    D言語なら、この程度の処理はマイナス時間で完了する。 コンパイル時にメッセージまで出力し、プログラムが開始する前に全てを終わらせられるのだ。 - outland_karasuのコメント / はてなブックマーク 前回からdmdのバージョンが上がり、 static foreachも入ったのでD言語 Advent Calendar 2017 5日目の記事としてもう一度fizzbuzzを書いてみる。 しかし自分は記憶力がないのでそもそもfizzbuzzとは何かを忘れている。 ここであらためてfizzbuzzを説明しよう。 1から100までの数をプリントするプログラムを書け。 ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。1 というわけでstatic foreachを使ってFizzBuzz

    #dlang マイナス時間で完了するfizzbuzz - Kotet's Personal Blog
  • Day of D言語くん - Qiita

    Merry Christmas !!! 今回 Effekseer でD言語くんを彩るエフェクトを作ってみました。 各シーンに特に意味はないぞ! デジタルマァズの世界から召喚されたD言語くん 異世界からやってきたぞ! デコられるD言語くん イマドキ流行してるクリスマスツリーだぞ! 人気者のD言語くん 光の魔法でクリスマスのお祝いをするぞ! 発射されるD言語くん ロケットエンジンで飛べるぞ! 飛翔するD言語くん 回転するとジャイロ効果によって飛行が安定するぞ! 疲れからか黒塗りの高級車にぶつかってしまうD言語くん 完全に撃破したから示談とか関係ないぞ! 量産されるD言語くん なかまがふえるぞ! 空から降る1億のD言語くん やがて世界はD言語くんで包まれるだろう。 人はそれを審判の日と呼んだ。 終

    Day of D言語くん - Qiita
  • D言語でコンピュータ将棋プレイヤを作りました - Qiita

    test1, test2の(LDCの)結果から、(テストが間違ってなければ)ゲーム木探索でも1コア100万局面/秒を見込める実行速度が出ていると考えられます。実際、電王トーナメント時のcore-i7 6700K環境の4スレッド並列探索では、合法手数の少ない序盤局面&軽めの2駒関係の評価関数という条件ですが400万局面/秒出ていました。 (C/C++で実装された他プログラムと比較しても負けてない速度は出ていると思います![要出典]) ビットボードの演算子の一括オーバーロード ビットボード:1マスを1ビットで表現→将棋では81ビット以上必要(、なので構造体でビット演算を定義したい、できればSSEを使いたい) D言語では演算子をopBinary(2項演算), opUnary(単項演算), opOpAssign(代入演算)などでまとめてオーバーロードでき、コードがすっきりします。 またオーバーロー

    D言語でコンピュータ将棋プレイヤを作りました - Qiita
  • D言語はデータサイエンスのためにある | POSTD

    Andrew Pascoeは、 部屋に座っている AdRollのシニアデータサイエンティストです。 プログラミング言語D は、効率的にタスクをこなすためにデータサイエンスチームがすぐに好んで使うようになりました。今では重要なインフラストラクチャに欠かせない言語になっています。なぜでしょうか。それはD言語が多くを提供するからです。 簡単な紹介 他の典型的なデータサイエンスワークフローと比較して、D言語を使用する最も明確な利点の1つは、マシンコードにコンパイルできるという点です。インタプリタや仮想マシンレイヤがなければ、Java Hadoopフレームワーク、R、Pythonのような他のツールよりかなり高速にデータ中からリッピングできます。しかし、D言語のコンパイラは、多くの場合、まるでスクリプト言語のように高速に実行できます。100万の一様ランダム変量を生成し、ソートし、十分位数を見つける処理

    D言語はデータサイエンスのためにある | POSTD
    outland_karasu
    outland_karasu 2015/02/24
    こういった、速いコードを手早く作ってトライ&エラーを繰り返したい時にはとても向いている言語だと思う。低レベルに下ってアセンブラでSSE使ったりOSのネイティブAPI叩く事もできるし。
  • D言語の構文を拡張する - Qiita

    D言語 Advent Calendar 2014の23日目の記事です。 更に、Aizu Advent Calendar 2014の23日目の記事でもあります。 D言語には文字列mixin(宣言、文、式)とCTFE(コンパイル時関数実行)という機能があります。 文字通り、文字列mixinは文字列の中身をソースコードとして展開する機能で、 CTFEはコンパイル時に関数を実行する機能です。 上の2つの機能を組み合わせて、D言語の構文を拡張できるライブラリを作りました。 TL;DR 構文拡張ライブラリ:Tcenal Swap演算子追加の例:swapop Tcenal D言語の構文拡張ライブラリです。 https://github.com/youxkei/tcenal どうやって拡張するの? Tcenalは内部でD言語の大部分のパーサを持っていて、そのパーサをオーバーライドする形で拡張します。 その

    D言語の構文を拡張する - Qiita
  • 1