今日のテーマ   日々改造 (^_^;)         
[記事リスト(ツリー表示)]  [ 返信 ]   [新着記事] [最新50] [ワード検索] [過去ログ]

タイトル Re: 十分割ジャンプ、1/1000 にしてみたら
投稿日: 2020/11/09(月) 20:15
投稿者konno
 番 号 9910    9906 番 konno さんへのコメント

> 先に除算することで、&Id の限界をギリギリまで使えると考えました。
> これで試したところではオリジナルVZで、3,276,798 までのロング除算が出来るようです。

すみません、嘘を書いていました。m(__)m
実際の計算は、1/10 ではなく、1/100 でやっていました。

>	i10, &Id(pr,10*i) &Im(pr,n*i)	; 1/10と1/100 共用のため

1/10 の計算だと、327,678 を超えると暴走します。

それで閃いたんですが、だったら、1/1000 なら、32M まで出来るのでは?
で、やってみたら、出来ました。\(^^)/ ヤッタ-

xxxxxxxx.x01   11,375,571  のファイルで正常に動作しているように見える
xxxxxxxx.x00   11,734,237  手持ちの最大のファイルで動作不定

11.7M のファイルは私の環境ではVZの編集限界を超えているようなので
他の問題で動作不定になっている可能性もあります。
少なくとも、11.3M までは正常動作するので、実用上無制限と言えそうです。

試しに乗算を先にしてどうなるか見てみました。

    &Im(pr,n*i)					;ロング乗算 * 100〜900
    &Id(pr,10*i)				;ロング除算  1/1000

これだと、11.3M のファイルで、30% までは正常で、40% 以上で動作不定になりました。
11.3M * 400倍でロング乗算がオーバーフローしたようです。
やっぱり先に除算することで、&Id の制限を含めて最大限に使えるようです。
1/1000 固定だと小さいファイルでうまく動かないのでサイズで倍率を変えます。

修正したH岡さんのマクロを再掲します。


=== JUMP_10.def === m(_H_)m
* M
89^\"きっちり十分割ジャンプ:巨大ファイル対応版"
    ?.
    mx+, &g("Jump n/10") mx-, n=r, (n<0||n>10)?.;0≦n≦10
    &s #_ #> &Le(pr,wa+82) 			;wa+82 + cp-2 = ファイルサイズ
    &Ia(pr,cp-2)        			;ロング加算 wa+82=head lptr
    ax=pr..0,dx=pr..1,i100,(dx==0&&ax<$7000)?i1, ;ファイルサイズで倍率調整
;    &d &m("%x %x %d",ax,dx,i) .		;dx確認用
    &Id(pr,10*i)				;ロング除算 ★先に除算 1/1000
    &Im(pr,n*i)					;ロング乗算
    &Sp(pf,"%s ->%lx",wa+146,pr..0,pr..1)       ;pf=拡張タグ情報
    dn[-, #O #e #m dn], ky1,                    ;カーソル行=画面上端+1行
    &d &m("Jump to %d/10",n) &d #] &b(2)
;    &d &m("%x %x %d",ax,dx,i) .		;dx確認用
*


    - No.9910 一括表示へ   -   コメント元:9906 一括表示へ  -    [ 返信 ]    [引用無し] pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
 十分割ジャンプマクロの更新 - konno 20/10/21-22:51
  ┣9870.Re: 十分割ジャンプマクロの更新 - としき 20/10/29-19:28
  ┣9873.Re^2: 十分割ジャンプマクロの更新 - めざら 20/11/01-18:53
  ┣9878.Re^3: 十分割ジャンプマクロの更新 - konno 20/11/03-01:42
  ┗9879.Re^4: 十分割ジャンプマクロの更新 - めざら 20/11/03-07:36
   ┗9886.Re^5: 十分割ジャンプマクロの更新 - konno 20/11/04-00:57
    ┗9895.Re^6: 十分割ジャンプマクロの更新 - めざら 20/11/06-22:26
     ┗9896.Re^7: 十分割ジャンプ、ロング計算マクロ - konno 20/11/07-00:46
      ┗9898.Re^8: 十分割ジャンプ、ロング計算マクロ - めざら 20/11/07-08:58
       ┣9902.Re^9: 十分割ジャンプ、ロング計算マクロ - konno 20/11/07-20:56
       ┗9906.十分割ジャンプの完成形のヒントは原点にあった - konno 20/11/08-15:56
        ┗9910.Re: 十分割ジャンプ、1/1000 にしてみたら - konno 20/11/09-20:15
  ┗9881.Re^3: 十分割ジャンプマクロの更新 - としき 20/11/03-13:21
   ┗9885.Re^4: 十分割ジャンプマクロの更新 - めざら 20/11/03-16:05
    ┗9890.Re^5: 十分割ジャンプマクロの更新 - としき 20/11/04-23:29
     ┗9892.Re^6: 十分割ジャンプマクロの更新 - めざら 20/11/06-07:06
      ┗9894.Re^7: 十分割ジャンプマクロの更新 - としき 20/11/06-19:44
       ┗9899.Re^8: 十分割ジャンプマクロの更新 - めざら 20/11/07-09:19
        ┣9901.Re^9: 十分割ジャンプマクロの更新 - としき 20/11/07-11:35
  ┗9876.Re^2: 十分割ジャンプマクロの更新 - konno 20/11/03-01:12
   ┗9882.Re^3: 十分割ジャンプマクロの更新 - としき 20/11/03-13:21
    ┗9891.Re^4: 十分割ジャンプマクロに適した式は? - konno 20/11/06-00:07
     ┗9893.Re^5: 十分割ジャンプマクロに適した式は? - としき 20/11/06-19:44
      ┗9897.Re^6: 十分割ジャンプマクロに適した式は? - konno 20/11/07-01:12
       ┗9900.Re^7: 十分割ジャンプマクロに適した式は? - としき 20/11/07-11:35
        ┗9903.Re^8: 十分割ジャンプマクロに適した式は? - としき 20/11/07-22:46
         ┣9904.Re^9: 十分割ジャンプマクロに適した式は? - konno 20/11/07-23:14
         ┗9908.Re^10: 十分割ジャンプマクロに適した式は? - としき 20/11/08-23:59
          ┗9909.Re^11: 十分割ジャンプマクロに適した式は? - konno 20/11/09-01:41
           ┗9921.Re^12: 十分割ジャンプマクロに適した式は? - としき 20/11/19-23:15
            ┗9923.Re^13: それぞれの事情 - konno 20/11/20-00:12
             ┗9925.Re^14: それぞれの事情 - としき 20/11/20-01:06
              ┗9926.Re^15: それぞれの事情 - konno 20/11/22-23:48
         ┗9905.Re^9: 十分割ジャンプマクロに適した式は? - めざら 20/11/07-23:40
  ┗9907.十分割ジャンプマクロ JUMP10.def Ver0.4 - konno 20/11/08-16:04
  ┗9911.十分割ジャンプ JUMP10.def Ver0.5 - konno 20/11/09-21:15

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)   [引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表、プログラム) ※折り返さずに改行を入れてね
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]