← 前のページ | 1 | 16 17 18 19 20 21 22 23 24 25 26 | 28 | 次のページ →

1283. ぬー!!MZL  2002年12月3日(火) 11:09

M.Kamada様こんにちは。

先日過去のデータを漁っていたときに見つけたのですが

X68OOO Noo!!

で始まる形式のファイルのデコーダってご存知無いでしょうか?

1284. Re: ぬー!!M.Kamada  2002年12月3日(火) 13:42

MZLさん、こんにちは。

> X68OOO Noo!!

> で始まる形式のファイルのデコーダってご存知無いでしょうか?

わかりませんです。わかる方はフォローをお願いします。

拡張子や中身の種類(画像とか)がわかるともう少し探しやすいと思います。

1285.MZL  2002年12月3日(火) 18:08

>>1

MZLです。

> 拡張子や中身の種類(画像とか)がわかるともう少し探しやすいと思います。

どうやらテキストファイルを圧縮または暗号化したもののようで

中身はちらほらと元のテキストと思しきパーツがちりばめられています。

ちなみに拡張子は.docでした(意味無いじゃん)。


1273. 素因数分解の使い道(昇)  2002年11月19日(火) 21:08

日記のほうで『プロテクト技術解剖学』をピックアップいただきありがとうございます.

最近盛り上がっているいる素因数分解は公開鍵暗号のキーテクノロジ(?)でもあるので、ほほほぉ、などと眺めております.それにしても、アルゴリズムもさることながら、最近はパソコンレベルでもここまで演算ができるのかと…。などと感心してしまいます.

1276. Re: 素因数分解の使い道M.Kamada  2002年11月20日(水) 14:08

(昇)さん、こんにちは。

> 日記のほうで『プロテクト技術解剖学』をピックアップいただきありがとうございます.

どういたしまして。

実はまだ現物を見ていないのですが、

手に入ったらまた何か書きますね。

> 最近盛り上がっているいる素因数分解は公開鍵暗号のキーテクノロジ(?)でもあるので、ほほほぉ、などと眺めております.

あ、私のは単なる趣味ですので。

> それにしても、アルゴリズムもさることながら、最近はパソコンレベルでもここまで演算ができるのかと…。などと感心してしまいます.

パソコンレベルでも、というよりも、この手の演算は

パソコンでやるほうが主流になっているように思います。

CPUを遊ばせておくのももったいないですし。


1260. 2つの系列哲 2002年11月12日(火) 00:05

こんばんは。

(64*10^n+53)/9 型の素数は見つからないのに、(16*10^n-61)/9 型の素数は沢山(?)ありますね。

ちょっと調べたら、n=1, 6, 48, 102, 192, 366, 1002 の時に多分素数になるようです。

それでは失礼します。

1261. Re: 2つの系列M.Kamada  2002年11月12日(火) 16:55

哲さん、こんにちは。

> (64*10^n+53)/9 型の素数は見つからないのに、(16*10^n-61)/9 型の素数は沢山(?)ありますね。

理由がこれだけかどうかわかりませんが、

代数的に考えると個々の素因数の出現頻度は限られており、

(16*10^n-61)/9 のほうが小さい素因数が同じ数に集中して

現れるので素数が多くなるのではないかと思います。


1257. 素因数分解哲 2002年11月10日(日) 20:44

こんばんは。

系列の表が公開されたということで、早速その中から1つ拾って分解しました。

(64*10^100+53)/9/83/239 =

67838213495270775000029029252126840673<38> *

52842951754093581599808028211530416669511326155578778996017<59>

それでは失礼します。

1259. Re: 素因数分解M.Kamada  2002年11月10日(日) 22:00

哲さん、こんばんは。

> 系列の表が公開されたということで、早速その中から1つ拾って分解しました。

