Icon of admin
(AxB)+(AxB>>8)+1/256

追記
 変なメモを書いてしまいました。
 AをDMXの値、Bをマスタの値として出力値を得ます。
 IFなどの条件分岐を使わないのはGPUでも計算出来るからです。GPUは条件分岐処理は出来ませんがCPUで1計算する時間で同時に複数の計算が可能です。
 256で割るってことは8ビット右シフトすることと同じですので、
((AxB)+(AxB>>8)+1)>>8
 とした方がいいかもしれません。
 「>>」は右へビットシフトする計算記号です。

追記の2
 一番上の計算はAI/Geminiさんに聞いてのものですが、考えていたのとちょっと違う。AxBは8bitx8bitで16bitの積となりますが、下位8bitが0でなければ上位8bitをインクリメントして8bitの値にしたいのです。
 ( AxB >> 8 ) + int((( AxB ) and 0x00FF ) > 0 )
 bool値を数値化(0または1)して加算するのが肝です。アセンブラっぽい風味です。

追記の3
 上記の式をAI/Geminiさんに評価してもらったのですが、アホかってくらいテンション上げて喜んでくれました。
 AIさんはユーザーを過剰にヨイショする傾向にありますが、間違ってはいないようですし、GPUに与える公式としても使えるようです。
 今考えているArt-Net系の装置にはマスタ値による出力値の計算はありませんが、GPUでこの計算が出来るなら調光卓が作れるってことになります。
 一般照明用の小ぶりな卓が欲しいなぁ~って思うことがあるので、いずれ考えてみたいですね。ムービングライトを扱える卓には優秀な物が沢山ありますから、あくまで一般照明向けです。見たまんまで使える機能を削りまくったSmartFadeってイメージかな?

#RaspberryPi #C言語 #Nim