遅めに帰着。
調べ事。あまりの眠さに急速停止。
遅めに帰着。
調べ事して終了。
AM中に起床。
そういやゲゲゲの鬼太郎の裏番組で放送されている
「魔法×戦士マジマジョピュアーズ!」。いつの間にか一人増えてる。
ちょろりお出かけ。先週めぼしを付けておいた整理箱を購入。
デッドスペースが無くなったのと、箱に入る事で ほこりが
付かなくて掃除が簡単になるのとで目論み通り。
調べ事。
AM中に起床。
掃除したり。
そういやGoogleで画像検索をする際、時間の指定が何故か
1週間以内の選択しかなくて、通常検索のように1カ月以内や1年以内
を指定するには期間指定するしかありませんでした。で、
何気に時間指定に1カ月以内と1年以内が追加されてるのに
気付いたり。むしろ今まで無かった方が何故?という感じですが。
夕方頃に少し強めの雨が降ってましたが、その後はそれほどでも無さげ
な感じに。
物理演算エンジンの Bulletをビルドして、コマンドラインの
コンパイラで使う方法を試したり。コマンドラインシェルはCygwin
のbashを使うのに、環境変数やPATHをどう設定すれば判らなかった
のですが、VS2017のコマンドラインプロンプトを開く方法を知った
ので、そこから環境変数を調べたり。ひとまずVCのコンパイラである
(と思われる) cl.exe を使って、Bulletのexampleコードである
HelloWorld.cppのコンパイルに成功。
遅めに帰着。
バケモノの子を観たあと、あまりの眠さに急速停止。
遅めに帰着。
あまりの眠さに急速停止。
遅めに帰着。
あまりの眠さに急速停止。
遅めに帰着。
そういやVCのコンパイラをコマンドラインシェルから使おうと思った
のですが、どこに何があるのかさっぱりわからない感じだったり。
Webで調べてみても、探し方が悪いのか正解に辿り着けず。
遅めに帰着。
Web巡回して終了。
AM中に起床。
掃除したり洗濯したり。
昨日仕入れてた「ヤコとポコ(4)」。オート家出システム、
発動したら犯罪という設定も気になる。他にも色々繋がってて
まだまだ続きそうです。
何気に見つけたGradius V の
プレイ動画。
動画の内容よりもなんかレンダリングの解像度が高いような気がする
のはなんでだ?という事の方が気になったりも。
AM中に起床。
日が陰った頃にちょろりお出かけ。整理箱を物色していたところ
丁度よさげなのがあったのですが、高さのバリエーションに対して
どれが良さそうかを覚えていなかったので、今日の所は見ただけ。
調べ事。
早めに帰着。
そういや、はやぶさ2が目的地のリュウグウに到着してたらしい。
地球を出発したのいつだっけ?と思い
Wikipedia
で確認したら、2014年12月3日だったのですが、そんなに前だったっけ?
Wikipediaに今後の予定が示されていたのですが、1年半滞在して
2020年に地球帰還予定て事は、2019年末か2020年の早い時期に
リュウグウを出発して1年で帰り着けるという事らしい。
帰りの速度が速いのはなんでだ?と思ったのですが、地球を発つ
方向は重力を振り切るのに時間がかかるからか?とは思ったりも。
遅めに帰着。
あまりの眠さに急速停止。
遅めに帰着。
dmd対応。ひとまず一通りの手持ちコード対応完了。
遅めに帰着。
dmd対応。もうあと少し。
AM中に起床。
掃除したり洗濯したり。
日が暮れてから食料調達に出かけたのですが、驚くほど暑かったり。
dmd対応。手持ちコード対応もあとちょっと。
CC2を特に何かする訳でもなく立ち上げていると
「Antimalware Service Executable」がやたら動いていたり。
以前、デスクトップPCの方でも何やらしばらく動いてたのですが、
それと同じか?しばらく様子見。
AM中に起床。
エアコンの温度設定。設定表示上は29℃にしているのですが、
卓上の温度計では27.5℃前後になります。これだとちょっと寒い
ので、設定を30℃にすると 卓上温度計では29℃になり微妙に
暑い感じになります。この間にならないものだろうか?
GDC。このまえDMD2.081.1対応対応
されているブランチをビルドしたのですが、どうやらそれと同じものが
マスターブランチにマージされてる模様。logを遡ってみると、
丁度1カ月ほど前にC++のフロントエンド(DMD2.076相当)から
Dのフロントエンドへの完全な切り替えが行われていたようなので、
そこからは最新のDMDに即追従可能な感じになってるみたい。
日が暮れてからちょっこりお出かけ。
CC2用のBluetoothキーボードですが、あんま使っていない割には
電池の減りが早くて、電池を買い置いておくのも面倒臭いなぁ?
と思い、充電池を買ってみる事にしたり。充電池って充電した後
使わないと自然放電して用事のある時に使えないものかと思って
いたのですが、簡単には放電しない感じになっているらしいと
いうのを知って、それなら良いかもと思った次第です。
で、店頭でeneloopとEVOLTAの二種類があり、違いを事前に
調べていなかったので、どっちにしようか迷ったのですが、
売り場面積的にEVOLTAの方が占めていたのと充電器は
両対応になっているようだったので、EVOLTAの方にしてみました。
EVOLTAのWikipedia
によると、何気に発売されてから10年くらい経っているのか
と思ったりも。今はeneloopもPanasonicブランドになってる
ので、eneloopとEVOLTAの違いって何?って感じになった訳ですが、
eneloopは元々三洋電機のブランドだったのが、再編で
Panasonicブランドになり今に至るという事みたい
(参考:eneloopのWikipedia)。
eneloopもEVOLTAもそれぞれ特長があるようなので、用途に
よって使い分けるのが良いみたいです。
8ポートのLANハブをついでに購入。気付くといつの間にか5ポート
のハブが埋まってる状態だったので。今回購入したのは100Mbpsか
1Gbpsのどちらでリンクアップしているか判るタイプなので、
接続機器がGbit対応か調べるのに使えます。
AM中に起床。
そういや何週間か前から、NHK総合で進撃の巨人のアニメ映画が放送
されてて、なんでだ?と思いつつ思っただけでスルーしていた
のですが、シーズン3がNHK総合で放送されるというのを知ったり。
意外。
手持ちコードのdmd対応。gmp/mpfrを使うのに、VisualStudoでビルド
する方法を探っていたのですが、
こちら
のWebサイトでVSでビルド済のmpir/mpfrが置いてあるのを見つけたり。
サイトのページにあるようにmpirはgmpのforkで、ライブラリの
APIは互換があるそうです。ただ、mpir/mpfrをビルドする為のVS
プロジェクトが含まれている感じでは無さそうです。ちょっと残念。
で、マンデルブロ集合を描くD言語コードをdmd対応。
mpfrを使用するモードも問題無く動きました。これでひとまず
外部ライブラリに依存している手持ちコードは全てdmd対応
可能になった感じ。
マンデルブロ集合を描くコードはldcでもビルド可能になったのですが、
mpfrを使わないモードで初期位置の絵を描くのに、
コンパイラ(いずれも-m64を指定) | 最適化 | 使用論理CPU数 | 実行時間 |
dmd 2.080.0 | -O | 8 | 2.508秒 |
dmd 2.080.0 | -O | 1 | 14.712秒 |
ldc2-1.10.0-beta2 | -O2 | 8 | 0.118秒 |
ldc2-1.10.0-beta2 | -O2 | 1 | 0.578秒 |
x86_64-w64-mingw32-gdc (dmd2.068;gcc-6.2.0) | -O2 | 8 | 0.436秒 |
x86_64-w64-mingw32-gdc (dmd2.068;gcc-6.2.0) | -O2 | 1 | 1.861秒 |
遅めに帰着。
あまりの眠さに急速停止。
遅めに帰着。
GDC。MinGWターゲットでビルドしたgdcでは、リンクに失敗するコンパイラ
になってて解決できないままになってます
(参考)。
で、先日の新しいGDCだと変わってたりするのかしら?と思い
調べてみたのですが、ソースコードを見る限りは変わっていなさげ。
ELFを使うUNIXクローン系OSでは問題無さそうですが、
その他のターゲット(osxとかsorarisとか)もダメだと思うのだけど
そうではないのかしら?
遅めに帰着。
FreeDOSで256byteデモも見られるかも?と思い、
有名所の
「tube」と
「Puls」を
見てみたり。どちらも問題無く実行できました。
どんな感じなのかは動画で見て知っていても、実際に動いているのを
見ると変な声が出てしまいます。
GDC。
masterブランチではありませんが、DMD2.081.1対応されているブランチが
あるようなので、試しにビルドしてみる事に。D言語で書かれたコンパイラ
になる訳ですが、ついにビルドの為に(ビルド済の)GDCが必要になってました。
そんな訳で、何も無い所からGDCをビルドするのは結構大変になるかも
知れません(GDCを使った事無い人が試しに使う為にソースからビルド
しようとすると、大分困る事になるかも)。また、MinGWのように今時点で
ターゲットを外れたシステムに移植するのも困難になると思われます。
エラー無くビルドに成功。
make installしてhello worldレベルのコードをコンパイル&実行。
$ gdc -v Using built-in specs. COLLECT_GCC=gdc COLLECT_LTO_WRAPPER=/usr/local/gdc_20811_900/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-9-20180708/configure --with-pkgversion='gdc-9 c7eaf36d82(DMD2.081.1)' --enable-languages=c,c++,d --prefix=/usr/local/gdc_20811_900 --disable-bootstrap --disable-nls --with-bugurl=http://bugzilla.gdcproject.org --enable-checking=yes --disable-libgomp --disable-libmudflap --disable-libsanitizer Thread model: posix gcc version 9.0.0 20180708 (experimental) (gdc-9 c7eaf36d82(DMD2.081.1)) $ gdc -m64 -O2 iam.d $ ./a.out GNU D gnu 2.081 (D2) I am GNU I am linux I am Posix I am X86_64 $ cat iam.d import std.stdio; import std.string ; import std.compiler; int main() { writef("%s %s %s.%03d (D%s)\n",name,vendor,version_major,version_minor,D_major) ; version( GNU ) writef("I am GNU\n" ) ; version( Unix ) writef("I am Unix\n" ) ; version( linux ) writef("I am linux\n" ) ; version( Windows ) writef("I am Windows\n") ; version( MinGW ) writef("I am MinGW\n" ) ; version( MinGW32 ) writef("I am MinGW32\n") ; version( MinGW64 ) writef("I am MinGW64\n") ; version( cygwin ) writef("I am cygwin\n" ) ; version( Win32 ) writef("I am Win32\n" ) ; version( Win64 ) writef("I am Win64\n" ) ; version( Posix ) writef("I am Posix\n" ) ; version( X86 ) writef("I am X86\n" ) ; version( X86_64 ) writef("I am X86_64\n" ) ; version( ARM_SoftFloat ) writef("I am ARM_SoftFloat\n" ) ; version( ARM ) writef("I am ARM\n" ) ; version( PPC ) writef("I am PPC\n" ) ; version( PPC64 ) writef("I am PPC64\n" ) ; version( PPC_SoftFloat ) writef("I am PPC_SoftFloat\n" ) ; version( PPC_HardFloat ) writef("I am PPC_HardFloat\n" ) ; return(0) ; }
遅めに帰着。
gmp/mpfrをVisualStudioでビルドする方法をWebで探してみている
のですが、良い感じのに行き当たらず。
早くも無く遅くも無く。
Pouetで最近のパーティの
エントリを眺めていたら
Projektbeschreibung
という作品を知ったり。256B作品かと思ってよく見てみると
32byte作品ってなってて、はぁ??? と思ったり。
ダウンロードしてみると確かに32バイトの.COMファイルと
アセンブラのソースが添付されていたのですが、にわかに信じられない
と思いながら、付属のreadme.txtを読んでみるとFreeDOSで実行可能という事で、
思わずVMwareにFreeDOSを
インストールして確かめてみたり。ホンマや.....すげぇ......
思いもよらず FreeDOSを動かせる様になってみたのですが、
何気にDOSの256Byte作品とかを見る環境が出来てしまったかも(^^;
因みに、DISKイメージへの書き込みは
DiskExplorer
を利用させていただきました。
AM中に起床。
手持ちコードのdmd対応。そういやD言語では 言語の組み込み機能で
「x"89" ~ "PNG"」てな感じの書き方ができました。
これは 0x89 の1バイト文字と文字列"PNG"を連結
した文字列となります。ところがdmd2.080.1では非奨励になってるようです。
代わりにstd.convにある hexString テンプレートを使う必要があるのですが、
2.068の頃には無かった テンプレートなので、ソースコード
の後方互換が保てない感じになります。
昼過ぎ起床。寝すぎ。
手持ちコードのdmd対応。2Dベクターグラフィックスライブラリの
cairoを使った
D言語コードをビルドする為にcairoをVisualStudioでビルドしてみたり。
と言っても、cairo自身はVSでのビルドがサポートされていないようなので、
Cairo-VSと
いうプロジェクトを利用してみました。微妙なハマリどころは
いくつかあったものの、x64ターゲットでのビルドに成功。
そして手持ちコードのビルドも成功。
早めに帰着。
久しぶりにGTS。耐久レースはシルバーまでは取れるものの、
ゴールドは全くメドが付かず。1位のCPUカーは速すぎです。
早くも無く遅くも無く。
手持ちコードのDMD対応。特に問題無し。
遅めに帰着。
dmd 2.081.0がリリースされた模様。
あまりの眠さに急速停止。
早くも無く遅くも無く。
手持ちコードのDMD対応。特に新しい事件は無く進んでみたり。
早くも無く遅くも無く。
あまりの眠さに急速停止。
昼頃起床。
掃除したり洗濯したり。
OpenGLを使用するD言語コードをDMD対応。一通り直してひとまず動く
ようなのですが、少し動かしているとそのうち動かなくなったり。
CPUを使いっぱなしになっている訳でも、ウインドウが
「応答なし」になっている訳でも無い為、どうなってんだ?という状態。
GCをdisableにしても現象変わらず。毎回同じ所で止まる(ように見える)ので
コード上の問題か?
その後、コードを潰しながら調べていると、乱数の生成を何度か実行
した所で止まるらしい事が判ったり。どうやら以下の書き方がマズかった
模様。
NGコード y = mt[atomicOp!"+="(mti,1)]; OKコード y = mt[mti]; atomicOp!"+="(mti,1) ;