使い方
var n=256 '実データ数、2のべき乗にすること
var x[n*2] 'fftに渡す複素数の配列、変換結果もここに入る
偶数インデックスが real part, 奇数インデックスが imaginary part です。
fft n, x 'xをフーリエ変換する。結果もxに返る
ifft n, x 'xをフーリエ逆変換する。
@l:data 1,0, 0,0, 0,0, 0,0
copy x,@l
fft 4,x
これで x は {1,0, 1,0, 1,0, 1,0} になります。
dim v[4] という整数の配列から x という値を探すとして
i = 0
while i < 4 && v%[i] != x
i = i + 1
wend
と書けば期待通りに動くんですけど、これを and にしちゃうとバグるのね。こういういちいちプログラマ好みな仕様が C 言語やめられまへんな~な理由です。
>みき氏は妙齢の素敵な女性だし
違いますね。そういやめぐりー先生には「動けばいい」と言ってたれいさんが、Newあっきーさんには方法論を語ってるあたりも、なるほどと思いましたね。
イカさん、
if P then if Q then ~
if P && Q then ~
は完全に一致します。
とりゅふさん、置き去りにしてごめんね。
うえこうさん、孤立無援四面楚歌絶体絶命の中救援ありがとう。
実は && || には and or よりも平均的に速いという特性もあるんですよ。
この仕様は C 言語からの借用なんですけど、そもそも C 言語は筋金入りのハッカーが自分達が使うために設計して実装した言語なんで、とびきり使いやすくできてるんです。
RFC 1122 によれば Robustness principle とは "Be liberal in what you accept, and conservative in what you send" です。
日本語に訳しますと「送る側は慎重に、受け取る側は寛大に」
この場合sendされるはソースコードでacceptするのは SmileBASICです。その出力が実行結果。
工夫が必要な、ともすれば綱渡りのようなコードをsendするよりもSmileBASICの意図どおりに && || を使うのがより Robustness principle にかなっていませんか?
and or * + を「かつ」「または」の意味で使うのはRFCで言えばMAY相当でしょう。
&& || を使うことがSHOULD相当ですね。無論MUSTではない。