Squares

General FreeBASIC programming questions.
Locked
albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Re: Squares

Post by albert »

I just wrote another song, Pearl Snap Studios is going to demo it next month..

[ genre = Pop Musical ]

[ Title = Dinner Time ]

[ entry music ]

it's , din din din , da din , da din , da da din , da da dinner time
it's , din din din , da din , da din , da da din , da da dinner time

call me to dinner , i go wash my hands , can't wait to see my plate
call me to dinner , anytime you want , just don't ever call me late

mom is the best , make a barbeque , she give me another plate
dinner time is , my favorite time , i eat all the food on my plate

called me to dinner , i washed my hands, now it's time to see my plate
dinner time is , my favorite time , i try not to ever be late

it's , din din din , da din , da din , da da din , da da dinner time
it's , din din din , da din , da din , da da din , da da dinner time

[ music ]

just a little prayer , before we sup , da da din , da da dinner time
got a burger and dog , on my plate , need a little more ketchup

mom is the best , make a barbeque , burgers and dogs on the grill
potato salad , and a little cole slaw , eat till i get my fill

sit right down , and it's dinner time , i see all the food on my plate
call me to dinner , anytime you want, just don't ever call me late

it's , din din din , da din , da din , da da din , da da dinner time
it's , din din din , da din , da din , da da din , da da dinner time

[ music ]

cold glass of milk , for dinner time , da da din , da da dinner time
you know that i love , a good barbeque , all the food tastes so fine

just a little prayer , and then we eat , da da din , da da dinner time
my mom makes , a good barbeque , and i know that it's quite a feat

back in the kitchen , mom's hard at work , putting the food on our plate
you know that i love , a good barbeque , eat all the food on my plate

it's , din din din , da din , da din , da da din , da da dinner time
it's , din din din , da din , da din , da da din , da da dinner time

[ music ]

it's , din din din , da din , da din , da da din , da da dinner time
it's , din din din , da din , da din , da da din , da da dinner time

[ exit music ]

albert_redditt@yahoo.com

Albert Redditt
315 W. Carrillo St. #104
Santa Barbara, Ca. 93101 U.S.A
albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Re: Squares

Post by albert »

@Richard
@Dodicat

I figured out how to be a billionaire....

You create a site like YouTube... "Maybe called "Upload"

The user creates a dir , and then can upload e-books , pdf's , picture, videos , texts , source codes , html , etc. into folders and sub-folders..

You Tube is only for videos, "Upload" would be for any type of data... audio , text , picts , etc...

Each item you select , would show a commercial first , before you can view or hear...

The advertisers would pay 1 penny for each commercial shown ,
the user would get 1/4 penny per view
the "Upload" would get 1/2 penny per view
and 1/4 penny per view would pay bandwidth.. or some thing like that.

Maybe the users would also pay a yearly fee to maintain their directory?
albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Re: Squares

Post by albert »

I ran into a problem with my "Time Rhyme" program..

I can't make any rhymes with 7 teens

The only thing that rhymes with 7 is heaven and leaven.

You can't have "Heaven 13"
The only thing that rhymes with 13 is flirting or squirting or spurting or dirting..

13,14,15,16, are hard to rhyme with..

7:17 is heaven , heaven teen
7:18 is heaven , mating
7:19 is heaven , fine teen
7:20 is heaven bunny , the 20's are easy

teens , forties and fifties are hard to rhymes with.

The only thing that rhymes with 40 , is shorty , sporty , maybe w#orey
The only thing that rhymes with 50 is nifty , lifty , shifty

???? I got to think it through some more , wrap my head around it , before i write the program...
albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Re: Squares

Post by albert »

Some off topic humor

After a 2:01 "Chew Yo Bun
You have a 4:35 "Sore Dirty Hive"

Report to the capt. for your 2:01

HAHA!!
albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Re: Squares

Post by albert »

@Dodicat

This one sometimes compress a little 2% - 3% after 40 loops...sometimes it expands...

Code: Select all


Declare Function   compress_loop( chrs as string ) as string
Declare Function decompress_loop( chrs as string ) as string


Namespace Zlibrary

#inclib "zlib"
Extern "C"
    Declare Function compressBound(Byval sourceLen As Ulong) As Ulong
    Declare Function uncompress(Byval dest As Ubyte Ptr, Byval destLen As Uinteger Ptr, Byval source As  Ubyte Ptr, Byval sourceLen As Ulong) As Long
    Declare Function compress(Byval dest As Ubyte Ptr, Byval destLen As Uinteger Ptr, Byval source As  Ubyte Ptr, Byval sourceLen As Ulong) As Long
