問題タブ [invariants]
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.
c# - コードは Contract.Requires をスキップします
C# コントラクトを使用してこのメソッドを記述しようとしていますが、デバッグ時に Contract.requires と CheckRep() が完全に無視されます。
arrays - Adaの配列で最大値を見つける
私は配列をいじる多くの異なる関数でAdaプログラムを実行しています、私はすべてのソート関数を実行しました、私は今、その関数のループを設計するためにループ不変条件を使用して配列の最大値を取得することに固執しています。何か助けはありますか?
opengl - GPUベンダー間のOpenGL決定論的レンダリング
私は現在、OpenGLを使用して科学画像アプリケーションをプログラミングしています。
私のコード(C ++ / OpenGLおよび単純なGLSL)がさまざまなハードウェア(ATIとNVidia、さまざまなNVidia世代、さまざまなOS)で実行されたときに、OpenGLレンダリング(FBOから取得されたピクセルに関して)が完全に決定論的であると想定されるかどうかを知りたいです)?
より正確には、任意のハードウェア(基本的なGLSLおよびOpenGL 3.0を実行できる)でコードを実行するたびに、まったく同じピクセルバッファーが必要になります...
それは可能ですか?考慮すべきアドバイスはありますか?
それが不可能な場合、ホストOSを変更しながらそれを実行できる特定のブランドのビデオカード(おそらくQuadro?)はありますか?
matlab - MATLAB で類似の三角形の方向を特定する
同様の三角形のBW ビットマップがあります。各三角形が向いている方向を特定しようとしています。「面する」とは、すべての三角形で一定の方法で方向を記述することを意味します。たとえば、最長辺の中央値の方向です。
これまでのところ、三角形を個別に識別できましたが、各三角形の方向を見つけるための最良の方法はわかりません。
最初のアイデアとして、ハフ変換を使用して、個々の三角形の辺に線を当てはめることを考えました。3 つの辺を取得したら、それらの交点を計算して、3 つの頂点の座標を取得します。3 つの頂点から、最も長い辺の中央値を簡単に見つけることができます。
このアプローチに関する私の問題は、ハフ変換を使用したことがなく、交差を計算するために使用できる方法で辺を見つけて返す関数を書くのがどれほど難しいかわかりません。いくつかの記事にリンクするか、ハフ変換を使用して、交点の計算に使用できる表現の側面を見つける方法を簡単に説明してもらえますか?
私の他のアイデアは、ハフ変換によって側面を認識せずに、ビットマップ画像で直接回転不変モーメントを使用することです。
この解決策に関する私の問題は、モーメントを使用して方向を説明するときに、方向の「意味」が何であるかがわからないことです。不変モーメントを使用する場合、参照方向を定義するにはどうすればよいですか?
識別されたオブジェクトを含むサンプル画像:
単一のオブジェクト
c - C プログラム用の静的不変検出ツールはありますか?
C プログラムの不変条件を静的に発見できるツールを探しています。Daikonをチェックしましたが、不変条件は動的にしか検出されません。
私が探しているものに利用できるツールはありますか? ありがとう!
computer-science - このステートメントはクラス不変条件と見なすことができますか?
これは非常に一般的な考えですが、この例では C# を使用しましょう。
とすれば
- 私は使い捨てクラスを持って
Foo
います。つまり、実装していますIDisposable
。 Foo
が呼び出されるまでfalseであるブールフラグdisposed
を持ち、その後はtrueになります。Dispose
Foo
throwsのすべての public メソッドは、呼び出されたときにtrueのObjectDisposedException
場合。disposed
この発言は
Foo
を除くのすべてのメソッドは、破棄された のインスタンスで呼び出されたときにDispose
をスローします。ObjectDisposedException
Foo
の不変量をFoo
記述する
function - 階乗を計算する関数のループ不変条件
次の関数のループ不変条件を正しく識別するのに苦労しています。
x = 1 OR x = y!
そのステートメントが前提条件として真であり、事後条件として真であるため、ループ不変条件を特定しました。
たとえば、y = 3の場合、ループの最初の反復でx = 1 * 3になり、3ではなく3になります。たとえば、すべての反復に当てはまるとは限りません。これは6に相当します。
これは私の混乱が本当に私が推測するところです。いくつかの本の記事は、ループ不変条件は、ループの最初またはループ(したがって前提条件)で真に等しくなければならず、ループの終わり(したがって事後条件)でも真でなければならないステートメントであると述べていますが、必ずしもそうする必要はありませんループの途中で真を保持します。
上記の関数の正しいループ不変条件は何ですか?
d - const関数を呼び出すDクラス不変
なぜ以下がコンパイラエラーをスローするのですか?
main.d(14): Error: cannot call public/export function f from invariant
。
私は不変の概念を理解しています。メソッドへのすべてのパブリック呼び出しの間にクラスの状態をチェックする必要があります。
ただし、不変またはconstメンバー関数は、クラスの状態を変更できないため(this
渡された場合を除きますか?)、これらの関数を取り巻く不変チェックは冗長です。不変呼び出しはそのままにしておくことができ、無限ループは表示されず、コンパイラエラーが誤ってキャストされます。
以下を定義するオブジェクトを使用して階層を作成したので、これに到達しました。
この小さな関数の使用は、クラス内では簡単ですが、外部でも使用できる可能性があります。しかし、それをpublicと定義すると、invariant()に逆らいます。
unit-testing - ODT(Observation Driven Testing)の利点と落とし穴は何ですか?
ホワイトペーパー 「ObservationDrivenTesting:はい、コードはあなたが望むことを実行しています。ところで、他に何をしているのですか?」というホワイトペーパーに出くわしました。、そして興味をそそられました。
しかし、グーグルはそれが実際にどのように機能するかについてあまり明らかにしていないようです( 1、2 )。そこにあるものはすべて、ベンダーのAgitarからのもののようです。
TDDとCIを補完するプロセスとしてODTを実装した人はいますか?
もしそうなら、あなたがそれに遭遇した利点と落とし穴のいくつかを共有してください...私たちはあなたの知恵から利益を得たいと思っています。
c++ - C++: STL: set: 格納された値の constness
次のコードを持つ:
(MSVCPP 11.0) を持つこのコードをコンパイルできません:
これはコンパイルに役立ちます:
質問: 私はそれを知ってmap
おり、multimap
それらの値を次のように保存しますpair(const K, V)
。ここで、K はキー、V は値です。K オブジェクトを変更することはできません。しかしset<T>
、オブジェクトをではなく としてmultiset<T>
保存します。では、なぜこの const キャストが必要なのですか??T
const T