約 7,945 件
https://w.atwiki.jp/marisan/pages/17.html
適度にがんばります。 てかこれ作った手前がんばらねば。 進捗状況 4/29:とりあえず演習問題をやり直してみましたよ。演習01〜15まで完了、しかし力つきました。寝ます。 4/30:さぼ…久しぶりに大学の仲間と飲んで、なんか落ち着いた日でした。 しかし帰宅してニュース見てびっくり。 5/1演習16〜17完了(演習16:for文のなかで、iの範囲を「i = args.length」にしていてずーっと悩んでいました。反省。) 子ネコが今月中にも我が家にやってくることになり、るんるんですよー。 二つの数値を交換する、三つの数値から最小値を選ぶ。どちらともコマンドラインから数を持って来るようにしました。 5/2絶対値を表示する:コマンドラインから数を入力することにしたんですが、argsをint型に変換するのを最初にやったら実行時エラー。なんとなく理由は感覚でわかるものの…ん?って感じ。 変数の値によって正負・0を表示:とくに問題なし。 階乗を求める:nを定数にする理由って??? 偶数のみ出力する:これもNを定数にする理由って??? 配列の要素の和を求める、配列の要素の最大値を求める:とくに問題なし。 配列を反転させる:まだ途中…泣。拡張forループが課題。 配列を定数Rだけ右に循環させる:なんとか…。定数R=1の場合ならOK。 配列から定数Sを探し、その添字を出力する:変数pをただの宣言じゃなくて、int p = 0;で宣言したら動いた。なんでだ? 昇順の配列からSを探し,その添字を出力する:途中で力尽きました…。
https://w.atwiki.jp/tetdm/pages/13.html
データ型 printf if文 比較演算子 whilefor ビット演算 シフト演算 マスク処理 ポインタ 配列のアドレス 配列とポインタ 文字列 2次元配列 構造体 過去問 前期中間解答2
https://w.atwiki.jp/javanige/pages/20.html
public アクセスの制限を解除。 static newしなくてもクラスが使えるようになる。 ただし存在が一つに固定される為、同じクラスを別の名前で作成みたいなことはできない。 配列 数字の並び (例)int型の配列 生成 ①int 配列名 = new 配列型[要素数]; ※要素数は配列の大きさ。 ②int 配列名 = {1,2,3}; 中身 配列名[0] → 1 配列名[1] → 2 配列名[2] → 3 配列名[3] → エラー List 便利な配列。追加、削除が楽。 (例)int型のList import java.util.ArrayList; import java.util.List; 生成 List Integer list = new ArrayList Integer (); ①追加 add(追加したい数字) list.add(3); ←数字の3を一番後ろに追加。 ②削除 remove(削除したい場所) list.remove(0); ←0番目のデータを削除 ※ Integer ってなんだ? int型List使うときはコレを書く。 ○○クラス型Listを使いたければ ○○クラス と書けばよい。 char 文字列をchar変数に入れると数字で管理してくれる。 文字を数字に変換したいときは char c = a ; int num = (int)c; Rectangle 座標x,座標y,幅w,高さhを矩形の事。 矩形とは4つの角が全て90度の四角形の事。 使い方 Rectangle 四角 = new Rectangle( 30, 40, 50, 100 ); →座標(30,40)の位置に幅50、高100の矩形を表す。 四角.x → 30 四角.y → 40 四角.width → 50 四角.rect.height → 100 矩形の当たり判定 四角.contains( rectangle r )すべてを含むとき 四角.intersects( rectangle r )チョットでも触れた時 ※引数にPointでも可 インターフェイス ロボットでmove、人間でmoveで別の処理を書いても同じように呼び出せるってこと なんでもstaticにしちゃいけない理由がある。そうそれは・・・、ヒロックスさんお願いします。 -- ほじほじさん (2012-01-21 03 16 24) staticおじさんでぐぐるべし -- hiro (2012-01-22 00 15 32) remove(削除したい要素) って「追加した数字」のことでいいのかな?それとも追加した番号なのかな? -- 名無しさん (2012-02-01 00 46 48) 「削除したい要素」ってのには2種類あります。remove()に指定できるのは、int型(indexとか要素番号)か、オブジェクトです。例えばですが、1というint型の数値をaddした場合、1というint型の数値を削除っていうことはできませんが、もし0番目に追加したのであれば、remove(0)(0番目の要素を指定、indexを0で指定)で追加したint型の1を削除することができます。余談ですが、add(new Integer(10))としたあとにremove(new Integer(10))は一見できなさそうですが、できます! -- シコシコ麺 (2012-02-01 01 00 33) 補足ですが、add(new Integer(10))を2回したあとにremove(new Integer(10))とすると、先に追加したほうの10が消えます -- シコシコ麺 (2012-02-01 01 02 27) new Integer(10) 毎回インスタンス化して参照先違うはずのに、なんで消せるのかという疑問があったので、クラスを適当に作成して実験した結果、equalsメソッドをオーバーライドしてtrueを返すようにしてやれば、削除できることがわかりました。equalsでtrueが返ったら削除に成功するということなので、例えば"あいうえお"をaddして"あいうえお"をremoveすることができるということになります。 -- シコシコ麺 (2012-02-01 01 16 50) そういえば、staticの説明おかしい・・・あとで改めて説明しよう -- H.Ayame (2012-02-01 07 17 14) 名前 コメント
https://w.atwiki.jp/perltips/pages/24.html
Perlの配列、ハッシュは、それぞれ要素としてスカラー変数か、参照しか持てない。 よって、ハッシュに配列を格納する場合、配列のリファレンスを代入する。 使用例 my %hash; my @list = (1,2,3); #No1 $hash{"test"} = [@list]; #ここがポイント。[]で囲う事で、無名配列のリファレンスを生成し代入する。 #No2 $hash{"test"} = ¥@list; #直接リファレンスを生成、代入もできる。非推奨。 my @ref = @{$hash{"test"}}; #デリファレンスする。@refはこれ以降、普通のリストとして使用できる。なお、配列自体がコピーされるため、@ref内の値を変更しても%hashに格納されたリスト内の値は変わらない。 print $hash{"test"}[1]; #代入しないでそのまま利用も可 $hash{"test"}[1]=10; # No.2の方法を使った場合、元の@listの値が変更される。No.1では@listの値は変更されない。 参照 http //perldoc.jp/docs/perl/5.10.0/perldsc.pod#HASHES32OF32ARRAYS
https://w.atwiki.jp/yotagarao/pages/106.html
HMMER HMMERは、隠れマルコフモデルを使って目的の配列中に特定のドメイン構造があるかどうかを調べてくれるソフトです。 インストール、使い方などは至極簡単で、 基本はマニュアルに従えば良しです。 とりあえずマニュアルに従ってインストールします インストールできたら、用意するもの 実際にドメイン構造を調べたいアミノ酸配列のデータ(複数個でもOKだが、アミノ酸配列である事が必要。 fas形式でOK 改行コードはUNIX) ドメイン構造のシードファイル(同じくfas形式でOK 改行コードはUNIX) これらをhmmerフォルダの中のsrcフォルダに移動させます。 んで、ターミナルか何かで自分もsrcフォルダの中に移動します。 まずはシードファイルをもとにモデルをたてます。 hmmer-2.3.2/src yotako$ hmmbuild モデルのデータファイル名 シード ファイル名 モデルのデータファイル名は自分で好きに決めてください 次にたてたモデルのキャリブレーションを行います hmmer-2.3.2/src yotako$ hmmcalibrate モデルのデータファイル名 モデルのデータファイル名は先にbuildしたやつと同じ名前です これでモデルの調整が終わりました。それではいざアミノ酸配列に対してhmmでドメイン構造をサーチします hmmer-2.3.2/src yotako$ hmmsearch モデルのデータファイル名 ドメイン構造を調べたいアミノ酸配列ファイル これだと結果がターミナル上にガーッと出てきてしまうので、 hmmer-2.3.2/src yotako$ hmmsearch モデルのデータファイル名 ドメイン構造を調べたいアミノ酸配列ファイル > 結果ファイル 好きな名前をつけた結果ファイルに出力を格納するとよし。 アミノ酸配列に対して調べたいドメイン構造が2つ以上ある場合 モデルのデータファイルを集めたファイルを作ると良し。 マニュアルには二通りの方法が書いてあるけどとりあえず1つを紹介しておくと、 hmmer-2.3.2/src yotako$ hmmbuild モデルのデータファイル名1 シード ファイル名1 hmmer-2.3.2/src yotako$ hmmbuild モデルのデータファイル名2 シード ファイル名2 ・ ・ ・ hmmer-2.3.2/src yotako$ cat モデルのデータファイル名1 モデルのデータファイル名2 ... モデルセット名 hmmer-2.3.2/src yotako$ hmmcalibrate モデルセット名 hmmer-2.3.2/src yotako$ hmmpfam モデルセット名 ドメイン構造を調べたいアミノ酸配列ファイル > 結果ファイル モデルセット名は自分で勝手に決めてよい いったんモデルセットを作ってから、まとめてキャリブレーションを行っている。 HMMのサーチをする時のコマンドがhmmpfamになっている点に注意
https://w.atwiki.jp/kof98um/pages/182.html
【稼動店舗情報 近畿】 目次 三重県 滋賀県 奈良県 京都府 大阪府 和歌山県 兵庫県 三重県 店舗名 所在地 備考 アーバンスクエア津南店 津市高茶屋小森町138 ゲームオフ四日市 四日市市日永1-2-9 アーバンスクエア鈴鹿店 鈴鹿市道伯4-1714-18 セガワールド松阪 松阪市船江町780番地 ジョイプラザあさひ店 三重郡朝日町大字小向字御田295-1 滋賀県 店舗名 所在地 備考 ジャングルクラブ堅田 大津市今堅田2-39-22 ゲームランドPOPS 彦根市高宮町太田2027 アクション長浜 長浜市川崎町字八王子町375 入荷日未定 奈良県 店舗名 所在地 備考 キャノンショット西大寺店 奈良市二条町2-4-14 京都府 店舗名 所在地 備考 a-cho 京都市中京区寺町通四条上る東大文字町302-303 サードプラネットBiVi京都二条店 京都市中京区西ノ京栂尾町1-6 プレイランドキング七条店 京都市下京区東境町187 1クレ50円 セガワールド六地蔵 京都市伏見区桃山町山ノ下32京都ショッピングセンタービルAM棟2階 スーパーヒーロー山科 京都市山科区御陵鳥ノ向町2番地フウキビル ゲームスペースプラニー 宇治市広野町西浦100番地 大阪府 店舗名 所在地 備考 明大モンテカルロ 大阪市北区小松原5-5 1クレ50円/3台/ネオジオ配列2,カプコン配列1 ゲームスペースベガス 大阪市北区天神橋4丁目12-2 チャレンジャーABABA天神橋店 大阪市北区天神橋3-8-23コア扇町ビル1F ビデオシティRENO 大阪市北区梅田1-2-2 B100駅前第2ビルB1F 1クレ100円/カプコン配列 ゲームプラザカーニバル 大阪市北区梅田1-1-3駅前第3ビルB1F76号 ハイテクランドセガミスト2 大阪市北区梅田1-11-4駅前第4ビルB1F 1クレ100円 アミュージアムよしもと店 大阪市中央区難波千日前12-35スイングよしもとビル1F 1クレ100円/ネオジオ配列 ハイテクランドセガアビオン 大阪市浪速区難波中2-3-15MMOビル 1クレ100円/ネオジオ配列 難波ヒルズ 大阪市中央区難波3-2-34 1クレ50円/ネオジオ配列 アミューズメントスコット 大阪市浪速区日本橋5-12-5 1クレ50円/2台/ネオジオ配列1,カプコン配列1 キャンディウエスタン三国店 大阪市淀川区西三国4-8-19阪急三国駅前ビル B1F セガワールドアポロ 大阪市阿倍野区阿倍野筋1-5-31 チャレンジャー関大前店 吹田市千里山東1-14-2 チャレンジャーガムガム店 吹田市岸部南1-24-9 コスミックプラザABC 寝屋川市早子町18-14 2F アミューズボンボン 寝屋川市香里南之町20-23 エンジョイパラダイス 東大阪市長栄寺7-3パーラーメトロ永和店2F ゲームプラザ エム 守口市本町1丁目3番地 アミューズメントパークエルロフト 茨木市宇野辺1丁目4-3 クラブセガ東梅田 大阪市北区堂山町9-28 ウエストナイン 大阪市此花区西九条3-15 ハイテクランドセガ西中島 大阪市淀川区西中島3-16-8 深井センタービル1・2F 和歌山県 店舗名 所在地 備考 ピタゴラス 和歌山市土入73-1 1台 ピタゴラスMQ 和歌山市加納319-1 1台 兵庫県 店舗名 所在地 備考 アミューズスペースミール 三田市対中町5-21 入荷日未定 伊丹ゲームスペース 伊丹市中央1-5-5ボントンビル1F 1クレ50円 ゲームサンシャイン 尼崎市七松町1-2-1フェスタ立花北館203・204 1クレ50円/A落ち配列 セガ三宮サンクス 神戸市中央区琴ノ緒町5-4-5高架下404~407 入荷日未定 GAME IN COO 神戸市中央区旭通5-2-5 100円2クレ/1台 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/yasrun/pages/171.html
型パラメータ付きリストの配列 こんなプログラムを作成してみました。 NGと書いてある行はコンパイルエラーになります。 OKと書いてある行でも、※x と書いてあるところはその警告が出ます。 package test3; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List Main list = new ArrayList Main (); // OK List Main [] lists1 = new ArrayList Main [5]; // NG ※1 List Main [] lists2 = new List Main [5]; // NG ※2 List[] lists3 = new ArrayList[5]; // OK ※3 List[] lists4 = new List[5]; // OK ※4 List Main [] lists5 = new ArrayList[5]; // OK ※5 List Main [] lists6 = new List[5]; // OK ※6 MainList[] list7 = new MainList[5]; // OK } } class MainList extends ArrayList Main { } /* * ※1 ArrayList Main の総称配列を作成できません * ※2 List Main の総称配列を作成できません * ※3 List は raw 型です。総称型 List E への参照は、パラメーター化する必要があります * ※4 List は raw 型です。総称型 List E への参照は、パラメーター化する必要があります * ※5 型の安全性 型 ArrayList[] の式は、未検査の型変換を使用して List Main [] に準拠するようにする必要があります * ※6 型の安全性 型 List[] の式は、未検査の型変換を使用して List Main [] に準拠するようにする必要があります */ 「総称配列」というのは要するに型パラメータが付いているクラスの配列、ってことですね。 結局のところ、どう頑張っても警告は出てしまいます。「型パラメータ付きリストの配列」なんて使っちゃいけないってところでしょうかね。 リストを複数格納可能なクラスを用意して使用するか、Mapを使用するか。 どうしても警告が出ないようにListの配列を使いたい場合は一番最後の例のように、型パラメータ付きArrayListの派生クラスを作って使用するしかないですが、あまりエレガントとは言えないですね。
https://w.atwiki.jp/thiroyoshi/pages/31.html
HPF(High Performance Fortran) Fortranのプログラムを並列化するもの。 OpenMPのように並列実行する部分などに指示行を追加することで並列化を行う。 指示文 ミニスパコンでの使い方 HPFの考え方 分散共有型のスパコンにおいて、各ノードは個別にプロセッサとメモリを持っている。 HPFでは、これらをまとめて1つのグローバルなメモリ空間ととらえることで、プログラマ自身はノード間の通信を行っているということを意識することなく、プログラミングをすることができる。 しかし、実際にはノード間の通信は存在し、速度を追求する場合にはこれらのことを意識することは重要である。 また、仮想的にグローバルな見方をしているためにプログラム自体は逐次として書くことができる。 プログラムの流れ 基本的な流れは以下のようになる データの分散 ↓ プロセッサの宣言 ↓ ループの並列化・処理の分担 データの分散 分散しているメモリにどのようにデータを割り当てるかを決定する。 均等に割り当てること、必要に応じて均等にしないようにすることも可能。また、割り当てかたにも様々な方法をとることもできる。 また、計算を行うプロセスに最適なメモリのデータ配置をとるために「シャドウ」「アライン」といった指示文も用意されている。 指示文 プロセッサの宣言 どの部分をどのプロセッサが計算するかを決定する。 分散型であることから、仮想的にグローバルなメモリであるが、実際には各ノードがメモリとプロセッサを持っている。 参照するメモリと計算を実行するプロセッサが別の場合には、他のノードと通信を行い、一度計算実行するプロセッサのメモリにデータを置く必要がある。この場合には通信コストがかかることから遅くなる。このため、できるだけ計算のソースを保管しているメモリを持つプロセッサでの計算を行うほうがアクセスが早くなる。 指示文 ループの並列化 並列化するループ文を指定する。 通信を行う必要のないループ文に関しては「LOCAL」として通信を行わないように明示することができる。 指示文 その他の注意事項 スカラ変数 配列に関しては上記のようなメモリへの分散配置が基本になるが、スカラ変数についてはそうはいかない。 各プロセッサで、すべてそのスカラ変数が必要な場合には、すべてのプロセッサがそのスカラ変数をメモリ上に保持していなければならない。そのため、スカラ変数はすべてのプロセッサに重複割り付けされている。 変数の読み出しの場合 読み出す場合には、各プロセッサが変数を保持する必要はない。が、速度面を考えると、すべてのプロセッサのメモリが変数を所持していることが望ましい。 変数の書き込みの場合 書き込む場合には、1つのプロセッサが書き込みを行ったあと、すべてのプロセッサに対してブロードキャストする。 NEW変数 ループ内でのみしか使用されないローカルな変数。 ループの最初で定義され、ループを抜ければ解放される。 これは、自分で指定することが原則ではあるが、コンパイラが自動で判断することも可能な場合がある。 集計変数 これは、配列要素内の最大値や総和をとるときにスカラ変数が必要になるが、代入する変数をどこにとり、どのように計算を進めるかが計算結果や速度に影響を与えることによる。 指示文 基本的に使う指示文はそんなに多くはない。 配列を分散する::DISTRIBUTES プロセッサ構成を宣言する::PROCESSORS 配列同士を相対位置にマッピングしなおす::ALIGN メモリを消費しない仮想配列を宣言::TEMPLATE 並列化可能であることを明示する::INDEPENDENT 実行プロセッサを指定する::ON 袖(シャドウ)領域の割付を宣言する::SHADOW シフト通信の実行を指示する::REFLECT DISTRIBUTE !HPF$ DISTRIBUTE a( 分散形式 ,…) または !HPF$ DISTRIBUTE ( 分散形式 ,…) a,b,… a,bは配列。分散形式によって、各ノードのメモリへの分散の仕方を決定し分散配置を行う。宣言部に書く。 例) real a(100,200) !HPF$ DISTRIBUTE a(*,BLOCK) ::aの配列を列でBLOCKの形で分割する 分散形式 BLOCK…近傍要素の参照が多い場合によく用いる。配列を一定の大きさに分割する。 CYCLIC…配列要素を頭から1つずつ順に各ノードに割り振り、それを繰り返す。ノードが3つの場合には、ノード1には配列の0,3,6,9,…の要素が格納される。 CYCLIC(w)…wは整数。このwの数ずつでCYCLICで割り当てる。上記2つの中間的な割り振り方。 負荷の偏りが事前に分かっている場合などのために、不均等な分散の方法もある。 PROCESSORS !HPF$ PROCESSORS p(n1,n2,…,nN),… pはプロセッサの配列名。n1*…*nNはプロセッサ数。Nは分散次元数。 DISTRIBUTEなどでどのプロセッサがどのメモリを処理するかの分割の仕方を指定する。この場合にはDISTRIBUTEに下のように「ONTO」を追加する。 例) !HPF$ PROCESSORS proc(8),p2(2,4) ::procはプロセッサを1列で8個、p2は2列で4個ずつ割り振る real e(100,200),f(100,200) !HPF$ DISTRIBUTE e(*,BLOCK) ONTO proc ::eをprocに準じて分割する。つまり、列で8分割する !HPF$ DISTRIBUTE f(BLOCK,BLOCK) ONTO p2 ::fをp2に準じて分割する。つまり、2行4列で分割する ALIGN !HPF$ ALIGN A(変数,…) WITH B(変数,…) または !HPF$ ALIGN (変数,…) WITH B(変数,…) A1,A2,… 配列A(A1,A2,…)の整列方法を配列Bに合わせる。整列方法には、3つ組、縮退、複製、Single整列がある。 これが必要になるのは、DISTRIBUTE指示で配列を分散したときに起こる問題を解決するときである。 DISTRIBUTEで複数の配列を個々に分散したとき、その分割の仕方は分割方法と配列の大きさによる。 すると、個々の配列の分割位置は異なることになり、各プロセッサで必要なデータが一方の配列のものはあるのに他方のものはないということが起こり、余計な通信が発生しパフォーマンス低下の原因となる。これを解消するためにALIGNを使う。これによって、各プロセッサに一方のデータに対応する他方のデータをきちんと割り当てておくことで、計算のたびに通信する必要がなくなる。 例) real a(11),b(0 11) !HPF$ PROCESSORS p(2) !HPF$ DISTRIBUTE (BLOCK) onto p b ::bをpに準じて分割 !HPF$ ALIGN a(i) WITH b(i) ::aをbに合わせる do 1 = 1,11 a(i) = b(i) TEMPLATE !HPF$ TEMPLATE T(上下限,…),… メモリを消費しない仮想配列(テンプレート)を宣言する。 ALIGN指示文では、整列元が整列先からはみ出すような指定は禁止されている。つまり、極端にずれたものはALIGNだけではできない。 そこで、TEMPLATEを用いて配列の並び方だけを定義しておき、本当に存在する配列をこの並び方に対応させる。 実際には、このTEMPLATEで宣言した枠に各配列を割り当て、DISTRIBUTEでTEMPLATEの配列を分割する。 例) INTEGER A(8),B(8) !HPF$ PROCESSORS P(2) !HPF$ TEMPLATE T(9) ::TEMPLATEを宣言 !HPF$ ALIGN B(l) WITH T(l+1) ::BをTに対して後ろ詰めで対応させる !HPF$ ALIGN A(l) WITH T(l) ::AをTに対して前詰めで対応させる !HPF$ DISTRIBUTE T(BLOCK) ONTO P ::A,BをTに対応するように2つに分割する do l = 1,7 B(l) = A(l+1) INDEPENDENT !HPF$ INDEPENDENT 通常は並列化可能な部分はコンパイラが自動で判断して並列化を行うが、たまに並列化されないことなどもある。 この指示文では、並列化処理を行う部分をプログラマが明示することで並列化する。 ただし、並列化できないところに指示をした場合の動作は保証されない。 例) integer a(100) !HPF$ DISTRIBUTE a(BLOCK) !HPF$ INDEPENDENT ::ループ文の直前に書いて並列処理を指定する do i = 1,100 a(i) = i**2 end do write(*,*) a end 並列化の可否 並列化できないケース 順序どおりに実行しないと実行結果の変化するもの(逐次処理) ループ内から外への分岐があるもの(ループ内での分岐は可) STOP文 EXIT文 コンパイラが判断できないケース 複数の繰り返しで同じ要素を定義するかもしれない 例) do i = … a(ix(i)) = … enddo サブルーチン内でのaの同じ要素をアクセスするかもしれない 例) do i = … call subx(a,i) enddo ON !HPF$ ON HOME( ホーム変数 ) または !HPF$ ON HOME( ホーム変数 ) BEGIN DOループ本体 !HPF$ END ON DOループ内においてどのプロセッサがどの計算をするかを指定する。 指定の仕方は以下の例を見たほうがわかりやすいと思います。 例1) … !HPF$ INDEPENDENT do i = 1,99 !HPF$ ON HOME(a(i)) BEGIN ::a(i)を持つプロセッサに計算を指示 a(i) = b(i+1)**2 !HPF$ END ON enddo 例2) … !HPF$ INDEPENDENT do i = 1,99 !HPF$ ON HOME(b(i+1)) BEGIN ::b(i+1)を持つプロセッサに計算を指示 a(i) = b(i+1)**2 !HPF$ END ON enddo 以上のように変数で指定し、後の計算などを考慮に入れてどのプロセッサに計算を担当させるかを指定することができる。 SHADOW !HPF$ SHADOW a(シャドウ幅,…),… または !HPF$ SHADOW (シャドウ幅,…) a,b,… aやbは配列変数。 シャドウ幅 は 整数 のとき両側のサイズ、 整数 整数 のときはそれぞれ下、上のシャドウのサイズ 差分方程式などある程度の幅でデータが必要な計算を行う場合には、配列を分散させていると端の部分のデータについて他のプロセッサのメモリを参照する必要があり、通信が発生してしまう。このため、実効速度が低下してしまう。 これを解消するため、分散した各配列の端の部分のデータを余分に持たせて(つまり、全体で重複したデータを持つ)通信を行わないようにする。 宣言部で記述する。 例はREFLECTと一緒に。 REFLECT !HPF$ REFLECT a,b,… aやbはSHADOWを持つ配列変数 SHADOWで指定した変数に設定を反映する。 実行部で記述する。 例) … dimension u(lx,ly), uu(lx,ly) !HPF$ DISTRIBUTE (*,BLOCK) u,uu !HPF$ SHADOW (0,1) u ::SHADOWを指定、0行1列だけ拡張する … !HPF$ REFLECT u ::シャドウ反映 c.. !HPF$ INDEPENDENT NEW(ix,iy) ::並列化指定、NEWはループ内でのみの変数を定義する、ここではixとiy do iy = 2, ly-1 !HPF$ ON HOME(uu( ,iy)), LOCAL BEGIN ::LOCALは指定した変数が通信なしでアクセスできるという宣言、変数を書かないときは全ての変数を指定 do ix = 2, lx-1 … enddo !HPF$ ENDDO enddo … ミニスパコンでの使い方 プロ輪で使っていたスパコンで使うことができます。 使えるコマンドは「hpf」と「fhpf」がある。 hpf 製品版のHPFコンパイラ。MPI同様の様々なコンパイルオプションがある。 fhpf フリーで使用可能なHPFコンパイラ。manでのマニュアルが出ないという代物。 一旦MPIに落としこんでから実行形式にするもの。 しっかりと確認はしていないが、端末を起動するごとにコマンドを有効にする必要がある。 そのためのコマンドは以下。 hpfを有効に cshの場合 source /opt/NEChpf/bin/hpfvars.csh shの場合 source /opt/NEChpf/bin/hpfvars.sh fhpfを有効に setenv PATH ${PATH} /tmp/fhpf 上記コマンドを実行したあと、コマンドが有効になっていれば、 hpf:コンパイルオプション等が表示される fhpf:バージョン情報が表示される プログラムの実行方法はMPIなどと同じようにジョブを投げることで行う。 その際使う実行コマンド行は mpirun_rsh -np 8 ${NQSII_MPIOPTS} ./a.out となる。 #bf 名前 コメント Today's Access - Yesterday's Access -
https://w.atwiki.jp/hanaoka/pages/16.html
最大値と最小値 線形探索と似たようなもの。 方法 最大値の場合。 1. 配列の先頭の値を記録 2. 配列の2番目の値と記録した値を比較。2番目の方が大きかったら2番目を記録。 3. 配列の3番目の値と記録した値を比較。 4. 以下、最後のデータまで繰り返し。 最大値検索 class Search{ /* * 最大値検索 * 引数1:数値配列 * 戻り値:最大値が格納されている要素番号 */ //最大値検索 public static int getMax(int[] d){ if(d.length 1){ return -1; } int max = 0; for(int i = 1; i d.length; i++){ if(d[i] d[max]){ max = i; } } return max; } } 最小値検索 class Search{ /* * 最小値検索 * 引数1:数値配列 * 戻り値:最小値が格納されている要素番号 */ public static int getMin(int[] d){ if(d.length 1){ return -1; } int min = 0; for(int i = 1; i d.length; i++){ if(d[i] d[min]){ min = i; } } return min; } }
https://w.atwiki.jp/raycy/pages/219.html
http //www26.atwiki.jp/raycy/pages/216.html #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。http //www26.atwiki.jp/raycy/pages/220.html タイプバー原理タイプライターの少なくとも「一つの制約条件として頻出連続文字列のタイプバー隣接忌避があった説」を支持してくれそうな傾向が、少しは現れてきているように思えてきた。 アップストライク式ででも、フロントストライク式ででも。 ディッカーソンの「タイプバー&キー配列定石(アップストライク式編)」は、与えられたタイプバー配置をもとに、もっともシンプルなつくりで駆動しようとした場合に想定される、キー配列ということになろう。そして、その逆方向の推量をしてみているのが、本試みであろう。 あくまでも、一つの制約条件似すぎないのであって、この条件がつけられたからといって、絞られてくる配列の組み合わせ数は、まだまだたくさんあるということに、山田尚勇の説明ではなる。到底一つの配列に決まってしまうってな話ではもともとない。 Re 特に1882年8月のキー配列変更は、Sholesの特許を忌避するためのもので、技術的な理由によるものではない。yasuoka (21275)より タイプバスケット上のタイプバーの並びを、アップストライク式については「ディッカーソンの規則性」に準じてmy手元で適宜勝手に推定して、タイプバーの隣接状況を検討している。 タイプバスケット上のタイプバーの配置を、製品機発売以前の分も製品機に準じて配置されていたと仮定して遡及し、隣接タイプバーのdigraphの具合を調べでみている。http //www26.atwiki.jp/raycy/pages/215.html 時期など 説明 関係者 BCディ・グラフ・ポイント 総digraph当りパーセント ブラウン・コーパス順序なし異字digraph頻度 やらせ配列 タイプバー高確率ヒット配列 838884 23.194% http //blog.goo.ne.jp/raycy/e/1a6a26bbbe45b6d2ec21be8da2fdc2a8 1868年ごろ 特許 ショールズら 342479 9.469% 電信配列 343677 9.502% GNY配列(安岡孝一氏2008年推定) 180519 4.991% http //blog.goo.ne.jp/raycy/e/431798d4267a64f37e66ee3d0c42121a 1872年7月 サイエンティフィック・アメリカン紙取材時 ショールズら 29534 0.817% 1873年2月 デンスモアらレミントン持ち込み機 ショールズら 14994 0.415% 1873年9月 Jenneら特許図 9695 0.268% 1874年4月 製品発売機 9695 0.268% 1878年1月 大小文字シフト式 Jenneら 18186 0.503% 1882年8月 Remington Standard No.2 3756 0.104% 18、、年 ショールズ後年特許 20 0.001% 安岡孝一氏フィールド調査タイプバスケット図 2283 0.063% http //blog.goo.ne.jp/raycy/e/050008f57200f0efd56789f8ddd7e554 ブラウン・コーパス・ディ‐グラフ・ポイント(BCDP)http //blog.goo.ne.jp/raycy/e/25f08e32b202090d31f6a4d9a164cfc9 ブラウン・コーパス順序なし異字digraph頻度http //www26.atwiki.jp/raycy/pages/182.html [atwiki.jp] 頻出連続文字列タイプバー隣接忌避http //blog.goo.ne.jp/raycy/e/440dd806177a6907c1c7d908825e5402 キー配列-タイプバー配置強関係性説http //www26.atwiki.jp/raycy/pages/158.html#id_da15e560 ディッカーソンの規則性 link_trackback() counter -