End Extern

Function getpassedinfo(text As String,Byref passed_length As Integer) As String
    Dim As String var1,var2
    Dim As Integer pst
    #macro splice(stri,char,var1,var2)
    pst=Instr(stri,char)
    var1="":var2=""
    If pst<>0 Then
        var1=Mid(stri,1,pst-1)
        var2=Mid(stri,pst+1)
    Else
        var1=stri
    End If
    #endmacro
    splice(text,"|",var1,var2)
    text=var2
    passed_length=Valint(var1)
    Return text
End Function


'=================   UNPACK ===============
Function unpack(file As String) As String
    Dim As Integer passed_length
    Dim As String text=getpassedinfo(file,passed_length)
    Dim As Integer stringlength,destinationlength
    stringlength=Len(text)
    destinationlength =passed_length
    Dim As Ubyte Ptr source
    Dim As Ubyte Ptr  destination =Callocate(destinationlength,1)
    source=@text[0]
    Var mistake=uncompress(destination,@destinationlength, source, stringlength)
    If mistake<>0 Then Print "There was an error":Sleep:End
    Dim As String uncompressed
    uncompressed=String(destinationlength,0)
    For i As Integer = 0 To destinationlength- 1
        uncompressed[i]=(destination[i])
    Next
    Deallocate destination
    Return uncompressed
End Function

'===================  PACK ============
Function pack(file As String) As String
    Dim As String text=file
    Dim As Integer stringlength,destinationlength
    stringlength=Len(text)
    destinationlength = compressBound(stringlength)
    Dim As Ubyte Ptr source
    Dim As Ubyte Ptr destination =Callocate(destinationlength,1)
    source=@text[0]
    Var mistake=compress(destination, @destinationlength, source, stringlength)
    If mistake <>0 Then Print "There was an error"
    Dim As String compressed
    compressed=String(destinationlength,0)
    For n As Integer=0 To destinationlength-1
        compressed[n]=destination[n]
    Next n
    compressed=stringlength &"|"+compressed
    Deallocate destination
    Return compressed
End Function

End Namespace


'==================================================================
'==================================================================
'test zipper
'==================================================================
'==================================================================
screen 19

Dim Shared As String s

Randomize

s=""
dim as string check=""
dim as string compare=""
dim as longint length = 0
dim as double compression = 0
dim as longint loops = 0
do
   
    loops+=1
   
    'one time run , create initial string
    if loops = 1 then
        For n As Long = 1 To 10000
            s+=chr(Int(Rnd*256))'+48
        Next
        compare =  s
        length = len(s)
    else
        'modify compression to make further compression possible
       
        s = compress_loop(s)
       
    end if
    check = s
    compression = (100 - ( 100 / ( length / len(check) ) ))
   
    Print "original string"
    Print Len(s)
    Print
   
    Dim As String compressed=Zlibrary.pack(s)
    s = compressed
   
    Print "packed string "
    Print Len(compressed)
    Print
   
    Dim As String uncompressed=Zlibrary.unpack(compressed)
   
    Print "Retrieve"
    Print Len(uncompressed)
    Print
    'Print "compression ratio  "; 100 - ( 100 / ( Len(s) / len(compressed) ) ) ; "%"
    Print "compression ratio  "; 100 - ( 100 / ( length / len(s) ) ) ; "%"
    Print Iif(uncompressed=check,"OK","ERROR")
    Print "-------------------------------"
   
    'sleep 1000
   
    'if loops > 2 and (100 - ( 100 / ( length / len(s) ) )) < compression then exit do
   
    print "press a key for next compression." ; " loops = " ; loops ; " out of 40."
    print
    print "press esc to exit."
    sleep
   
    if inkey = chr(27) then exit do
   
loop until loops = 40

print "Press a key to decompress."
sleep

s = str(loops) + "_" + s ' save as an output file...

'==================================================================
'decompress
'==================================================================
dim as longint dec = instr(1,s,"_")
dim as longint count = val(left(s,dec-1))
dim as string comp = mid(s,dec+1)
dim as string val1
dim as string outs
for a as longint = count to 2 step -1
    s = Zlibrary.unpack(comp)
    outs = decompress_loop(s)
    comp = outs
