# 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.