問題タブ [pure-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
65 参照

javascript - これは純関数ではありませんか?

私は Web 開発の状態管理を学んでおり、以下のような純粋な機能を備えたこの redux チュートリアルに出くわしました。ただし、ステートメント:「action.todo.id = state.todos.length + 1;」この純粋な関数は... IMPUREだったと思います。教えてください、ありがとう!

0 投票する
2 に答える
718 参照

random - 0 から 1 の間の乱数を生成する疑似乱数関数はどれですか?

私が見つけることができるほとんどのランダム関数はシーケンス関数であり、最後に生成された結果を次の呼び出しのシードとして保持します

単独で実行でき、最初から最後までの任意の数とシードを指定すると、一見ランダムなシーケンスを与えることができる純粋な関数が必要です

正直に言うと、開始時のランダムシードと各要素のインデックスを入力としてのみ、アルゴリズムが乱数を並列に生成する (そして GPU で使用できる) ことを望んでいます

ハッシュ関数を使用できるかもしれませんが、シードと長さが与えられた場合、どのアルゴリズムが最も可能な均一な分布を提供し、常に一見ランダムに見えるかを知りたいです

編集:すべての提案に感謝します。自分が何を望んでいるかについて、説明できる確固たる考えを持っている

なだれ特性はあまり必要ありませんが、代わりに、均一な分布に関心があります。そして、それが並列であるためには、ステートレス アルゴリズムでなければならないため、ほとんどの PRNG は適合しません。

しかし、最も懸念されていないのはセキュリティです。人間の知覚による一見ランダムなシーケンスが必要ですが、視覚的およびインターフェイスのためだけに、セキュリティでは使用しません

それが非常に高速なアルゴリズムであれば、さらに感謝します