flat assembler
Message board for the users of flat assembler.
Index
> Projects and Ideas > Subtraction technique [DONE] |
Author |
|
Madis731 27 May 2007, 22:35
This program takes input in rows and columns as decimals 0..9 and organises the data so that most typical values gather at the top-left and most untypical values bottom-right. The numbers in the headers of the resulting rows/columns are their original position in the data and the numbers in the footer are the conformism values at the time of being "thrown out" of the calculations.
Detailed usage: You can write your input text in the textbox or into a file Alt+I or "Intput" checkbox toggles that. Filenames can be relative or absolute You can see the output in the other textbox or put it into a file with Alt+O toggling the choice. Alt+S will start the program (performance is poor about O(n²). Alt+E will exit. Processing time shows the time it took in milliseconds. Examples from performance on Core 2 T7200 @ 2GHz: Code: 200x200 => 31ms 250x250 => 63ms 300x300 => 94ms 350x350 =>187ms This isn't exactly nxn, but a bit less. When increasing data size 1.5 times, it will take 2 times longer or something O(n^1,5) maybe Don't know if it has a better name in English, but that's what it was called in school: "Miinustehnika" Implementation in ASM 64-bit source+executable 32-bit source+executable Test data generator in FASM macrolanguage (64 one is about 10% faster than 32)
Last edited by Madis731 on 28 May 2007, 13:43; edited 1 time in total |
|||||||||||||||||||||
27 May 2007, 22:35 |
|
vid 27 May 2007, 23:25
just wondering: what's it good for?
|
|||
27 May 2007, 23:25 |
|
LocoDelAssembly 27 May 2007, 23:38
Preparing for Huffman encoding?
|
|||
27 May 2007, 23:38 |
|
shoorick 29 May 2007, 08:24
just running exe i supposed there buttons should be somewhere below my screen
(i use 800x600 resolution - i hope it is valid ) |
|||
29 May 2007, 08:24 |
|
Madis731 29 May 2007, 12:38
Damn, I'm really sorry - I was just thinking that my 1280x800 res laptop is the lowest you can get and thought that it would run no prob. on 1024x768 too. There is a really simple fix for this:
Around lines 760-766 (depending on source 32/64) change the upper-left to some other point on screen: dialog main_dlg,"Subtraction technique",7,7,390,375,WS_CAPTION+WS_POPUP+WS_SYSMENU+DS_MODALFRAME I put 7,7 there because I don't like it at the very corner |
|||
29 May 2007, 12:38 |
|
shoorick 29 May 2007, 13:01
thnx there is nothing esspecial here in real: more and more of new application can not reduce their windows to fit into less then 1024x768, forcing users sell their aquariums and buy TFT, but i prefer low resolution even on TFT as more soft for eyes (usage of high resolution with large fonts brings other kind of problems with some software )
---- in real you change left upper corner position, but i need smaller size i had try to modify dialog, but failed to compile: fasm says "Out of memory" (even fasmw on original M..Eng32.asm) (maybe because of national labels ??? ) here my variant of dialog (modify labels and "01010" text to get it proper if you wish to try)
|
|||||||||||
29 May 2007, 13:01 |
|
Madis731 30 May 2007, 07:21
Well its not about labels, but should be called "BAD PROGRAMMING" I've allocated rb 1 shl buffersize so when buffersize is 27 then about 131MB will be allocated and FASM needs all that space at the compile-time. In case there is other stuff at the end...
My compiler setup says 524288 in the memory inputbox I've done some very resolution-independent apps in MenuetOS, but in Windows they're making it so hard to do :S I'll have to catch the resize event and then calculate everything based on DPI ^o) or sth. The project is in "good enough" status. |
|||
30 May 2007, 07:21 |
|
shoorick 30 May 2007, 17:06
now clear, thanx
|
|||
30 May 2007, 17:06 |
|
vid 30 May 2007, 17:22
Quote: My compiler setup says 524288 in the memory inputbox |
|||
30 May 2007, 17:22 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.