next

comp = Zlibrary.unpack(comp)

print
print "input = "; length , "output = " ; len(comp) , "compression ratio  "; 100 - ( 100 / ( length / len(s) ) ) ; "%"
print
if comp = compare then print "Decompression successful." else print "ERROR"
print
Print "!!~~Done~~!!"

Sleep
end
'===============================================================================
'============================,===================================================
'begin functions
'===============================================================================
'================='==============================================================
Function compress_loop( chrs as string ) as string
    
    dim as string outs1=""
    dim as string outs2=""
    dim as string s1
    dim as ubyte ptr ubp = cptr(ubyte ptr,strptr(chrs))
    for a as longint = 1 to len(chrs) step 1
        
        s1 = hex( *ubp ) : ubp+=1
        
        if len(s1) = 2 then
            if left(s1,1) = right(s1,1) then outs1+="0" + left(s1,1) else outs1+=s1
        end if
        
        if len(s1) = 1 then outs2+=s1 : outs1+="1"
            
    next
    
    print "c inp = " ; len(outs1) ', outs1
    
    dim as string final=""
    for a as longint = 1 to len(outs1) step 2
        final+=chr(val("&H"+mid(outs1,a,2)))
    next
    final+="~"
    for a as longint = 1 to len(outs2) step 2
        final+=chr(val("&H"+mid(outs2,a,2)))
    next
    
    return final
    
end function
'===============================================================================
'============================================================================
Function decompress_loop( chrs as string ) as string
    
    return chrs

end function

albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Data Compression

Post by albert »

@Dodicat

This one compresses about 60% to 70% after 40 loops..

it takes the binary input and sets a toggle that flip-flops back and forth , 0 - 1

if toggle = n1 then which+="11" else which+=str(toggle)

if you run into a "11" , then the output bit is the toggle value , else the output bit is the opposite of the toggle.

Code: Select all


Declare Function   compress_loop( chrs as string ) as string
Declare Function decompress_loop( chrs as string ) as string


Namespace Zlibrary

#inclib "zlib"
Extern "C"
    Declare Function compressBound(Byval sourceLen As Ulong) As Ulong
    Declare Function uncompress(Byval dest As Ubyte Ptr, Byval destLen As Uinteger Ptr, Byval source As  Ubyte Ptr, Byval sourceLen As Ulong) As Long
    Declare Function compress(Byval dest As Ubyte Ptr, Byval destLen As Uinteger Ptr, Byval source As  Ubyte Ptr, Byval sourceLen As Ulong) As Long
End Extern

Function getpassedinfo(text As String,Byref passed_length As Integer) As String
    Dim As String var1,var2
    Dim As Integer pst
    #macro splice(stri,char,var1,var2)
    pst=Instr(stri,char)
    var1="":var2=""
    If pst<>0 Then
        var1=Mid(stri,1,pst-1)
        var2=Mid(stri,pst+1)
    Else
        var1=stri
    End If
    #endmacro
    splice(text,"|",var1,var2)
    text=var2
    passed_length=Valint(var1)
    Return text
End Function


'=================   UNPACK ===============
Function unpack(file As String) As String
    Dim As Integer passed_length
    Dim As String text=getpassedinfo(file,passed_length)
    Dim As Integer stringlength,destinationlength
    stringlength=Len(text)
    destinationlength =passed_length
    Dim As Ubyte Ptr source
    Dim As Ubyte Ptr  destination =Callocate(destinationlength,1)
    source=@text[0]
    Var mistake=uncompress(destination,@destinationlength, source, stringlength)
    If mistake<>0 Then Print "There was an error":Sleep:End
    Dim As String uncompressed
    uncompressed=String(destinationlength,0)
    For i As Integer = 0 To destinationlength- 1
        uncompressed[i]=(destination[i])
    Next
    Deallocate destination
    Return uncompressed
End Function

'===================  PACK ============
Function pack(file As String) As String
    Dim As String text=file
    Dim As Integer stringlength,destinationlength
    stringlength=Len(text)
    destinationlength = compressBound(stringlength)
    Dim As Ubyte Ptr source
    Dim As Ubyte Ptr destination =Callocate(destinationlength,1)
    source=@text[0]
    Var mistake=compress(destination, @destinationlength, source, stringlength)
    If mistake <>0 Then Print "There was an error"
    Dim As String compressed
    compressed=String(destinationlength,0)
    For n As Integer=0 To destinationlength-1
        compressed[n]=destination[n]
    Next n
    compressed=stringlength &"|"+compressed
    Deallocate destination
    Return compressed
