Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision Last revision Both sides next revision | ||
insensatus [2013/03/19 12:54] zashi created |
insensatus [2013/03/21 18:49] zashi [Insensatus] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Insensatus ====== | ||
+ | Insensatus is the codename for the irrational compression algorithm. Insensatus is a compression algorithm that matches the nigh-random byte strings of well compressed data to subsections of irrational numbers. | ||
+ | |||
+ | The core idea is that irrational numbers are actually random and given enough time and computational power all strings can be represented with 3 numbers: the base, number we're taking the squareroot of; the offset, where to start looking in the number; and the length, how many digits/characters to use from the irrational number. | ||
+ | |||
+ | The trick is to find these numbers for a string and have the total space required to store the numbers be less than the total space of the string being compressed. | ||
+ | |||
+ | ===== Implementation/Design Challenges ===== | ||
+ | |||
+ | The C language's doubles are not large nor precise enough to actually do the calculations required, plus I need to convert from base-10 to base-256. Thus I decided to write my own base-256 library. |