HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
1129
にゃん (投稿者削除)11未解決


にゃん

リンク

2013/11/29(Fri) 18:51:52|NO.58527

この記事は投稿者により削除されました。
2013/11/30(Sat) 14:21:50



この記事に返信する


check

リンク

2013/11/29(Fri) 19:06:09|NO.58530

削除されることを前提としたスレッドに情報を提供する気は起きないな。
質問スレッドは後で他の人が参考にできるように残しておけ、
と掲示板の使い方のページに書いてあるぞ。



名無し

リンク

2013/11/29(Fri) 19:18:53|NO.58531

それと、見た感じ、コメントが一切ない。
これじゃ意味を理解するのに時間がかかりすぎて、回答する気がなくなる。



Tetr@pod

リンク

2013/11/29(Fri) 19:21:40|NO.58532

>作ったのは僕じゃないので

では、作った方に見てもらえばよいのでは?



KA

リンク

2013/11/29(Fri) 21:26:58|NO.58536

自分なりに手を加えて修正できましたが、圧縮手法に独自性が有
るので「正しくはこう言う動作をする」という説明がないと、別
の方式になる可能性が有り、載せても良いのか躊躇しています。



cats

リンク

2013/11/29(Fri) 21:49:49|NO.58538

見てみましたがこの圧縮法はやめた方がいいです。
容量の小さいファイルはサイズが大きくなり、
容量の大きいファイルは圧縮に膨大な時間がかかります。(5分動かして1%)
圧縮の仕組みについて調べて、一から自分で作るべきだと思います。
スレッド削除されるなら詳しい事は書く必要がありませんが。



にゃん

リンク

2013/11/29(Fri) 22:35:51|NO.58539

すみませんでした。
正しくはファイルサイズがちいさくなるはずです。
KAさん、修正してくださったそのソースを教えてください!



check

リンク

2013/11/29(Fri) 22:45:54|NO.58540

どういう風なアルゴリズムを使って圧縮するかが重要なのではないか。
他人のソースを丸パクリして、それで意味が分かるのか?
KA氏は圧縮方法に独自性があると言っているぞ。

ファイルサイズが小さくなるのは、圧縮と言っているのでこちらも分かっている。
具体的な方法もしくは手順を示した上で再度質問するべきではないかと俺は思っているのだが。



掘木

リンク

2013/11/30(Sat) 01:53:17|NO.58542

試験運転してみた結果(まぁなんとなく予想してたけど)

圧縮前のファイルとして90,743 バイトのobjを使ってみた。
圧縮後らしきファイル→205,161 バイト(およそ2.1倍)
展開後らしきファイル→90,740 バイト(なんか3バイト減ってる)

3バイト減った分を無視して90,740バイト分の正誤チェックをしてみる
一致率:62274/90740(バイト) 68.62%

容量がどうのこうの以前に復元できない。こっちのが致命的だと思うんだ・・・。(68%も当たるのか。)



KA

リンク

2013/11/30(Sat) 05:26:19|NO.58543

>>修正してくださったそのソースを教えてください!

int(sqrt(ex))
を使っている所に着目して、先頭に

;このスクリプトは特定のデータ専用です。 ;一般のファイルでは使えません。
を追加すればうまくいくはずです。
(煽りではなくて解析した結果、最小限の修正方法です。)

がんばってください。



KA

リンク

2013/11/30(Sat) 15:57:00|NO.58546

ああ削除しちゃったか、せっかくだから解析結果だけ張っておこう

dim data,65535 dim rt,65535 ;√aの切り捨て dim remind,65535 ;aとの差 a=0 *main cls button "圧縮",*conpress button "解凍",*dispress button "終了",*owari stop *conpress cls dialog "*",16,"すべてのファイル" exist refstr if strsize=-1:mes "error":stop notesel sqrdata noteadd getpath(refstr,11) rep=strsize/4 ;必ず4の倍数らしい repeat rep ;圧縮は√aの整数部分と、それとaとの差を保存する bload refstr,data(cnt),65535,cnt*65535 ;なんだか変 if data(cnt)<0 { rt(cnt)=int(-sqrt(-data(cnt))) remind(cnt)=-data(cnt)-powf(rt(cnt),2) } if data(cnt)>0 { rt(cnt)=int( sqrt( data(cnt))) remind(cnt)= data(cnt)-powf(rt(cnt),2) } if data(cnt)=0 { rt(cnt)=0 remind(cnt)=0 } noteadd str(rt(cnt)),,0 noteadd str(remind(cnt)),,0 loop notesave getpath(refstr,1)+".sqr" noteunsel sqrdata=0 mes "圧縮しました。" button "OK",*main stop *dispress cls notesel sqrdata dialog "sqr",16,"sqr圧縮ファイル" if strsize=-1:mes "error":stop noteload refstr noteget filename bsave filename,a repeat (notemax-1)/2 ;解凍は√aの整数部分の自乗に、それとの差を合計する noteget srt,cnt*2+1 noteget sremind,cnt*2+2 rt(cnt)=int(srt) remind(cnt)=int(sremind) if rt(cnt)<0 : data(cnt)=-(powf(rt(cnt),2)+remind(cnt)) if rt(cnt)>0 : data(cnt)= (powf(rt(cnt),2)+remind(cnt)) if rt(cnt)=0 : data(cnt)=0 bsave filename,data(cnt),4,cnt*4 loop noteunsel sqrdata=0 mes "解凍しました。" button "OK",*main stop *owari end
実動作部分だけ抜き取り簡素化したが動作は未確認。
こうしてみると、変なところがすぐわかる。

手法自体に問題ないが圧縮方法というよりIshに近い気がする。
そうすると、これで有効に圧縮出来るのならデータも特殊であろう。



Garry050

リンク

2013/11/30(Sat) 22:51:05|NO.58547

何でスレッドを削除するんでしょうねぇ...



ONION software Copyright 1997-2021(c) All rights reserved.