問題タブ [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.

0 投票する
1 に答える
159 参照

c# - コードは Contract.Requires をスキップします

C# コントラクトを使用してこのメ​​ソッドを記述しようとしていますが、デバッグ時に Contract.requires と CheckRep() が完全に無視されます。

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

arrays - Adaの配列で最大値を見つける

私は配列をいじる多くの異なる関数でAdaプログラムを実行しています、私はすべてのソート関数を実行しました、私は今、その関数のループを設計するためにループ不変条件を使用して配列の最大値を取得することに固執しています。何か助けはありますか?

0 投票する
3 に答える
1209 参照

opengl - GPUベンダー間のOpenGL決定論的レンダリング

私は現在、OpenGLを使用して科学画像アプリケーションをプログラミングしています。

私のコード(C ++ / OpenGLおよび単純なGLSL)がさまざまなハードウェア(ATIとNVidia、さまざまなNVidia世代、さまざまなOS)で実行されたときに、OpenGLレンダリング(FBOから取得されたピクセルに関して)が完全に決定論的であると想定されるかどうかを知りたいです)?

より正確には、任意のハードウェア(基本的なGLSLおよびOpenGL 3.0を実行できる)でコードを実行するたびに、まったく同じピクセルバッファーが必要になります...

それは可能ですか?考慮すべきアドバイスはありますか?

それが不可能な場合、ホストOSを変更しながらそれを実行できる特定のブランドのビデオカード(おそらくQuadro?)はありますか?

0 投票する
1 に答える
1006 参照

matlab - MATLAB で類似の三角形の方向を特定する

同様の三角形のBW ビットマップがあります。各三角形が向いている方向を特定しようとしています。「面する」とは、すべての三角形で一定の方法で方向を記述することを意味します。たとえば、最長辺の中央値の方向です。

これまでのところ、三角形を個別に識別できましたが、各三角形の方向を見つけるための最良の方法はわかりません。

最初のアイデアとして、ハフ変換を使用して、個々の三角形の辺に線を当てはめることを考えました。3 つの辺を取得したら、それらの交点を計算して、3 つの頂点の座標を取得します。3 つの頂点から、最も長い辺の中央値を簡単に見つけることができます。

このアプローチに関する私の問題は、ハフ変換を使用したことがなく、交差を計算するために使用できる方法で辺を見つけて返す関数を書くのがどれほど難しいかわかりません。いくつかの記事にリンクするか、ハフ変換を使用して、交点の計算に使用できる表現の側面を見つける方法を簡単に説明してもらえますか?

私の他のアイデアは、ハフ変換によって側面を認識せずに、ビットマップ画像で直接回転不変モーメントを使用することです。

この解決策に関する私の問題は、モーメントを使用して方向を説明するときに、方向の「意味」が何であるかがわからないことです。不変モーメントを使用する場合、参照方向を定義するにはどうすればよいですか?

識別されたオブジェクトを含むサンプル画像: サンプル

単一のオブジェクト サンプル1

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

c - C プログラム用の静的不変検出ツールはありますか?

C プログラムの不変条件を静的に発見できるツールを探しています。Daikonをチェックしましたが、不変条件は動的にしか検出されません。

私が探しているものに利用できるツールはありますか? ありがとう!

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

computer-science - このステートメントはクラス不変条件と見なすことができますか?

これは非常に一般的な考えですが、この例では C# を使用しましょう。

とすれば

  • 私は使い捨てクラスを持ってFooいます。つまり、実装していますIDisposable
  • Fooが呼び出されるまでfalseであるブールフラグdisposedを持ち、その後はtrueになります。Dispose
  • Foothrowsのすべての public メソッドは、呼び出されたときにtrueObjectDisposedException場合。disposed

この発言は

Fooを除くのすべてのメソッドは、破棄された のインスタンスで呼び出されたときにDisposeをスローします。ObjectDisposedExceptionFoo

の不変量をFoo記述する

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

function - 階乗を計算する関数のループ不変条件

次の関数のループ不変条件を正しく識別するのに苦労しています。

x = 1 OR x = y!そのステートメントが前提条件として真であり、事後条件として真であるため、ループ不変条件を特定しました。

たとえば、y = 3の場合、ループの最初の反復でx = 1 * 3になり、3ではなく3になります。たとえば、すべての反復に当てはまるとは限りません。これは6に相当します。

これは私の混乱が本当に私が推測するところです。いくつかの本の記事は、ループ不変条件は、ループの最初またはループ(したがって前提条件)で真に等しくなければならず、ループの終わり(したがって事後条件)でも真でなければならないステートメントであると述べていますが、必ずしもそうする必要はありませんループの途中で真を保持します。

上記の関数の正しいループ不変条件は何ですか?

0 投票する
1 に答える
100 参照

d - const関数を呼び出すDクラス不変

なぜ以下がコンパイラエラーをスローするのですか?

main.d(14): Error: cannot call public/export function f from invariant

私は不変の概念を理解しています。メソッドへのすべてのパブリック呼び出しの間にクラスの状態をチェックする必要があります。

ただし、不変またはconstメンバー関数は、クラスの状態を変更できないため(this渡された場合を除きますか?)、これらの関数を取り巻く不変チェックは冗長です。不変呼び出しはそのままにしておくことができ、無限ループは表示されず、コンパイラエラーが誤ってキャストされます。


以下を定義するオブジェクトを使用して階層を作成したので、これに到達しました。

この小さな関数の使用は、クラス内では簡単ですが、外部でも使用できる可能性があります。しかし、それをpublicと定義すると、invariant()に逆らいます。

0 投票する
1 に答える
430 参照

unit-testing - ODT(Observation Driven Testing)の利点と落とし穴は何ですか?

ホワイトペーパー 「ObservationDrivenTesting:はい、コードはあなたが望むことを実行しています。ところで、他に何をしているのですか?」というホワイトペーパーに出くわしました。、そして興味をそそられました。

しかし、グーグルはそれが実際にどのように機能するかについてあまり明らかにしていないようです 1、2 そこにあるものはすべて、ベンダーのAgitarからのもののようです。

TDDとCIを補完するプロセスとしてODTを実装した人はいますか?

もしそうなら、あなたがそれに遭遇した利点落とし穴のいくつかを共有してください...私たちはあなたの知恵から利益を得たいと思っています。

0 投票する
4 に答える
1183 参照

c++ - C++: STL: set: 格納された値の constness

次のコードを持つ:

(MSVCPP 11.0) を持つこのコードをコンパイルできません:

これはコンパイルに役立ちます:

質問: 私はそれを知ってmapおり、multimapそれらの値を次のように保存しますpair(const K, V)。ここで、K はキー、V は値です。K オブジェクトを変更することはできません。しかしset<T>、オブジェクトをではなく としてmultiset<T>保存します。では、なぜこの const キャストが必要なのですか??Tconst T