すばやひ。(^^;

> (64*10^100+53)/9/83/239 =

> 67838213495270775000029029252126840673<38> *

> 52842951754093581599808028211530416669511326155578778996017<59>

あらら、97桁もあったのにあっさりと…

ありがとうございます。検証の上、リストを更新しました。

1262.哲 2002年11月13日(水) 16:39

>>1

こんにちは。

今回は2つの系列から1つずつ拾って分解しました。

(16*10^84-61)/9 =

756600723901820421121949766505399991678987<42> *

2349690823198933964135445765680242530617633<43>

(64*10^110+53)/9/3 =

2893127983106535322296101126866226743812761611968656413<55> *

81931058156132903212222953108519541156199436710593940603<56>

それでは失礼します。

1263.M.Kamada  2002年11月13日(水) 19:56

>>2

哲さん、こんにちは。

> 今回は2つの系列から1つずつ拾って分解しました。

ありがとうございます。

ますますデッカイのが出てますねー。(^^;

1264.哲 2002年11月14日(木) 21:26

>>3

こんばんは。

今回は素因数分解しようとして見事に失敗したものを含みます。

(64*10^98+53)/9/3/317263 =

2710065611669718533001316546342690787137<40> *

275687438249130740149164966821108918202785098309543969<54>

(64*10^103+53)/9/7/11/3467/1792366084603<13> =

148616209456908826177190395908183710155106110849893738382084866292756631938052581292921<87>

下のp87は表では合成数ということになっていますが、mpqs4linuxが最大公約数を求めるフェーズで何故かコケるのでAPRT-CLEで判定したら素数でした。

さらに (64*10^n+53)/9 の系列で n=105, 106, 109, 132, 134, 142, 167, 199 で合成数となっている数もAPRT-CLEで素数と判定されました。乞確認。

それでは失礼します。

1265.M.Kamada  2002年11月14日(木) 23:03

>>4

哲さん、こんばんは。

> 下のp87は表では合成数ということになっていますが、mpqs4linuxが最大公約数を求めるフェーズで何故かコケるのでAPRT-CLEで判定したら素数でした。

> さらに (64*10^n+53)/9 の系列で n=105, 106, 109, 132, 134, 142, 167, 199 で合成数となっている数もAPRT-CLEで素数と判定されました。乞確認。

あらら、こんなにたくさん。ありがとうございます。

最初に小さい素因数を排除した段階で残りを一旦合成数と仮定して

作業を始めたので、その名残だと思います。

リストは手作業で更新しているので他にも間違いがあるかも知れません。

1266.Y. Hanatani 2002年11月16日(土) 18:16

>>5

こんにちは

こちらで最近素因数分解が取り上げられているのを見て、

ecm-gmpをインストールしてみましたところ、

(64*10^117+53)/9 mod 89875493496406619338541 == 0 なる

23桁の素因数が見つかりました。

1267.哲 2002年11月16日(土) 19:34

>>6

こんばんは。

ついでに下記の結果も加えておいてください。

[171]

(16*10^91-61)/9/11/23/23 =

12876290977178756970996047<26> *

237267543416547860781980234475213396141517058226065266888729247<63>

(16*10^100-61)/9/13 =

55286350879878282337818061874857<32> *

24735243794487494621487788772935861198378042673830517244659559794431<68>

(16*10^129-61)/9/7/11/11/439/9587423/11862063049<11> =

162703661782563931426151<24> *

258386666102291034681870637469344303139728717957217645153666455373251731432264075331<84>

[717]

(64*10^104+53)/9/3/3/3025111 =

4646127361478373336901817104339<31> *

5621633514033298730270232373228771572697404804559738813992009234097<67>

(64*10^135+53)/9/11/239 =

583354276368348239613413747<27> *

4636758668504360385753236819635365522974407369310460020199753070369153703602153265078023555368000115985459<106>

それでは失礼します。

1268.M.Kamada  2002年11月16日(土) 19:48

>>6

Y. Hanataniさん、こんにちは。

> こちらで最近素因数分解が取り上げられているのを見て、

> ecm-gmpをインストールしてみましたところ、

> (64*10^117+53)/9 mod 89875493496406619338541 == 0 なる

> 23桁の素因数が見つかりました。

ありがとうございます。

小さい素因数が残り少なくなるにつれて、

GMP-ECMでも素因数がなかなか見つからなくなってきました。

未知の素因数を最初に発見した人はちょこっとラッキー。(^^;

1269.M.Kamada  2002年11月16日(土) 20:08

>>7

哲さん、こんばんは。

> ついでに下記の結果も加えておいてください。

いつもありがとうございます。

1270.Y. Hanatani 2002年11月18日(月) 13:48

>>9

(16*10^207-61)/9の素因数のひとつ

9048304351615529959999 (22digits) を見つけました。

残りの因子は合成数のようです。

20桁代はもう残ってないのではないかと思っていましたが…

夜な夜なecmを回していた甲斐がありました。

1271.M.Kamada  2002年11月18日(月) 21:38

>>10

Y. Hanataniさん、こんにちは。

> (16*10^207-61)/9の素因数のひとつ

> 9048304351615529959999 (22digits) を見つけました。

ありがとうございます。

> 残りの因子は合成数のようです。

> 20桁代はもう残ってないのではないかと思っていましたが…

> 夜な夜なecmを回していた甲斐がありました。

20桁台の前半はそろそろなくなってもいい頃だと思うのですが、

ECMは気まぐれなので、またひょっこり出てくるかも知れませんね。

1272.Y. Hanatani 2002年11月19日(火) 20:51

>>11

幾つか素因数が見つかったので報告します。

(16*10^139-61)/9 = 11 * 601 * 5653 * 11721571 * 173908413895577<15> * 41905101224716768849<20> *

7123909525202177297570459<25> * <66>

(64*10^130+53)/9 = 11 * 67 * 4813 * 1050713 * 3036571 * 5699496121811<13> * 720671207366725631<18> *

829988483908342604237133093299<30> * <79>

(16*10^144-61)/9 = 189467 * 1083923 * 121013687 * 754174919 * 3979082437789453<16> *

106945245805206203945351953<27> * <75>

(64*10^227+53)/9 = 3 * 11 * 2692643 * 32148341487588916037785781<26> *

181503117655874306714926957<27> * <169>

(16*10^238-61)/9 = 13 * 127 * 5657 *

46430180224264648553519<23> * <209>

(16*10^250-61)/9 = 13 * 1117 * 3001 * 68960274559011859<17> *

105187359738922024391561<24> * <203>

(16*10^161-61)/9 = 3 * 11 * 223 * 293 * 241667 * 347838697 * 463516751 * 9405191432179<13> *

118572847683009651860426161<27> * <94>

1274.哲 2002年11月19日(火) 22:12

>>12

こんばんは。分解結果を1つ。

by mpqs4linux 0.61

(64*10^118+53)/9/17/71/179/877/15546722392914624145433<23> =

36804824607493699624427683931388558688781429<44>

655894476999064437055701414186258862934394001<45>

ご存知とは思いますが、このタイプの数には特殊数体篩法(SNFS)が適用できます。

ECMで新たな素因数が見つからなくて残りの合成数が大きい場合に有効でしょう。

実装の在処にはこのサイトからリンクが張られているのであえて書きませんが。

おそらく公開されていて素人にも簡単手軽に使える世界最速の実装でしょう。

使える多項式が5次式のみという縛りがありますが、この2つの系列の数なら多項式の係数が3e3を超えることはないはずです。

ということで、n<=130 程度の完全分解は現実的です。頑張ってください。

それでは失礼します。

1275.M.Kamada  2002年11月19日(火) 22:26

>>12

Y. Hanataniさん、こんばんは。

> 幾つか素因数が見つかったので報告します。

うわ。これはまたゾロゾロと…ありがとうございます。

1277.Y.Hanatani 2002年11月23日(勤労感謝の日) 20:27

>>13

数体ふるい法はまだ理解できていないところがあって、

代数の本なんかを引っ張りださないと、という感じです。

PowerPCやSPARC上で動く二次ふるい法や数体ふるい法のプログラムがあればよいのですが、

今のところそれらの存在を知らないので楕円曲線法のみで分解しています。

あまり掲示板に素因数ばかり載せるのもどうかと思いますので、

今後は大きなの(30桁以上)が見つかったときだけ、書き込みます。

(16*10^146-61)/9 = 3 * 3 * 19 * 146890314509<12> * 1275008940157<13> * 13203685413461<14> * 1535375128727451317<19> * 1436014684780513730348145587<28> * <63>

(16*10^151-61)/9 = 11 * 11 * 29 * 29 * 1639052759<10> * 127259957021<12> * 4691097589091<13> * 8845358547510784479949<22> * [<92>]

(16*10^238-61)/9 = 13 * 127 * 5657 * 46430180224264648553519<23> * 254357642020012614687158935739<30> * [<180>]

(64*10^148+53)/9 = 19 * 29 * 739 * 1396523 * 1479913 * 51349048391867140770561613<26> * [<106>]

(64*10^157+53)/9 = 7 * 11 * 31 * 2309 * 5755989064165303169309<22> * 3983829526435379614386593<25> * 469074176045951899217<21> * <85>

(64*10^181+53)/9 = 7 * 7 * 11 * 11 * 1459 * 8293 * 19157 * 21870259553<11> * 57593571329269832561664997067<29> * <128>

(64*10^192+53)/9 = 13 * 88883 * 5941609 * 1191008658284365721903<22> * <159>

(64*10^200+53)/9 = 3 * 197 * 409 * 268480211 *571928806571317915240679<24> * [<164>]

(64*10^234+53)/9 = 13 * 1181 * 7451 * 1471598307214747<16> * 3052073285905649<16> * 172548225862787861<18> * 2699321912890730492306803<25> * [<155>]

1278.M.Kamada  2002年11月23日(勤労感謝の日) 22:55

>>15

Y.Hanataniさん、こんにちは。

> 数体ふるい法はまだ理解できていないところがあって、

> 代数の本なんかを引っ張りださないと、という感じです。

あぅぅ、私は大学のノートを引っ張り出しても未だに…。

円周率の計算もそうなのですが、自分が理解できていない

アルゴリズムで計算するよりもちゃんと理解してから使った

ほうが結果が出たときの感動が大きいと思うので、なんとか

理解したいのですが…。

> あまり掲示板に素因数ばかり載せるのもどうかと思いますので、

> 今後は大きなの(30桁以上)が見つかったときだけ、書き込みます。

お気遣いありがとうございます。

分解結果のご報告はメールでもOKです。

最終的にリストに反映されることに変わりありませんので。

1279.哲 2002年11月28日(木) 12:07

>>16

こんにちは。1つ。

(16*10^103-61)/9/11/337/244021 =

591000852246729578096482950405701019799<39> *

33253669605348907854656824307226049743772768002763036507<56>

それでは失礼します。

1280.M.Kamada  2002年11月28日(木) 14:45

>>17

哲さん、こんにちは。

> (16*10^103-61)/9/11/337/244021 =

> 591000852246729578096482950405701019799<39> *

> 33253669605348907854656824307226049743772768002763036507<56>

ありがとうございます。

現在、(16*10^1002-61)/9の素数判定を実行中。

1281.哲 2002年11月30日(土) 14:59

>>18

こんにちは。1つ。

(64*10^119+53)/9/3/11/89/1601/30859/348406813/1681642841<10> =

2376617737536393653702961258394523<34> *

3519497020374748402221295454823938291008096271084547330361<58>

1003桁の素数判定がAPRTCLEで7日ですか。意外と速いという印象です。

それでは失礼します。

1282.M.Kamada  2002年11月30日(土) 17:34

>>19

哲さん、こんにちは。

> 1つ。

いつもありがとうございます。

> 1003桁の素数判定がAPRTCLEで7日ですか。意外と速いという印象です。

そうですね。1000桁を越える数を試したのは初めてだったので

何日かかるか予測せずに始めてしまったのですが、このくらいの

期間で終わってよかったです。

1日目の夕方始めて7日目の朝終わっていたので実質6日弱でした。

単独で走らせればもう少し早く終わったと思います。


1256. はじめましてFurutaka 2002年11月9日(土) 22:52

はじめまして。

元電くら読者なので、なんだか懐かしい気がします^^

X68も先日EXPERTの電源が故障し何とか直しましたが、もう10年

ものなんですね・・・SASIのHDDに不良フラスタ1つないのは

奇跡なのかも。

ところでX68-WIN間のファイルやり取りですが、ロングファイル名も

小文字も大丈夫ですが、ファイル名の8Byte目に全角文字の先頭Byte

がくるとWinでは全く認識できないようです。このおかげでMOの

データ移行が面倒でなりません^^;

1258. Re: はじめましてM.Kamada  2002年11月10日(日) 21:56

Furutakaさん、こんにちは。

> X68も先日EXPERTの電源が故障し何とか直しましたが、もう10年

> ものなんですね・・・SASIのHDDに不良クラスタ1つないのは

> 奇跡なのかも。

奇跡かも。

SASIのハードディスクが動いているというだけでも

驚く人は多いと思います。

> ところでX68-WIN間のファイルやり取りですが、ロングファイル名も

> 小文字も大丈夫ですが、ファイル名の8Byte目に全角文字の先頭Byte

> がくるとWinでは全く認識できないようです。このおかげでMOの

> データ移行が面倒でなりません^^;

その手の落とし穴ってありますよね。

リネームするにしてもアーカイブしなおすにしても結局

X68k側で手を加えなければならないので面倒だと思います。


1252. こんばんは、初めまして哲 2002年11月4日(振替休日) 23:58

とある人の名前を検索にかけたところこのページにたどり着きました。これから宜しくお願いします。

2002年10月22日の虫食い算の解答プログラムを書いてみましたが、PentiumIIIの866MHzで5秒かかるので落第です。しかし折角なので公開します。

http://hyper6.amuser-net.ne.jp/~hamayan/20021022.ub

積の候補90個についてそれぞれ素因数分解を施す手法です。解答は 81766*78517(=6420021022) と出ました。

2002年10月13日の137桁の数の素因数分解についてですが、この数は 7174189082561 という素因数を持ちますので、これを除いた124桁の数の素因数分解を行えば良いことになります。が、現在PPMPQS法ではない手法で計算機に分解させているところです。結果は10日~2週間後に出る予定(停電などがなければ)です。結果が出たら詳細を報告しますので、お楽しみに。

それでは失礼します。

1253. Re: こんばんは、初めましてM.Kamada  2002年11月5日(火) 01:12

哲さん、こんにちは。はじめまして。

> とある人の名前を検索にかけたところこのページにたどり着きました。これから宜しくお願いします。

こちらこそ、よろしくお願いします。

誰の名前かな…?

> 2002年10月22日の虫食い算の解答プログラムを書いてみましたが、PentiumIIIの866MHzで5秒かかるので落第です。しかし折角なので公開します。

> http://hyper6.amuser-net.ne.jp/~hamayan/20021022.ub

> 積の候補90個についてそれぞれ素因数分解を施す手法です。解答は 81766*78517(=6420021022) と出ました。

正解です。

積を先に決めておいて素因数分解するというのは面白い手法だと

思います。

問題の桁数がもっと多くなると効果があるかも知れませんね。

この問題の場合は桁数がさほど多くなく、積の下位の数字が

わかっているので、乗数の候補を下位の数字から順に弾いてゆけば

少ないループ回数で解くことができます。

> 2002年10月13日の137桁の数の素因数分解についてですが、この数は 7174189082561 という素因数を持ちますので、これを除いた124桁の数の素因数分解を行えば良いことになります。が、現在PPMPQS法ではない手法で計算機に分解させているところです。結果は10日~2週間後に出る予定(停電などがなければ)です。結果が出たら詳細を報告しますので、お楽しみに。

わぉ。13桁の数で割り切れることを確認しました。

そして残った124桁の数は合成数。うーむ。

結果を楽しみにしております。

効率のよい素因数分解プログラムがありましたら是非教えてください。

1254.哲 2002年11月6日(水) 21:31

>>1

こんばんは。局所的ですがリプライします。

> 効率のよい素因数分解プログラムがありましたら是非教えてください。

PPMPQS法の実装として、mpqs4linuxというプログラムがあります。下記の場所から入手できます。

ftp://ftp.math.uni-bonn.de/people/franke/mpqs4linux/mpqs4linux-0.61.tgz

名前の通りで、どうやらLinux上でしか動かないみたいです。Cygwinでmakeしようとして失敗しました。もしCygwinで動かすことができたらその方法を是非教えてください。

ですが、おそらく一般公開されているPPMPQS法の実装としては世界最速でしょう。AthlonXPの1700+を1台だけ使って110桁の数を5日で分解することができました。

PPMPQS法は素因数分解しようとする合成数の大きさによって凡その計算所要時間が決まりますが、見つけようとする素因数の大きさによって所要時間の決まる手法もあります。

そのタイプのアルゴリズムで現在最も効率が良いとされているのがECMです。これの実装として、GMP-ECMというプログラムがあります。下記の場所から入手できます。

http://www.loria.fr/~zimmerma/records/ecmnet.html

これも一般公開された実装で世界最速でしょう。35桁程度までの素因数ならば速いパソコンで24時間ほど動かせば大抵見つかるとされています。

実はこのプログラムが (64*10^136+53)/9 (=c137)の13桁の素因数(p13)を見つけてくれました。もっとも

p13 - 1 = 2 * 2 * 2 * 2 * 2 * 2 * 5 * 307 * 1531 * 47699

なのでこの素因数ならp-1法でも見つけてくれそうですが。

なお、ECMであまり実験せずにc124(=c137/p13)を別プログラムにかけたものですから、今からGMP-ECMにc124をかければそのプログラムの計算が終了する前に新たな素因数が見つかる可能性があります。

ちなみに現在最も効率が良いとされている素因数分解アルゴリズムはこの中に記載されていません。それについてはまたの機会にすることにします。

それでは失礼します。

1255.M.Kamada  2002年11月7日(木) 01:29

>>2

哲さん、こんにちは。

プログラムのご紹介をありがとうございます。

> PPMPQS法の実装として、mpqs4linuxというプログラムがあります。下記の場所から入手できます。

> ftp://ftp.math.uni-bonn.de/people/franke/mpqs4linux/mpqs4linux-0.61.tgz

これは知りませんでした。

> 名前の通りで、どうやらLinux上でしか動かないみたいです。Cygwinでmakeしようとして失敗しました。もしCygwinで動かすことができたらその方法を是非教えてください。

gaspを呼び出すところでつっかえました。

うちのCygwinにはgaspが入っていないようです。何故かな…

動いたらご報告します。

> そのタイプのアルゴリズムで現在最も効率が良いとされているのがECMです。これの実装として、GMP-ECMというプログラムがあります。下記の場所から入手できます。

> http://www.loria.fr/~zimmerma/records/ecmnet.html

これは以前ダウンロードだけしてまだ試していませんでした。

> 実はこのプログラムが (64*10^136+53)/9 (=c137)の13桁の素因数(p13)を見つけてくれました。

さっそく試してみたところ、p13が14秒くらいで見つかりました。

これは速いかも。

ECMのパラメータの決め方を研究しなければ…。


1250. JavaScriptFukai  2002年10月30日(水) 23:38

たしかに酷いっす。>JAVAスクリプト

基本的に全角アルファベットはあんまり好みじゃないです。まあ好みの問題ですが。

ちなみにJavaScriptは「Javaが由来のスクリプト言語」ではなかったはずです。

C++を参考に作ったスクリプト言語で、最初の名前はLiveScriptだったと聞いたことがあります。

そんでJavaが世の中に出るのと同じ頃だったのと、C++を参考にしている点でJavaと一緒なので(?)、

便乗してJavaScriptという名前を付けたんだったような。

正確かどうかあやしいですが、大筋はあってるはずです。

1251. Re: JavaScriptM.Kamada  2002年10月31日(木) 01:09

Fukaiさん、こんにちは。

> ちなみにJavaScriptは「Javaが由来のスクリプト言語」ではなかったはずです。

あぅ、一語抜けていました。

「一応Javaが名前の由来のスクリプト言語」です。

ご指摘ありがとうございます。

http://e-words.jp/w/JavaScript.html

ここの「Java言語をベースに…」という記述もどうかと…。


1247. なんかとても懐かしいはんかつ 2002年10月23日(水) 20:44

シャープがガラス基板の上にZ80を作ったそうです。

http://pcweb.mycom.co.jp/news/2002/10/22/09.html

1248. Re: なんかとても懐かしいM.Kamada  2002年10月24日(木) 00:49

はんかつさん、こんにちは。

> シャープがガラス基板の上にZ80を作ったそうです。

> http://pcweb.mycom.co.jp/news/2002/10/22/09.html

あちこちで話題になっていますね。

本当に動いているのだということを示すためにMZ-80Cを実際に

動かして見せたというところが素晴らしいと思います。

見た目はレトロでも中身は最先端。

ふと、大学の学園祭を思い出してしまいました。

1249.高橋 2002年10月24日(木) 22:03

>>1

> シャープがガラス基板の上にZ80を作ったそうです。

なんというか、ロマンのようなものを感じます。いい話だぁ~。

> 本当に動いているのだということを示すためにMZ-80Cを実際に

> 動かして見せたというところが素晴らしいと思います。

確かに。ただ展示するだけじゃなくて、そこでゲーム動かしてみせるってのはステキですね。


1243. いまだに「ふ」リーズ・・・・すけ  2002年10月16日(水) 12:25

>いきなり数秒も動くのは凄いような。

>がんばってレリーズしてください。

モニタソフトは CQの「作りながら学ぶ68000」から パックンして

RS-232は、「OH!MZ 87/5」の記事をそのままパックンして

自分で書いた回路は アドレスデコーダと /TA遅延くらいですから

ほんとは、即・動作! っていきたいところですが…

しっかり、「フ」リーズ しております。

「レ」リーズするのは…いつになることやら…


1240. 最適化についてゆうき喬史 2002年10月15日(火) 17:38

僕がVC++6での最適化を諦めた理由

(CPU セレロン650MHz)

static int foo(char *p)

{

char *q;

q = p;

if ( *q++ != '{' ) {

return -1;

}

while ( 1 ) {

if ( *q == '\0' ) {

return -1;

}

if ( *q++ == '}' ) {

if ( *q != '}' ) {

break;

}

}

}

return q - p;

}

static int goo(char *p)

{

char *q;

q = p + 1;

while ( 1 ) {

if ( *q == '\0' ) {

return -1;

}

if ( *q++ == '}' ) {

if ( *q != '}' ) {

break;

}

}

}

return q - p;

}

int main(void)

{

int i;

char *p;

p = "{123456789012345678901234567890}";

for ( i = 0; i < 1000000; i++ ) {

foo( p );

goo( p );

}

return 0;

}

関数 ヒット

時間 % カウント 関数

----------------------------------------------

396.412 29.0 1000000 _foo (tst_test.obj)

494.316 36.2 1000000 _goo (tst_test.obj)

1241. Re: 最適化についてM.Kamada  2002年10月15日(火) 19:48

ゆうき喬史さん、こんにちは。

> 396.412 29.0 1000000 _foo (tst_test.obj)

> 494.316 36.2 1000000 _goo (tst_test.obj)

処理が少ない関数のほうが時間がかかっているということでしょうか。

どんなコードになっているのか見てみたいです。

1242.ゆうき喬史 2002年10月16日(水) 08:02

>>1

鎌田さん、こんにちは。

> > 396.412 29.0 1000000 _foo (tst_test.obj)

> > 494.316 36.2 1000000 _goo (tst_test.obj)

>

> 処理が少ない関数のほうが時間がかかっているということでしょうか。

そうなんです、プロファイルとって、100万回単位で呼ばれてる

処理があったので、少しでも短くしようと、if文を削除したら、

かえって遅くなってしまうという・・・

いったい俺にどうしろと。

> どんなコードになっているのか見てみたいです。

みるかぎり、おかしなことにはなってないんですが・・・

今度また該当部分のアセンブラコードをアップします。

ところで、gccでは、どんな結果になるんでしょうか。

1244.ゆうき喬史 2002年10月16日(水) 13:36

>>1

ども、ゆうき喬史です。

> どんなコードになっているのか見てみたいです。

以下、アセンブラソースです。

_foo  PROC NEAR

  mov edx, DWORD PTR _p$[esp-4]

  mov cl, BYTE PTR [edx]

  lea eax, DWORD PTR [edx+1]

  cmp cl, 123

  je SHORT $L65683

$L65720:

  or eax, -1

  ret 0

$L65683:

  mov cl, BYTE PTR [eax]

  test  cl, cl

  je SHORT $L65720

  inc eax

  cmp cl, 125

  jne SHORT $L65683

  cmp BYTE PTR [eax], 125

  je SHORT $L65683

  sub eax, edx

  ret 0

_foo  ENDP

_goo  PROC NEAR

  mov edx, DWORD PTR _p$[esp-4]

  lea eax, DWORD PTR [edx+1]

$L65694:

  mov cl, BYTE PTR [eax]

  test  cl, cl

  je SHORT $L65727

  inc eax

  cmp cl, 125

  jne SHORT $L65694

  cmp BYTE PTR [eax], 125

  jne SHORT $L65728

  jmp SHORT $L65694

$L65727:

  or eax, -1

  ret 0

$L65728:

  sub eax, edx

  ret 0

_goo  ENDP

遅い原因わかりました。

けど、どうしようもないというのもわかりました。

1245.M.Kamada  2002年10月17日(木) 00:50

>>2

> ところで、gccでは、どんな結果になるんでしょうか。

こうなりました。わりと普通ですね。

とりあえず、余分な分岐命令を実行する必要はなさそうです。

.align 4

.def _foo; .scl 3; .type 32; .endef

_foo:

movl 4(%esp),%ecx

leal 1(%ecx),%edx

cmpb $123,(%ecx)

je L4

movl $-1,%eax

ret

.align 4

L4:

cmpb $0,(%edx)

je L7

movb (%edx),%al

incl %edx

cmpb $125,%al

jne L4

cmpb $125,(%edx)

je L4

movl %edx,%eax

subl %ecx,%eax

ret

.align 4

L7:

movl $-1,%eax

ret

.align 4

.def _goo; .scl 3; .type 32; .endef

_goo:

movl 4(%esp),%ecx

leal 1(%ecx),%edx

.align 4

L13:

cmpb $0,(%edx)

je L16

movb (%edx),%al

incl %edx

cmpb $125,%al

jne L13

cmpb $125,(%edx)

je L13

movl %edx,%eax

subl %ecx,%eax

ret

.align 4

L16:

movl $-1,%eax

ret

1246.ゆうき喬史 2002年10月19日(土) 20:31

>>4

こんにちは、ゆうきです。

> > ところで、gccでは、どんな結果になるんでしょうか。

>

> こうなりました。わりと普通ですね。

> とりあえず、余分な分岐命令を実行する必要はなさそうです。

わざわざ、ありがとうございます。

やっぱり、gccだと普通になるんですね。

VC++6では、この他にも、命令削って遅くなったり、速度が

変わらなかったりがあって途方にくれてしまいました。


1238. ありがとうございますすけ  2002年10月14日(体育の日) 22:22

ども、すけです。

お騒がせしました…どーやら、「ハードが不安定」ということ

みたいです :<

その先もステップ動作させてみたら

「$FFF006A0番地のリード状態」

「$FFF006A4番地のリード状態」

「$FFF006A8番地のリード状態」

 …

と推移していきました…

『$FFF006A0 には、BRA命令があるんですが

BRA命令は実行されなかったものとみられます…』

「$FFF006A4 以降の内容は実行されているみたいです」

(外部回路のRS-232用クロックの分周がキチンと指定した分周比で

出力されるので…)

っで、「まあ動くからいいかぁ」と思って通常動作させてみたら…

電源オンから数秒でフリーズしました

もっともハードがめちゃ不安定ということですから…

すべては、しっかりハードが動いてから ということですね。

う~ん、はずかちぃ~。 (+o+)

1239. Re: ありがとうございますM.Kamada  2002年10月15日(火) 00:38

> 『$FFF006A0 には、BRA命令があるんですが

> BRA命令は実行されなかったものとみられます…』

> 「$FFF006A4 以降の内容は実行されているみたいです」

$06A0にジャンプしたのではなくてreadしただけでしたか。

ラインreadのような挙動にも見えますが、命令キャッシュが

OFFなのでそれはないはずですよね。

ジャンプ先が奇数ワードのときは1ワード手前からフェッチが

始まりますが、この場合は偶数ワードなのでその可能性もなし。

68040には分岐キャッシュはないし…

> っで、「まあ動くからいいかぁ」と思って通常動作させてみたら…

> 電源オンから数秒でフリーズしました

いきなり数秒も動くのは凄いような。

がんばってレリーズしてください。


1236. 予算0円なんすけど、教えていただけまふ?すけ  2002年10月14日(体育の日) 17:22

どうも、すけです。

ちょいと悩も事がありまして教えていただけると幸いです。

68040についてなんですが‥

FFF0001A:61 00 06 88 ・・・・

というコードで $06A4番地にジャンプすると思ってたら

$00007FC番地(スタック)に $FFF0001E を書き込んで

$06A0番地に飛びたがるんでス…

$0688+$1C→$06A4 だとおもっていましたが・・・・

こういうことってありえますか?

ハードが自作なので(って、cpu+sram+rom+μD8251 しかありませんが)・・・トンチンカンな質問かもしれませんが…

気が向いたら教えてください、

---------------------------------------------

(参考)

XC68040に4個のROMとRAMをつなげて…

RAM $00000000~$0001FFFF。

ROM $FFF00000~$FFF1FFFF。

ROM:(内容)

FFF00000:00 00 00 00 FF F0 00 08

FFF00008:20 7C 00 00 08 00 2E 48

FFF00010:70 00 4E 7B 08 01 4E 7B

FFF00018:00 02 61 00 06 88 ** **

********

(PRNファイル)

X68k High-speed Assembler v3.09+87 Copyright 1990-94/96-99 Y.Nakamura/M.Kamada

Oct/14/02 16:46:03

<68040.s>

1 00000000 ;*********** main **************

2 00000000 .CPU 68040

3 00000000 main:

4 00000000 4E71 nop

5 00000002 4E71 nop

6 00000004 4E71 nop

7 00000006 4E71 nop

8 00000008 207C00000800 move.l #$00000800,a0

9 0000000E 2E48 move.l a0,a7

10 00000010

11 00000010 7000 move.l #0,d0

12 00000012 4E7B0801 movec d0,VBR

13 00000016 4E7B0002 movec d0,CACR

14 0000001A

15 0000001A 61000688_000006A4 bsr vecinz

(以下略)

1237. Re: 予算0円なんすけど、教えていただけまふ?M.Kamada  2002年10月14日(体育の日) 21:24

すけさん、こんにちは

> FFF0001A:61 00 06 88 ・・・・

> というコードで $06A4番地にジャンプすると思ってたら

>

> $00007FC番地(スタック)に $FFF0001E を書き込んで

> $06A0番地に飛びたがるんでス…

>

> $0688+$1C→$06A4 だとおもっていましたが・・・・

> こういうことってありえますか?

ROMの内容に間違いがなければソフトウェア的にはあり得ません。

最初のwriteの直後というのが気がかりですが、ハードウェアは

安定しているのでしょうか。


1234. 「スタイルシートオン」について北村  2002年9月30日(月) 02:19

はじめまして。「俺ぽーたる」経由で9月26日の日記を拝見しました。

「スタイルシートオン」のスクリプトですが、ページで代替スタイルシートを用意している場合だと、もともとdisabled=trueである代替スタイルシートまでもが有効となってしまうので、表示が崩れる場合があるようです。と念のためご報告まで。

1235. Re: 「スタイルシートオン」についてM.Kamada  2002年9月30日(月) 11:16

北村さん、こんにちは。

> 「スタイルシートオン」のスクリプトですが、ページで代替スタイルシートを用意している場合だと、もともとdisabled=trueである代替スタイルシートまでもが有姑なってしまうので、表示が崩れる場合があるようです。と念のためご報告まで。

ご報告ありがとうございます。

少し改良してみました。


1232. Re: 対消滅KYOSKE 2002年9月20日(金) 20:45

もう少し詳しく書いた方が良かったかな。

1.既出を「がいしゅつ」と読んでいた。

2.2ちゃんねるで「がいしゅつって、既出のことですか?」という書きこみを見る。

3.既出の読み方を調べて見る。

4.「きしゅつ」が正しい読み方だった。(ガーーーーン)

というプロセスを経ています。(w

> 自分の読み方と他の人の読み方が違うときは、

> どちらが正しいか辞書で調べて確認しましょう。

> いつも他の人が正しいとは限りません。

ええ、何事も鵜呑みにせず、自分で調べて見ることは、

大切だと思います。


1230. 対消滅KYOSKE 2002年9月20日(金) 09:08

対消滅って、「ついしょうめつ」って読むんですね。

いままで、「たいしょうめつ」って読んでいました。

ひとつ賢くなりました。

ちなみに、「既出」、「巣窟」も2ちゃんねる見るまで、

正しく読めていなかった人です。(w

1231. Re: 対消滅M.Kamada  2002年9月20日(金) 09:57

KYOSKEさん、こんにちは。

> ちなみに、「既出」、「巣窟」も2ちゃんねる見るまで、

> 正しく読めていなかった人です。(w

自分の読み方と他の人の読み方が違うときは、

どちらが正しいか辞書で調べて確認しましょう。

いつも他の人が正しいとは限りません。

既出(きしゅつ)

巣窟(そうくつ)


1229. シルエットくいずザキ 2002年9月18日(水) 21:54

花びらの向こう側に虫がいる…

1233. Re: シルエットくいずM.Kamada  2002年9月23日(秋分の日) 15:35

ザキさん、こんにちは。

> 花びらの向こう側に虫がいる…

遅くなりましたが、正解を発表しました。

ザキさんの「花びら」と「虫」はあっていました。

虫の種類は正解者なしでした。


1227. 四角形の重心ザキ 2002年9月14日(土) 20:05

答えは…

サッパリ分かりません (/ρ\)

1228. Re: 四角形の重心M.Kamada  2002年9月14日(土) 21:42

ザキさん、こんにちは。

> 答えは…

> サッパリ分かりません (/ρ\)

ヒントを出しておきました。


1225. 虫食い算回答っ。つちや  2002年9月7日(土) 20:37

4005x5381=21550905 となりました。

    □□□5

   ×□□□1

   ─────

    □□□5

  □□□□□

 □□□□□

20025

────────

2□□□0905

 神のお告げで、ここまでを速攻で決めると、

一撃で被乗数が判明し、あとは埋めてゆくだけとあいなりました。

*解の一位が5のため、被乗数か乗数の一位のどちらかが5。

*筆算の一行め?が、4桁のため、乗数の一位が5ではやりにくい。

 ってな具合で。小学生的アプローチでなんとか。^^;

1226. Re: 虫食い算回答っ。M.Kamada  2002年9月8日(日) 17:57

つちやさん、こんにちは。

>  4005x5381=21550905 となりました。

せーかいです。

> *解の一位が5のため、被乗数か乗数の一位のどちらかが5。

> *筆算の一行め?が、4桁のため、乗数の一位が5ではやりにくい。

>

>  ってな具合で。小学生的アプローチでなんとか。^^;

清く正しい虫食い算の解き方だと思いマス。


1223. Re.答案すけ 2002年8月27日(火) 06:55

A(4n+3)=2+(-1/2)^(2n+1)

は。。。

A(4n+3)=2-(1/2)(-1/4)^n

でした・・・・

----------------------------------

2と、(-1/4)をながめていると

『統一』できそうなきがしてきたケド…


1222. 答案。すけ 2002年8月26日(月) 16:01

一般項A(n)は,n=0,1,2…として次の4式で表わされる。

A(4n) =2(1-(-1/4)^n)

A(4n+1)=2+(-1/4)^n

A(4n+2)=2

A(4n+3)=2+(-1/2)^(2n+1)

巧く、ひとつにまとめられそうであるが・・・・

← 前のページ | 1 | 16 17 18 19 20 21 22 23 24 25 26 | 28 | 次のページ →