End Function

End Namespace


'==================================================================
'==================================================================
'test zipper
'==================================================================
'==================================================================
screen 19

Dim Shared As String s

Randomize

s=""
dim as string check=""
dim as string compare=""
dim as longint length = 0
dim as double compression = 0
dim as longint loops = 0
do
   
    loops+=1
   
    'one time run , create initial string
    if loops = 1 then
        For n As Long = 1 To 10000
            s+=chr(Int(Rnd*256))'+48
        Next
        compare =  s
        length = len(s)
    else
        'modify compression to make further compression possible
       
        s = compress_loop(s)
       
    end if
    check = s
    compression = (100 - ( 100 / ( length / len(check) ) ))
   
    Print "original string"
    Print Len(s)
    Print
   
    Dim As String compressed=Zlibrary.pack(s)
    s = compressed
   
    Print "packed string "
    Print Len(compressed)
    Print
   
    Dim As String uncompressed=Zlibrary.unpack(compressed)
   
    Print "Retrieve"
    Print Len(uncompressed)
    Print
    'Print "compression ratio  "; 100 - ( 100 / ( Len(s) / len(compressed) ) ) ; "%"
    Print "compression ratio  "; 100 - ( 100 / ( length / len(s) ) ) ; "%"
    Print Iif(uncompressed=check,"OK","ERROR")
    Print "-------------------------------"
   
    'sleep 1000
   
    'if loops > 2 and (100 - ( 100 / ( length / len(s) ) )) < compression then exit do
   
    print "press a key for next compression." ; " loops = " ; loops ; " out of 40."
    print
    print "press esc to exit."
    sleep
   
    if inkey = chr(27) then exit do
   
loop until loops = 40

print "Press a key to decompress."
sleep

s = str(loops) + "_" + s ' save as an output file...

'==================================================================
'decompress
'==================================================================
dim as longint dec = instr(1,s,"_")
dim as longint count = val(left(s,dec-1))
dim as string comp = mid(s,dec+1)
dim as string val1
dim as string outs
for a as longint = count to 2 step -1
    s = Zlibrary.unpack(comp)
    outs = decompress_loop(s)
    comp = outs
next

comp = Zlibrary.unpack(comp)

print
print "input = "; length , "output = " ; len(comp) , "compression ratio  "; 100 - ( 100 / ( length / len(s) ) ) ; "%"
print
if comp = compare then print "Decompression successful." else print "ERROR"
print
Print "!!~~Done~~!!"

Sleep
end
'===============================================================================
'============================,===================================================
'begin functions
'===============================================================================
'================='==============================================================
Function compress_loop( chrs as string ) as string
    
    dim as string outs
    dim as string zeros=string(8,"0")
    dim as string s1
    dim as ubyte ptr ubp = cptr(ubyte ptr,strptr(chrs))
    for a as longint = 1 to len(chrs) step 1
        s1 = zeros + bin(*ubp) : ubp+=1
        outs+=right(s1,8)
    next

    print "c inp = " ; len(outs) ' , outs 
    
    dim as string which = ""
    dim as ubyte toggle = 0
    dim as ubyte n1
    for a as longint = 1 to len(outs) step 1
        
        n1 = val(mid(outs,a,1))
        
        if toggle = 0 then toggle = 1 else toggle = 0
        
        if toggle = n1 then which+="11" else which+=str(toggle)
        
    next
    
    print "c out = " ; len(which) ' , which
    
    dim as string final=""
    for a as longint = 1 to len(which) step 8
        final+=chr(val("&B"+mid(which,a,8)))
    next
    
    print "c fin = " ; len(final) ', final
    
    return final
    
end function
'===============================================================================
'============================================================================
Function decompress_loop( chrs as string ) as string
    
    return chrs

end function

Last edited by albert on Sep 27, 2019 22:36, edited 1 time in total.
MrSwiss
Posts: 3910
Joined: Jun 02, 2013 9:27
Location: Switzerland

Re: Squares

Post by MrSwiss »

@albert, please don't shout at us (all caps nonsense).
Secondly, it is IMO just daft, to overwrite a threads title, anyway.
albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Re: Squares

Post by albert »

@MrSwiss

