Changes between Version 8 and Version 9 of CALプログラミング(4)
- Timestamp:
- Mar 22, 2009 10:37:25 AM (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CALプログラミング(4)
v8 v9 26 26 * データ構造の定義の詳細についてはファイルを参照のこと。 27 27 28 * 2粒子間の重力の計算をおこなっている部分は5-12行である。 29 28 30 * このILプログラムは、基本構造は(3)と同じであるが、ポインタ変数(ここでは"r2.xy")の処理が異なる。なぜかというと、粒子の座標が格納されているid = 0のリソースは2次元のメモリとして指定、確保されているからである。具体的には、ホスト側のプログラムで以下のようにメモリの確保をおこなった: 29 31 {{{ … … 34 36 35 37 = 2次元配列 = 36 * 38 * 2次元のメモリからデータを読み出すには、(3)では無視してきた読み込みポインタのy成分を適切にアップデートすればよい。上のILプログラムでは、13-18行の部分でその処理をおこなっている。 39 40 * 繰り返しになるが、読み込みポインタとデータの対応関係は: 41 {{{ 42 v0.xy = {0.0, 0.0} ---> res0[0][0] 43 v0.xy = {1.0, 0.0} ---> res0[0][1] 44 v0.xy = {2.0, 0.0} ---> res0[0][2] 45 ... 46 v0.xy = {0.0, 1.0} ---> res0[1][0] 47 v0.xy = {1.0, 1.0} ---> res0[1][1] 48 ... 49 }}} 50 51 52 53 54 55