◎
[アニメとか]
そういえば、「あの花」版 secret base 〜君がくれたもの〜 を買ってきたので、
お約束で10年前の ZONE の secret base と並べてみた。
こういう演出はいいね。
| ![]() |
けいおん!! | → 「担当『あずにゃんが大好きですが何か?』」 |
まどマギ | → 「とりあえず3話まで見ろ」 |
ハルヒ | → 「早く3期やれ(願望)」 |
緋弾のアリア | → 「借りないと風穴あけるわよ / 釘宮ファンには鉄板」 |
バカテス | → 「秀吉かわいい。♂だけど…」 |
あの花 | → 「これで泣かなきゃ何で泣くんだ?」 |
もしドラ、俺妹 | → あらましのみw |
フラクタル | → ポップなしwww |
fd.cppを見る限りコマンド実行中にFDDからのreadyが変化したときに割り込みをかける部分は追加実装が必要だと思います。他はuPD765のマニュアルをもう少し眺めないといけませんが…… 2011-06-20 23:27 mikutterから
|
xsrc/xfree/xc/programs/xeyes/Eyes.cで、src/lib/libm/Makefile 読むと、 m68k の場合 <math.h> の sin(3) に対応するのはどうやらこれ(↓)っぽい。45 # include <math.h>
:
199 static TPoint computePupil (
200 int num,
201 TPoint mouse)
202 {
:
209 double cosa, sina;
:
218 angle = atan2 ((double) dy, (double) dx);
219 cosa = cos (angle);
220 sina = sin (angle);
src/lib/libm/arch/mc68881/s_sin.SFPU ありの場合、ここの fsin.d で sin の演算が行われるので万事問題なし。 一方 FPU がない場合、fsin.d で F ライン未実装例外が発生して、 例外ハンドラである trap() に来る(↓)。43 ENTRY(sin)
44 fsind %sp@(4),%fp0 // fsin.d 4(sp),fp0
45 #ifndef __SVR4_ABI__
46 fmoved %fp0,%sp@- // fmove.d fp0,-(sp)
47 movel %sp@+,%d0 // move.l (sp)+,d0
48 movel %sp@+,%d1 // move.l (sp)+,d1
49 #endif
50 rts
src/sys/arch/x68k/x68k/trap.cfpu_emulate() が fpu_emul_arith() をコールし、 fpu_emul_arith() が fpu_sin() をコールする(↓)。256 void
257 trap(struct frame *fp, int type, unsigned code, unsigned v)
258 {
:
410 case T_FPEMULI|T_USER: /* unimplemented FP instruction */
411 case T_FPEMULD|T_USER: /* unimplemented FP data type */
412 #ifdef FPU_EMULATE
413 if (fpu_emulate(fp, &pcb->pcb_fpregs, &ksi) == 0)
414 ; /* XXX - Deal with tracing? (fp->f_sr & PSL_T) */
415 break;
416 #elif defined(M68040) || defined(M68060)
src/sys/arch/m68k/fpe/fpu_emulate.cで、この fpu_sin() てのが FPU なしの時の sin() の実態。87 int
88 fpu_emulate(struct frame *frame, struct fpframe *fpf, ksiginfo_t *ksi)
89 {
:
185 } else {
186 DPRINTF(("%s: other type0\n", __func__));
187 /* all other type0 insns are arithmetic */
188 sig = fpu_emul_arith(&fe, &insn);
189 }
:
556 static int
557 fpu_emul_arith(struct fpemu *fe, struct instruction *insn)
558 {
:
742 case 0x0E: /* fsin */
743 res = fpu_sin(fe);
744 break;
src/sys/arch/m68k/fpe/fpu_trig.cアーッ!! Σ((((゜Д゜ ))))67 struct fpn *
68 fpu_sin(struct fpemu *fe)
69 {
70 /* stub */
71 return &fe->fe_f2;
72 }
朝は結構な雨だったけど昼にはやんで、
この時間の天候は雨上がりぐらい。
787 の飛来(到着)予定は 16 時半で、 それにあわせて 16 時からは展望デッキが無料開放される。 15 時半の時点で無料開放待ち(?)みたいな人が数人いたけど、 きっと場所取り優先なので、普通に 100円払って入場。 ざっとこんな感じ。 もちろんこれでもやっぱり多いなーという印象だけど。 | ![]() |
ベスポジゲットの図。
飛行機の着陸を撮る場合、どっちから降りて来るかが最大の問題で、
この日は 23005KT くらいの風だったので、
通常東京方面から来たら R/W 28 に降りるだろうし、
実際 16時頃に降りてきた JAL 便は R/W 28 だった。
でも、この風ならどっちからでも降りれるはずなので (知らんけど)、
「きっと ILS のテストも兼ねるはずだから R/W 10 じゃね?」という
事前の某ちゃんねる情報により、迷わず R/W 10 に一番近い展望スペースへ。
アクリルで囲まれた半円スペースで、
ここにも本格カメラの人も含め10人くらいいたけど、みんな無線機も持ってなく、
駐機場が見える側のスペースを確保してるようだったので、
見事ガラ空きの R/W 10 エンドがクリアに見渡せる最前列を確保。
経験値だな。
そうこうしてると、このすぐ隣、一般人立入禁止スペースに
報道陣御一行様が施設関係者に案内されてやってきた。
で、施設関係者が報道陣に | ![]() |
16時10分頃、羽田発の B777 が普通に降りて来た。 こっちは当然無線聞いて知ってるので、カメラテスト気分で撮ってたわけだが、 急にアンガールズみたいなキモいお兄ちゃんがコンデジ片手に割り込んできて、 うぇるかむー、うぇるかむーとうなされながらこの B777 を撮影して帰ってった。 いろんな意味でキモい…。 | ![]() |
![]() | 16時17分、誰かの歓声で見上げると B787 がちょうど滑走路上を斜めに横切っていってるところだった。 雲の切れ目からたまーに見える程度だったけどよく撮れたもんだ。 |
![]() | 16時24分、R/W 10 アプローチ。見えた。(照明塔のすぐ横ね) |
![]() | 関係者も気になるようです。 |
![]() | 16時25分。いよいよやってきた。 近くの本格カメラの連写音が響く。 そして、 翼すげーしなってるなー、というのがみんな同じ感想。 |
![]() |
到着。
ズームもトリミングも適当なので、 上の B777 の写真との縮尺は考慮してません。 |
駐機中の B787 と、向こうは B777。
すっかり到着して駐機してるのに、老夫婦が 「お父さん、これでしょう、あそこ後ろに 787 って書いてあるがね、 ほら、これでしょ」 と、(たぶん、これじゃないんじゃないかと言い張るじいさんを説得している) ばあさんの会話。 おいおい、目の前で見ても B787 が分からないのに何しに来たんだwww | ![]() |
ドアのところ、EXPERIMENTAL。 | ![]() |
マニアと年寄りくらいだったところ、徐々に学生や 仕事帰りにちょっとここまで来てみたみたいなサラリーマン風の人も増えて、 わりと広島空港ではありえないレベルの盛況ぶり。 | ![]() |
![]() |
19時、プッシュバック開始。
ほんとは 19時には帰る予定だったんだけど、 フローコントロールのため20分遅れた。 |
![]() | 19時16分、離陸。 さすがに18時くらいからは会社帰りみたいな人がどんどん増えてきてて、 場所取りもしてなかったし、 もう暗くなってきてたので、 素人の俺様の腕前で離陸機を撮るのはこのくらいが限界。 このサイズに縮小すると分からないけど、ピントがまったく合ってない。 右端の黒いのは柵。 |
![]() |
夕焼け。
19時半撤収。 |
NetBSD/m68k の FPU_EMULATE オプションによる FPU 命令エミュレーションの対応状況まず最初の FABS から FTRAPcc までの1グループが、 現在の NetBSD/m68k の FPU エミュレーション (FPE) で対応しているもの。 ただし、ほんとにどのくらい対応してるかまでは調べてない。 ※1 の 68060 の FMOVEM は、オペランドか何かによって ハードウェアで対応する場合とソフトウェアで対応する場合があるとか そういうことなんかな。 よく分からんけど、どっちみち目先には関係ないので放置。
命令 機種 NetBSD/m68k
FPE の対応状況68881 68040 68060 FABS ○ ○ ○ ○ FADD ○ ○ ○ ○ FBcc ○ ○ ○ ○ FCMP ○ ○ ○ ○ FDIV ○ ○ ○ ○ FMOVE ○ ○ ○ ○ FMUL ○ ○ ○ ○ FNEG ○ ○ ○ ○ FNOP ○ ○ ○ ○ FSQRT ○ ○ ○ ○ FSUB ○ ○ ○ ○ FTST ○ ○ ○ ○ FDBcc ○ ○ SP ○ FGETEXP ○ SP SP ○ FGETMAN ○ SP SP ○ FINT ○ SP ○ ○ FINTRZ ○ SP ○ ○ FLOG10 ○ SP SP ○ FLOG2 ○ SP SP ○ FLOGN ○ SP SP ○ FLOGNP1 ○ SP SP ○ FMOD ○ SP SP ○ FMOVECR ○ SP SP ○ FMOVEM ○ ○ (※1) ○ FREM ○ SP SP ○ FSCALE ○ SP SP ○ FScc ○ ○ SP ○ FTRAPcc ○ ○ SP ○ FSABS/FDABS − ○ ○ 対応不要 FSADD/FDADD − ○ ○ 対応不要 FSDIV/FDDIV − ○ ○ 対応不要 FSMOVE/FDMOVE − ○ ○ 対応不要 FSMUL/FDMUL − ○ ○ 対応不要 FSNEG/FDNEG − ○ ○ 対応不要 FSSQRT/FDSQRT − ○ ○ 対応不要 FSSUB/FDSUB − ○ ○ 対応不要 FACOS ○ SP SP × → ○ (※3) FASIN ○ SP SP × → ○ (※3) FATAN ○ SP SP × → ○ (※3) FATANH ○ SP SP × → ○ (※3) FCOS ○ SP SP × → ○ (※2) FCOSH ○ SP SP × → ○ (※2) FETOX ○ SP SP × → ○ (※3) FETOXM1 ○ SP SP × → ○ (※3) FSGLDIV ○ SP SP △ (FDIV で代用) FSGLMUL ○ SP SP △ (FMUL で代用) FSIN ○ SP SP × → ○ (※2) FSINCOS ○ SP SP × → ○ (※2) FSINH ○ SP SP × → ○ (※2) FTAN ○ SP SP × → ○ (※2) FTANH ○ SP SP × → ○ (※2) FTENTOX ○ SP SP × → ○ (※3) FTWOTOX ○ SP SP × → ○ (※3) FRESTORE ○ ○ ○ × (未調査) FSAVE ○ ○ ○ × (未調査)
機種欄
○ : ハードウェアがサポートしている命令
SP : FPSP によるソフトウェアサポート
− : 実装していない命令
次の FSABS/FDABS から FSSUB/FDSUB までは、 68881 にはなく 68040/68060 ではハードウェアでサポートしている命令なので FPE で考慮する必要はない。
最後の FACOS から FTWOTOX までが 68881 がサポートしているのに FPE がサポートしていない命令。 このうち FSGLDIV と FSGLMUL は FDIV と FMUL で代用しちゃえ、 ないよりましだろう、とソースに書いてあるように見えるので 一応△印にしといたが、○のグループではなく × のグループに含める。 FRESTORE、FSAVE についてはよく知らんけど、とりあえず今回の主題でないので放置。
で、これをどうしろと…。orz
(2011/10/16 追記) 表中※2:三角関数、双曲線関数をサポートしました。
(2013/04/20 追記) 表中※3:逆三角関数、FATANH、指数関数、べき乗関数をサポートしました。
それはさておき、 原子力発電の仕組みがよく分からないのは、お前の知識がないだけ。 というか、なんなら春先からもっともホットな話題の一つで テレビつければ連日 (池上彰が :-) 解説してたし、 本屋に行けば仕組みについて書いた本なんていくらでもあるし、 そもそも電気系の高専、大学レベルならたぶん普通に習う (選択科目だったので自分は取ってないけど)。 分からないのはお前がバカか専門外だからで分かろうとする努力をしてないからだよ。 てか、大抵、この手の幼稚な反対派のやり口ってのはこの程度なんだよね。 自分が知らないから何だか嫌だと騒ぎ立てる。 まあ他の発電方法と同様、原子力発電にも長所と短所はあるわけで、 そこをちゃんと理解できないようでは議論のスタートラインに立ててない。 あと、蒸気機関(車)に本当になんのデメリットもなかったか?。
SL は別に好きでも嫌いでもないけど、 蒸気機関車がイイモノダナーとか言ってるのはただのノスタルジー。 蒸気機関車なんてただの骨董だし、 吉永小百合も歳のわりにきれいなただの老婦だろ。 現実を直視しろ。それが嫌なら大分麦焼酎二階堂の CM でも見とけ。 それに、ちゃんと原理知ってたら分かるはずだけど、 原子力発電も蒸気機関もある意味似たようなもんだろ。 熱でお湯沸かして云々っていうあたりな (端折りすぎだけどなw)。 よく分からない発電方法なら、 お前らバカどもが今最も持ち上げてる 太陽光発電のほうがよっぽどよく分からんだろ。 半導体に適度に不純物を混ぜて(中略)した P 型と N 型をくっつけた PN接合ダイオードに 外部からエネルギーとして光を与えると電子が励起してフェルミ準位を(中略)して 電流が流れるとか、よっぽど「よく分からん」発電方法だろ。 太陽光発電もよく分からんから危ないかもしれないナー。 バカかお前。 年金やるから自主映画でも撮ってろ。 (あ、吉野家テンプレで作ればよかったのか)
別に原発賛成派でも推進派でもなくて、 この程度の知識しかないバカやこういう老害が何の知識も得ようとせず 原発反対とだけ言えば知識人みたいな風潮がとても怖い。
◎
[カープ]
横浜戦。
0-0 の6回表二死三塁で先発中村恭がボークしてしまい 1-0。
続く7回表は二死一三塁、打者がピッチャーの場面で、
三塁走者渡辺直がホームスチールを敢行。
中村恭がセットで構えて長ーく持ってたらいきなり走ってきた感じ。
ぎりぎりで気付いてホームに送球、
倉がブロックしてアウトにしたからよかったけど、ホームスチールて…。
倉はベテランだけど中村恭は今年の大卒ルーキー。
横浜はあれだな、ケツの青い左投手には仕掛けてくるなー。
こちらも参照 → 2009/07/15 の日記。
ってちょうど2年前か。
この時期、ぺーぺーには暑さが堪えてるだろうから仕掛け時とかそういうことか?。
結局ボークによる 1-0 で負け。
しょうもなさすぎる… (中村恭がじゃなくてチームが)。
| ![]() |
3月: 輪番停電を計画 → 需給を見て停電を回避 → 「停電するっつったのにしねーじゃねーか」
7月: 15%の節電要請 → 広野火力一部復旧で余裕が → 「節電しろっつったのに電気余ってんじゃねーか」
src/sys/arch/m68k/fpsp/ssin.sa例えば ssin に入ってすぐ 208行目に FMOVE.X があり、 FPU のない環境ではここで F ライン例外が起きる。 ユーザ空間での F ライン例外は FPE 処理に飛ぶようになっているが、 カーネル空間での F ライン例外は (FPU プローブ時の例外を除いて) panic するようになっているため、このまま流用しても動作しない。 カーネル内の F ライン例外で FPE を起動するにしても、 FPE はユーザ空間での FPU 命令のエミュレーションだけをターゲットにしており、 後続の命令ワードもユーザ空間から取得するように書かれている。 この辺まで (両空間に対応するように?) 書き直さないといけないので、 FPE から FPSP を流用するのは流用程度の簡単さではなさそう。194 xdef ssin
195 ssin:
196 *--SET ADJN TO 0
197 CLR.L ADJN(a6)
198 BRA.B SINBGN
:
205 SINBGN:
206 *--SAVE FPCR, FP1. CHECK IF |X| IS TOO SMALL OR LARGE
208 FMOVE.X (a0),FP0 ...LOAD INPUT
この fpe_fmove_x_ea_fp() 関数 (仮名) が FPE との連絡をとってくれればいい。 しかしこの方法だとサイズ、オペランド方向などの組み合わせもあって ssin を実現するだけでも 20個ほど関数を書かないといけないし (まあ一つ書ければあとは似たようなもんだろうけど)、 FMOVE や FMUL くらいならなんとかなるかも知れない想像はつくけど、 FMOVEM とかでオペランドに -(sp) とか指定されたらどきどきするし、 FBcc とか頭痛が痛くなりそう。(アセンブラ側の FMOVE.X (a0),fp0 の代わりに) pea.l (a0) move.l #FP0を示す定数,-(sp) jbsr fpe_fmove_x_ea_fp addq.l #8,sp (C 側) void fpe_fmove_x_ea_fp(int dstreg, void *srcea) { }
4回裏、 気付くとスコアボードの安打数が 0本と 1本に。 バグったのかミスったのか知らないけど、 2分後すぐに戻ったの図。 どんなシステムなんだろう。 | ![]() |
![]() |
19時40分、
「銀色のハーモニー」って感じの夕焼け。
試合のほうは 7回二死三塁で、 石原が内野ゴロを一塁ヘッドスライディングで内野安打にして 1-1 の同点。 8回、満塁で代打前田の2点タイムリーで勝ち。 いい試合だったんだけど、 隣のグループがうちらの席に割り込んできてボード広げ出したり、 応援団さんに文句言ってたりして、後味悪い。 |
◎
今朝の中国新聞の「LED の仕組み」の説明がヤバいw。
「(+)と(−)がぶつかると光を発します」。
ナ、ナンダッテー!!。
おいおい、嘘はいかんよ、嘘は。 LED (発光ダイオード) の原理のどこをどう解釈してもそうはならんだろwww。 そもそも(+)、(−)とかないし、ぶつかってもないしなあ。 言うとすれば電子が転がり落ちてるとでも言うほうが近いだろうけど、 どっちみちここだけ切り取って1行で説明するとか無理ゲーじゃね?。 てか、電子ぶつけて光るとかどこのブラウン管だよ。 しかしこれが新聞連中が必死で売り込んでる「教育に新聞を」のレベルだと思うと、 こんなデタラメを教えられる子供たちの心配をしてしまうわ。
| ![]() |
ソースはこんな感じ。 他にもパラメータがいろいろあるっぽい。![]()
URL エンコードしてあると読みにくいけど chl= の中は例のこれね。 LaTeX か、何もかも皆(ry<img src="http://chart.apis.google.com/chart?cht=tx&
chl=\displaystyle{sin%28x%29%3d\sum^{\infty}_{n%3d0}
\frac{(-1)^n}{(2n%2b1)!}x^{(2n%2b1)}}">
しかし、ちょっと文字のバランスが悪いような気がするけど、 こんなもんだったっけ。 あと、このサービス未来永劫続いてくれないと、 この日記ある日急にイミフになるな…。\displaystyle{sin(x)=\sum^{\infty}_{n=0}\frac{(-1)^n}{(2n+1)!}x^{(2n+1)}}
これで入力 x がどの範囲にあっても 0 〜 π/2 の範囲のみを計算すればよくなるので、(確か) n=14 項程度で必ず終わる。 0 〜 2π までの値の tan() = sin()/cos() 10個を計算して表示させた場合の ベンチマークは約 6.5秒から約 3.2秒に短縮。おー、結構効くもんだね。 条件分岐を計3回 (2π、π、π/2) やっててこれが地味に行数かかるから ソースコードの長さは倍になってるけどなー。 てか、なんか既視感あると思ったら FPE ってアセンブラっぽいな。 f1、f2 レジスタに値をロードしてから演算して、 結果を退避しといての繰り返し。
てことで、数式でいえばこうすればいいのかな。
これなら、 x^2 は累乗じゃなく乗算で出来るし最初に1回計算しとくだけだし、 一つ前の Sn を次に持ち込めば、後は乗算と除算1回ずつ程度の演算で済む。 分母の定数化の件はいろいろ面倒だし、 ここまで来るとメリット薄いかなあ。 これでも tan() 10回が 3.2秒から 0.94秒に。はえーw
この 0.94秒は time(1) による手抜き測定だったので、 gettimeofday() 使ってもう少し真面目に計ってみた。 いずれも10回ループ時の値で、 sin() が 0.23秒、cos() が 0.21秒、tan() が 0.44秒。 一番時間のかかる FTAN.D 命令でも1回あたり 0.04秒なので、 これなら悪くないか。
マシンが速いとどんなアホアルゴリズムでも爆速で計算してしまって 痛くも痒くもないけど、 遅いマシンだとパフォーマンス (のオーダー) を 改善したことが目に見えて分かるので重要。苦手だけどw
試合のほうはしょうもなく 6-3 で負け。 おまけにドアラは今日は出ないんだな…。 ドアラ目当てで来たのになんか損した気分だわ。orz
◎
[カープ]
中日戦。予定外のまさかの2連戦。
16時頃球場に着いてみたら当日券売り場は誰も並んでないし、
というか 10個くらいある窓口も半分しか開けてない。
球場入ってみてもガラガラ。えっと、夏休みで土曜日ですけど、
マツダが土日操業してる影響なんすかね。
ということで試合始まるまで延々中村さんとアニヲタ話で過ごす。 試合は、篠田が8回無失点で 3-0 で勝ち。 てか、中日エラー多すぎ。高校野球の一回戦かよ。
◎
[カープ]
7月は5試合見て 2勝3敗。
今季通算は 15試合7勝6敗1分1雨天中止。
| ![]() |