I changed the title from all caps...

I still need to contemplate a de-compressor...
albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Data Compression

Post by albert »

@Dodicat

I ran into a problem trying to decompress , you can't tell a 1 11 from a 11 1

Here's another try..

outputs+=chr(place\2) compresses
outputs+=chr(place) doesn't ???

so ; some values in the dictionary , might not fall on a 2 digit boundary.???

Compresses 80% after 40 loops...

Code: Select all


Declare Function   compress_loop( chrs as string ) as string
Declare Function decompress_loop( chrs as string ) as string


Namespace Zlibrary

#inclib "zlib"
Extern "C"
    Declare Function compressBound(Byval sourceLen As Ulong) As Ulong
    Declare Function uncompress(Byval dest As Ubyte Ptr, Byval destLen As Uinteger Ptr, Byval source As  Ubyte Ptr, Byval sourceLen As Ulong) As Long
    Declare Function compress(Byval dest As Ubyte Ptr, Byval destLen As Uinteger Ptr, Byval source As  Ubyte Ptr, Byval sourceLen As Ulong) As Long
End Extern

Function getpassedinfo(text As String,Byref passed_length As Integer) As String
    Dim As String var1,var2
    Dim As Integer pst
    #macro splice(stri,char,var1,var2)
    pst=Instr(stri,char)
    var1="":var2=""
    If pst<>0 Then
        var1=Mid(stri,1,pst-1)
        var2=Mid(stri,pst+1)
    Else
        var1=stri
    End If
    #endmacro
    splice(text,"|",var1,var2)
    text=var2
    passed_length=Valint(var1)
    Return text
End Function


'=================   UNPACK ===============
Function unpack(file As String) As String
    Dim As Integer passed_length
    Dim As String text=getpassedinfo(file,passed_length)
    Dim As Integer stringlength,destinationlength
    stringlength=Len(text)
    destinationlength =passed_length
    Dim As Ubyte Ptr source
    Dim As Ubyte Ptr  destination =Callocate(destinationlength,1)
    source=@text[0]
    Var mistake=uncompress(destination,@destinationlength, source, stringlength)
    If mistake<>0 Then Print "There was an error":Sleep:End
    Dim As String uncompressed
    uncompressed=String(destinationlength,0)
    For i As Integer = 0 To destinationlength- 1
        uncompressed[i]=(destination[i])
    Next
    Deallocate destination
    Return uncompressed
End Function

'===================  PACK ============
Function pack(file As String) As String
    Dim As String text=file
    Dim As Integer stringlength,destinationlength
    stringlength=Len(text)
    destinationlength = compressBound(stringlength)
    Dim As Ubyte Ptr source
    Dim As Ubyte Ptr destination =Callocate(destinationlength,1)
    source=@text[0]
    Var mistake=compress(destination, @destinationlength, source, stringlength)
    If mistake <>0 Then Print "There was an error"
    Dim As String compressed
    compressed=String(destinationlength,0)
    For n As Integer=0 To destinationlength-1
        compressed[n]=destination[n]
    Next n
    compressed=stringlength &"|"+compressed
    Deallocate destination
    Return compressed
End Function

End Namespace


'==================================================================
'==================================================================
'test zipper
'==================================================================
'==================================================================
screen 19

Dim Shared As String s

Randomize

s=""
dim as string check=""
dim as string compare=""
dim as longint length = 0
dim as double compression = 0
dim as longint loops = 0
do
   
    loops+=1
   
    'one time run , create initial string
    if loops = 1 then
        For n As Long = 1 To 10000
            s+=chr(Int(Rnd*256))'+48
        Next
        compare =  s
        length = len(s)
    else
        'modify compression to make further compression possible
       
        s = compress_loop(s)
       
    end if
    check = s
    compression = (100 - ( 100 / ( length / len(check) ) ))
   
    Print "original string"
    Print Len(s)
    Print
   
    Dim As String compressed=Zlibrary.pack(s)
    s = compressed
   
    Print "packed string "
    Print Len(compressed)
    Print
   
    Dim As String uncompressed=Zlibrary.unpack(compressed)
   
    Print "Retrieve"
    Print Len(uncompressed)
    Print
    'Print "compression ratio  "; 100 - ( 100 / ( Len(s) / len(compressed) ) ) ; "%"
    Print "compression ratio  "; 100 - ( 100 / ( length / len(s) ) ) ; "%"
    Print Iif(uncompressed=check,"OK","ERROR")
    Print "-------------------------------"
   
    'sleep 1000
   
    'if loops > 2 and (100 - ( 100 / ( length / len(s) ) )) < compression then exit do
   
    print "press a key for next compression." ; " loops = " ; loops ; " out of 40."
    print
    print "press esc to exit."
    sleep
   
    if inkey = chr(27) then exit do
   
