diff options
author | Aleksey Veresov <aleksey@veresov.pro> | 2020-10-18 00:12:29 +0300 |
---|---|---|
committer | Aleksey Veresov <aleksey@veresov.pro> | 2020-10-18 00:12:29 +0300 |
commit | 12fc566d92d9ebd0bf065d82be5c24a3b5fb600a (patch) | |
tree | 33be31264c79d3b42c2922b2886238840888827d /main.sts | |
parent | 63031492030d11225ab946747ab7dd5c449aedc5 (diff) | |
download | cryptrobber-12fc566d92d9ebd0bf065d82be5c24a3b5fb600a.tar cryptrobber-12fc566d92d9ebd0bf065d82be5c24a3b5fb600a.tar.xz cryptrobber-12fc566d92d9ebd0bf065d82be5c24a3b5fb600a.zip |
It's time to debug.
Diffstat (limited to 'main.sts')
-rw-r--r-- | main.sts | 20 |
1 files changed, 11 insertions, 9 deletions
@@ -1,26 +1,28 @@ module ia32/elf/begin.sts +module ia32/float/float.sts module cipher.sts module keygen.sts +module freq.sts [ sd 0 swap drop ] defword nicedist - 1 float_iload 8 float_iload float_div + 1 float_iload 4 float_iload float_div exit -defword calcdist +defword calcdist ; distance from ideal as sqrt sum square diff top 1a - as calcdist.textfr local calcdist.fr 0 do dup 1a = until dup word_size mul as calcdist.i calcdist.i calcdist.fr + @ float_fload - calcdist.i calcdost.textfr + @ float_fload + calcdist.i calcdist.textfr + @ float_fload float_sub float_fstore dup float_fload float_fload - float_mul float_fstore calcdist.t calcdist.fr + ! - od drop - 0 as calcdist.i do calcdist.i 19 = until - float_fload float_fload float_add float_fstore - calcdist.i 1 + as calcdist.i od + float_mul float_fstore calcdist.i calcdist.fr + ! + 1 + od drop + 0 do dup 19 = until + swap float_fload swap float_fload float_add float_fstore swap + 1 + od drop float_fload float_sqrt nicedist float_less exit @@ -52,7 +54,7 @@ checktext.count 0 = if dup word_size mul checktext.fr + dup @ float_iload checktext.count float_iload float_div float_fstore swap ! - od drop + 1 + od drop ; Decide if text is real: freq_eng calcdist if 1 else 0 fi |