Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Infinite Compression techniques

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-09 9:48

I present a system which would be capable of unlimited compression of any data.
Theory:
Every number can be mapped 1:1 to positive unsigned integer(representing the number itself)
Every integer can be represented as range of floating point numbers
i.e. 3 is range from 3.000... to 3.999...
Now if we multiply the original number by 10: 3*10=30
the range is also multiplied, 30.000... to 39.999... all of these numbers divided by 10 give 3 as integer.
Suppose we can alter original number by shifting the range up or down by supplying an extra factor
3+1 or 3-1, with these 3.000...-3.999... ranges become 4.000...-4.999.. and 2.000...-2.999... respectively
The compression is as follows. The original number is multiplied by a huge scale to create number
which is at least twice longer in file length, giving very large floating point range.
Now we multiply this range by adding a 64bit scale modifier(applied to original number) which shifts the range up and down so the space of the range is now 2^64 times bigger than original.
The compression is search for Any number in that huge range which can be represented more compactly
when one of these is found(for some function like e^A) A is recorded along with scale modifier.
Since the range is enormous there are certainly some numbers which can be represented in short form as
function(x)=number_in_range.
The decoding is as follows,function(x) is runs and results number is divided by scale, then a scale modifier is applied
to get the original number, which is converted to file.

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-10 7:05

>>38
openfile(name)
split file into 1023byte chunks
generate max S(Scalemod_max) which is about 500 bytes in length. 2^m
for each chunk{creat buf=1024 bytes
buf[0]='0x01' to prevent leading null byte
add chunk to buf
convert buf-> integerX
X-S= low bound 
X+S =High bound
multiply both bounds by K= 2^65535
search numbers inside new bounds
which Res= (1+(1e-100))^y= between low and hi
record y, divide Res/K=D,
record difference between X and D as  Scalemod(Scalemod<S (max)),
write result as chunk into new file, repeat next chunk
}

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List