loop until loops = 40

print "Press a key to decompress."
sleep

s = str(loops) + "_" + s ' save as an output file...

'==================================================================
'decompress
'==================================================================
dim as longint dec = instr(1,s,"_")
dim as longint count = val(left(s,dec-1))
dim as string comp = mid(s,dec+1)
dim as string val1
dim as string outs
for a as longint = count to 2 step -1
    s = Zlibrary.unpack(comp)
    outs = decompress_loop(s)
    comp = outs
next

comp = Zlibrary.unpack(comp)

print
print "input = "; length , "output = " ; len(comp) , "compression ratio  "; 100 - ( 100 / ( length / len(s) ) ) ; "%"
print
if comp = compare then print "Decompression successful." else print "ERROR"
print
Print "!!~~Done~~!!"

Sleep
end
'===============================================================================
'============================,===================================================
'begin functions
'===============================================================================
'================='==============================================================
Function compress_loop( chrs as string ) as string
    
    dim as string outs
    dim as string zeros=string(8,"0")
    dim as string s1
    dim as ubyte ptr ubp = cptr(ubyte ptr,strptr(chrs))
    for a as longint = 1 to len(chrs) step 1
        s1 = zeros + bin(*ubp) : ubp+=1
        outs+=right(s1,8)
    next

    print "c inp = " ; len(outs) ' , outs 
    
    dim as string which = ""
    dim as ubyte n1
    for a as longint = 1 to len(outs) step 3
        n1 = val("&B"+mid(outs,a,3))
        which+=str(n1)
    next
    
    dim as string dict=""
    for a as longint = 1 to len(which) step 2
        s1 = mid(which,a,2)
        if instr(1,dict,s1) = 0 then dict+=s1
    next
    
    print"c dic = " ; len(dict) , len(dict) \ 2
    
    dim as string outputs=""
    dim as longint place
    for a as longint = 1 to len(which) step 2
        s1 = mid(which,a,2)
        place = instr(1,dict,s1)
        outputs+=chr(place\2)
    next
    
    print "c out = " ; len(outputs) ' , outputs
    
    dim as string final = ""
    
    final = dict + "END" + outputs
    
    print "c fin = " ; len(final) ', final
    
    return final
    
end function
'===============================================================================
'============================================================================
Function decompress_loop( chrs as string ) as string
    
    return chrs

end function

badidea
Posts: 2591
Joined: May 24, 2007 22:10
Location: The Netherlands

Re: Squares

Post by badidea »

Maybe you should read your last 100 posts and check for a pattern. You seem stuck in a loop.
fxm
Moderator
Posts: 12107
Joined: Apr 22, 2009 12:46
Location: Paris suburbs, FRANCE

Re: Squares

Post by fxm »

When pigs will fly, albert may find a de-compressor code that will recover information lost during compression!
Richard
Posts: 3096
Joined: Jan 15, 2007 20:44
Location: Australia

Re: Squares

Post by Richard »

fxm wrote:When pigs will fly, albert may find a de-compressor code that will recover information lost during compression!
GM pigs are possible. At about the time that pigs fly, Albert will realise the theoretical impossibility of finding a reversible data compression algorithm based on randomly selected hash functions.
albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Yah-Zip

Post by albert »

@Richard
@Dodicat

Finally got compression....

I'm going to call it Yah-Zip

It can compress a file , now I got to figure out , how to make it work on folders..

I can't post the code..It's proprietary , I think I'll sell it for $12.
badidea
Posts: 2591
Joined: May 24, 2007 22:10
Location: The Netherlands

Re: Squares

Post by badidea »

Awesome, finally done here with that stuff.
albert
Posts: 6000
Joined: Sep 28, 2006 2:41
Location: California, USA

Re: Squares

Post by albert »

@badidea

I emailed the Zlib guys , to see if i can sell it , with their Zlib.dll..

I'm waiting for a reply.

I might just be able , to sell my program , and have the people that buy it , download the free Zlib.dll to work with the program..
Locked