問題タブ [rational-number]
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.
matlab - GNU Octave / Matlab で有理加算を実行する効率的な方法
nx2 の分数行列 F ( [num1, den1; num2, den2; ...]
) が与えられた場合、それらの加算から得られる分数を効率的に計算するにはどうすればよいでしょうか? (つまり[F(1,1)*F(2,2)*...*F(n,2) + F(1,2)*F(2,1)*F(2,3)*...*F(n,2) + ... , F(1,2)*...*F(n,2)]
)。結果は既約形式である必要はありません。ポイントは効率です (つまり、C コードではなくベクトル化されます)。
java - メソッドが印刷されないのはなぜですか?
あるクラスでメイン メソッドを作成し、別のクラスで他の多くの小さなメソッドを作成しました。それらの場所を使用してメインメソッドでそれらを呼び出し、それらを呼び出した場合にアウトプリントすることを確認しても、それらはまだアウトプリントしません。print two メソッドのみが出力を表示します。どのように修正すればよいのかわからないので、まだ多くのことを試していません。私のコードを見て、それらが機能しない理由を確認していただけますか?
更新: 受け取ったヘルプを使用して、28 を除いて、メイン メソッドのすべての行を取得することができました。残っているのは、その 1 つの出力だけです。コードを変更したので、動作が少し改善され、出力されない場合はシャットダウンされますが、出力はまだ失われています。
私の主な方法
私の他のメソッドクラス
c# - 比較操作を実行すると、boost の gmp_rational 型が非常に遅くなる
Boost の gmp_rational データ型のパフォーマンスを C# の SolverFoundation.Rational 型と比較しています。gmp_rational を使用した演算の実行は、比較演算を除いて、C# SolverFoundation.Rational よりもはるかに高速です。次の関数を C++ と C# で実装し、そのパフォーマンスを比較しました。
最後の比較操作 "j > k" がない場合、関数は 5.5 秒を必要とします。これにより、関数には 33 秒かかります。
C# で同じメソッドを実装し、同じ比較を行いました。最後の比較演算 "j > k" がなければ、このメソッドには 19 秒かかります。これにより、メソッドは 19.6 秒を必要とします。したがって、C# コードは C++ コードよりもさらに高速ですが、その理由はわかりません。
ruby - 重要でない小数点以下を削除するRubyコード?
意味のない最後のゼロを削除するエレガントなコードを取得したいと思います。
私は試した:
ただし、すべての場合で機能するとは限りません。たとえば、25.00 では 25.0 が返されます。
java - Java の有理数
私はラボで次のことを行っており、「divide」という名前の最後のメソッドを除いて、提供されたファイルを使用してすべてをコンパイルしています。そのポイントは、有理数を使用してさまざまな操作を行うことです。My これは私の除算メソッドのコードです。クラスの名前も含めました。
コンパイルするために与えられたコードは次のとおりです。残りのコード (ここには含まれていません) は、上記の除算メソッドを処理する必要がある最後の 2 行をコメントアウトすると、これで完全にコンパイルされます。
コンパイルしようとすると発生するエラーは次のとおりです。
2 個のエラーが見つかりました: [行: 17] エラー: シンボル symbol が見つかりません: 変数のdivideResult の場所: クラス Rational [行: 18] エラー: シンボルが見つかりません シンボル: 変数のdivideResult の場所: クラス RationalDemo
ここで何が間違っているのか、このエラー メッセージが表示される理由がわかりません。
go - big.Rat でのデータ競合
精度を上げるために、math/big.Rat を使用して数値を表現しました。Denom() は数値の分母を返し、Cmp() は 2 つの数値を比較します。どちらも純粋な読み取り専用関数のようです。しかし、データ競合を有効にしてコードを実行したところ、私の仮定全体が間違っていました。これらの関数が同じ Rat インスタンスで同時に呼び出されると、システムはデータ競合シナリオをスローします。これらの関数は読み取り専用ではありませんか?
私のテストケース
ソースを確認すると、 Denom() 関数が呼び出されるたびに、同じオブジェクトの値がリセットされます。これはソースの問題ですか?または、Rat Denom() と Cmp() を同時に使用しないでください。
ref の Golangからの Denom() ソース。
以下の議論に基づいて、さらにいくつかの点を追加します。意図した目的で変数「i」を使用する際に間違いを犯したことを認めます (ただし、データ競合シナリオを示すためにはそれでも機能します)。
ここでの私のポイントは、Denom() で実行される操作は、Rat によって表される値に変更を加えないということです。これは、値を表す Rat の作成時に実行するか、新しい値を Rat に設定することができます。私の懸念は、 Rat によって表される値が変更されない限り、同じ値の繰り返し計算 (同時安全ではない) です。では、なぜこれを作成/変更部分で行うことができないのでしょうか?