Vector (.NET, C#) で条件分岐2022年01月06日 16:06

C#プログラムにおいて、多量のデータ処理(画像処理)に .NET の Vector で高速化を試みる。MSの文書は簡潔なもので、理解のためには試行錯誤が必要。

元のコード

画像の一点毎に処理する元のコード。BGRAのデータからPCCSの色相(Hue)の値を計算する。

equals

行199のEqualsを処理したところ。Vectorに詰めた _Rvec と _cMax の値を比較している。元のコードでは、行120に当たる部分。

下のデバッグ画面の rEQcmax の値を見ると、最初の4つが -1 になっている。値が一致し、TRUE と判断すると、0以外の値(この場合、-1)に設定される。

なお、Vectorの要素は、デバッグ画面では8個分あるが、実際は4で動作している。

ConditionalSelect

行203のConditionalSelectを処理したところ。先に値を設定した rEQcmax の内容に応じて、2つのVectorのいずれかの値を設定する。第2引数がTRUE、第3引数がFALSEの場合の設定値。元のコードでは、行122に当たる部分。

ここでは、rEQcmax の4つの要素がいずれもTRUEなので、hue1 (第2引数)の値が設定されている。

ConditionalSelect

行209のConditionalSelectを処理したところ。ここまでに3つのConditionalSelectを処理した。これは、元のコードの if / else if / else に当たるもの。最初の条件に合致すると hue1、次の条件に合致すると hue2a、どちらにも合致しないと hue3a の値が設定されるように、組み合わせる。

ちょっとしたパズルの要領。

利根川、佐原2021年12月24日 19:26

よい天気。利根川経由で佐原を目指す。

しもふさ8周年

中間地点の直売所しもふさ。8周年とか。

かき揚げそば

少し早いが、昼食といく。かき揚げそば。揚げたての地元野菜のかき揚げがうれしい。早起きなので、結果としてここでの補給は正解。

うろこ雲

利根川上空は高層にうろこ雲。

ハクチョウたち

道の駅さわらの入り江は、ハクチョウたちが近くまで寄ってきている。

ケーキ

昼食は済ませたので、甘味。とちおとめを挟んだシフォンケーキ。タルトはお土産。

警戒船

帰路の利根川に警戒船。横利根川の方に入っていく。

鈴なりのスズメ

枯れ野に鈴なりになるすずめ。

印旛沼、利根川、取手2021年12月16日 19:36

晴れの日が多くなってきたが、寒くなってきた。少し遠出で取手。

ダイサギとコサギ

近所の田んぼ。ダイサギにコサギ。一緒にいると親子にも見える。

川辺の猫

川縁の猫。

鴨でいっぱい

印旛沼に帰ってきた鴨たち。水面にいっぱい。

センダンの実

センダンの実。ヒヨドリと一緒にキジの雌がいたが、逃げられる。

若草大橋から利根川

若草大橋から利根川。自転車の通行料20円。これのおかげで自転車道から大回り。

取手でランチ

取手ではいつものパンダカフェで昼食。今日はオニオンスープ。いつも熱々で出てくるのがうれしい。コーヒーは値上げで120円。

トビ

小堀の渡しは乗船時間に間に合わず、栄橋で対岸に。声を頼りにトビ。

天使のはしご

3時前なのに暗くなり始める。

印旛沼のペリカン

印旛沼の漁港には、久しぶりのペリカン。元気そうで何より。

同僚のアオサギ

隣には、同僚のアオサギ。

EIZO 四代目2021年12月14日 13:50

EIZO DirectからのDMで、EV2730Qのアウトレットセールの案内が届く。2015年発売で、1920x1920の正方形のディスプレイ。次購入するならこれ、と決めていたもの。ずっとつづく型番になると期待していたが、終売か、と急ぎ購入。後継機が出るかもしれないけど。

旧環境

これまでの環境。左のSX2462Wが主機。2010年4月の購入。10bitカラーが魅力。

地震で生じた滲み

しかし、東日本大震災で、本棚から崩れ落ちた本がディスプレイにあたり、滲みが発生。もったいないので、そのまま使用。こうなるとリサイクル前提の廃棄業者には引き取ってくれないところも。

写真が赤っぽいのは、カメラの特性で、色温度が低めなのを強めに感じている。

累計時間

通算使用時間は、49000時間弱。EIZOの保証期間が、5年で30000時間だから、十分、頑張ってくれた。

新環境

EV2730Qに置き換えたようす。モニターアームを使用するので、足を外しているが、軽い。本体重量は2kgほど減。

ブラウジング

ブラウジングしているところ。Twitterが縦長で便利。

VisualStudio

VisualStudio。アプリの動作画面と、VSのコード画面を並べて表示。この環境が欲しかった。ブラウザは、隣のディスプレイ。

ゲーム

ゲームとか動画鑑賞は、上下に隙間が空いてしまうけど。

こういうユニークな製品は、汎用の部材が使えず、どうしても高価になり、数も出ないのだろうが、用途によっては大変重宝するのでラインアップを続けて欲しいところ。

印旛沼、新川、やちよ2021年12月10日 18:56


ふるさと広場

佐倉ふるさと広場。来春のチューリップの準備中とか。観光協会のTweetによると、オランダから贈られた球根もあるとか。

オオバンたち

新川のいつもの場所にはオオバンの一群が帰ってきた。近づくと河原から、のそのそと水面に逃げる。

川鵜に逃げられる

新川上流ではあまり見かけない川鵜を見つけたと思ったら、ずいぶん距離があるのに颯爽と逃げられる。

モズ

それに対して印旛沼のモズ。数mの距離でも動じない。堂々。

鈴なりの鳩

猛禽類を追いかけていたら、その先の高い鉄塔の送電線に鈴なりの鳥。鳩か。逃げもしない。

担々麺

道の駅やちよの昼食は、担々麺。スパゲッティを狙っていたが、中華のお店に交替。なかなかだが、熱々だとよかった。お店でないと難しいか。

羊羹ツイスト

少しもの足りないかなと羊羹ツイスト。結局持ち帰り。

ARIA The BENEDIZIONE2021年12月07日 15:56

ARIA、劇場版三部作の最後、ARIA The BENEDIZIONE。姫屋の物語。船橋のららぽーとへ。

ARIA

前作、アテナさんの物語が感涙ものだったのに対し、こちらは、姫屋の二人の関係が微笑ましく、つい笑顔になる展開。TVシリーズの色々な場面をちりばめ、大団円の演出。これが最後とは限らないとは監督の弁だが、この続きは皆さんの心の中で、というメッセージにも感じられる。

アリシアさん

入場者プレゼントはアリシアさん。パンフレットは売り切れで、帰宅後早速通販で注文。

VMware ESXi + Workstation Pro で Windows112021年12月06日 09:05

Windows11は、動作環境の制約が厳しくなり、手許の機材では如何ともしがたい。主機は、ECCが使えるAlder Lake版のXeonを待ちたい。

記事を漁っていると、ESXiの上でVMware Workstation Proを動かし、さらにその上でWindows11の動作を試みるものが。最新のWorkstationでは、TPMモジュールをゲスト環境にデバイスとして追加できる。

Windows11

ESXiでlubuntuのゲストOSを動かし、その上でWorkstation Proを動かし、さらにWindows11を動作させているところ。Workstation Proは30日の試用版。

ネットワークの設定をBridgeにするとパケットが外に出ず、NATで仮動作。Bridgeにしないとリモートデスクトップ接続ができず、テスト環境にならないけども。こちらは、不具合らしく、修正待ち。

Swap

lubuntuは、推奨通りにセットアップするとSWAPデバイスが用意されない。その場合、Workstation上のゲストOSが立ち上がらない。セットアップをやり直し、パーティションを手動で切って、SWAPを確保。

build-essential

Linux版のWorkstation Proは、実行形式で提供されるが、実行中、モジュールのコンパイルを行うので、あらかじめ、build-essentialのパッケージを追加。

vhv.allow

ゲストOSとしてのlubuntuの設定では、Workstation Proを動かすために、ハードウェア仮想化の機能をゲストOSに公開。

Access Control

ゲストOSとしてのWindows11の設定では、Access Controlで暗号化を選び、パスワードを設定。

VT-d

あわせて、TPMをデバイスとして追加。

セットアップのポイントは、だいたいこんな感じ。

taskmgr

タスクマネージャのようす。仮想環境を重ねているので、それなりにもっさりとした動作。テスト環境と割り切れば、使える範囲。

なお、ESXiを動かしているハードウェア自体は、Windows11の要件を満たしている。

さて、この先、Workstation Proのライセンス(2万円くらい)を導入するか、vSphere Essentialsのライセンス(6万円くらい、TPM機能をESXiに提供)を導入するか。もう少し様子を見て。

パウンドケーキ2021年12月02日 11:56

いつもはホットケーキのレシピで焼いているのを、たまには、とパウンドケーキのレシピで。

パウンドケーキ

ホットケーキのレシピよりは、火が通りにくいので10~15分、長めの焼成。前日ちょっと失敗の反省。

断面

オレンジピールを入れてみた。生地の甘みが強い分、酸味と苦みが合う。焼いてすぐは、側はサクッと中はしっとり。

とはいえ、普段づかいにはやや重いかな。レシピの差で見ると、牛乳の代わりにバター(マーガリン)、砂糖はかなり多め、卵は1個から2個に、といった感じ。仕上がりは、ふわふわに対し、しっとり。

昼食の足しや、小腹の空いたときにちょっとつまむ用途を考えるとホットケーキに軍配。切って冷凍しておけば、レンジですぐに用意できる。パウンドケーキは、しっかりと甘いものが欲しくなったときに。