Hi:
for some time I kept wondering why reading/writing integers
in compressed form has been dropped from BlackBox. Remember
those wonderful procedures Files.ReadNum and Files.WriteNum?
They can store small integer numbers on fewer bytes than 4.
In my applications I am dealing with arrays of integers that are strongly
correlated, in the sense that differences between consequtive numbers
are much smaller than the numbers themselves. I thus developed the
following module, and I have used it a lot.
Comments welcome.
Wojtek
StdCoder.Decode ..,, ..YM0...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
7.2.s,Me9,0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O
NbXmb.2.wyYk2krH0,6.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.nA76.C
cIhgsNHT9N9ntQ8qorG4704D.CbB,708T1U.kF90T.rg62.,.ND,cU.ktAcoZimBhWhiohgnZc
ZRCY.2.w22U.EBU.U,U.I3tfj1.0E65.g0AU0KyBU.2.e22.e,2.AU.Ue.4.072Uu.9.1sAE1k
.Kn.kek.i3Y.IU0KyBU.2.850E.c4E.k.0.e06.2UwK.s0k1E,m.0E6k.e1w.AU2V.g.IU4.,,
3.w2IU2U.o,IU1U.o0QU0KyBU.2.02,.e,0E.k.0.eWM2y,.,6YU02.A4QU0.Z,5.0E3E08Mtr
.0E.6n6.c46.,Uz1,c8m5E.m9M00.H,5.Q3Q.E2k,.F,5.A1.o5Q.6.B.5.0ERk,U.w,.I4Q.6
.k,U.I,YU8U.g2.Q3.w..22Q.k6k08Mtr.0E.6d6.c4E.k.Ue.8.0t.U32.Q1.0k6k,.B.5.0E
66.9M,E8k,.Z.1sA6.D.1c71.HE.AUiV.o,YULU.Q3AUvU.2,AU6V.wPIUBU.2M0E18Mtr.2.S
00E.c46.,kzV.c8U.E.0t.U8U5Ikmj,6.A46.I12U.szE.I3k.E6V.I5oU2U.2,cUZT1E..UOU
.2.yD2Ue.0.,6YUv.N2Bs,s,B,B6,60R,,cKM.N0,60,U,g6M16,h.,Msc.D.,cNc,3.DM3M.1
.,60E9E.G04.wUI.3.i.W.M21U4I.wUKU,AU.6.,M,,U6g02Um4.2C0UBU2g,2UpB.WEDE.SE.
M.f7.sc,.N0,60,U,240UBU2Y,2UQA.Wk8E.Wm.M.v,q.8k4E.Sl.M.9,u.8E5E.8o.M.L0,M1
c.P.,M51U,I5M1c.R.4o.szPuH7OJNOF,7KHPM1eQZPMnvQr76Fd8J765uPVPSZPOD9Od96FtM
H76leQ1PS,NGRvQdfQfPP9fP4KuaqruKE4otCrrCqo4KuKqt0mManQWHK4nQanQuGEemIqEIeG
EWmlaWLpZHRhpZhnRhd3YlAbt25MC,tQLPREUWro4KLCqrqKE4HNumM0HL4nQaHQemIq.J76d8
OHvQ,dNH9P9967PNBPORPNb96196NvPjP9NPNhPNN96FPOb9RTvNZPMP96FNMR96T9Q9fP,NMZ
fQ1HEyKn0mouKuKqnKKtCrI0m44KrGKE4KEm4.Cqu8LvKKEWmk..UGhc,Zdd2YVphY3Yo3hZ3Y
j3iZJiVZidxByKr0GlyKuWKK0m4CruCKo0mkCLECLuyadphb3YoxhUYgdRif3YVphYdQ9PM7PO
RvN,dM1vMLf9,N1d8O9vQ9967PMdPM,7Rn9Q9vQ,tQ9fQhPN4qt0mkIYo3hdphW2YdpB8Ln4ql
KKE8qmGrvKqmuKESKt4KsWqoCqkmKEKrtKKt0mo.k444Cqr8rm0mqyKmKLqKqt0GuWqkGLECqk
uKryKu0muCbUwgmBAsQR76JN8qkYqIcyIdGJECJuyaZRiv2YBQcDpdHZeU2YB2YUgdjZgCBghh
gUgbUIYMBhVB6sQ3tC,76,dI99P9PMbPN,ND,lMuGM0GVmqkCqp8orWLFin4ak2WGJ0muCrmYi
chgnlouKEaIrGrmohVZhdJjZxZ33johgmpBEEGrr0mouKmaql4KuKKESLoaqlWKEaKrGLE4Kt8
5,tQdvP2YkJijRgZZgpJiZ3YrBgn3YpRiZZgUIZdgV7Yhjxi1xhh3imhgnRie2Yx2YlQbU2hdx
gcRcjhhk,ENin4Gpg0pWqEE0GIeGE8Iq44,dET9S,NORnmS4,7Rn9Q9XVJiZ3YYBhapgZJiZph
o3YaJijhhUwdWhgmxhi3YHBjnZiZhhUIZdgVU22Adi,4HJ0mS0mdWob8JeCIY4IdiHEaIrG5Ia
e2Yx22kYuIeiHEaIr.dd8,ND,NGR8J9uF9eIr76,d8H,ZOEZfQIZUg5VuHHeHdOFZ86duH,NEZ
eI1OK,tHB86ZOFQbB2YUAd,Jim,...kYuIew6gVKBcGhVU2YYxhihgeIbUIcDxdAhc,pdvgVU2
YZJimJZu2Y,JeGVqYaUwd43Y13d,l4qk2ak2WWecI9PM796dN93PSdPN,NOR9Rkt0mouKECqrq
KsUZZgUogjJihBgoZZUgV7AV7AVjJidxgdphVZhUQgjZgZ3YaJijVHpZBxB,dMn96Fe9PuP9vQ
bPNRfMTPN5vORFJM0H6IZuH5OF7OJZOF,dI9PMaIrGrVeGEWGf4Id0GdeHECJuy4bf9ZON1nm8
rR0mbKJe0GweHEaIbsFAZvgV7AV7oe,JeUohuAdCZe3Vv2YnJbUAdC,sMFfC,tIFuHQ6k2Ic3x
c7pdU2YBA,CLEenS0GMiHEuKEenS008JL8pm4aHRccBgm3Yc2YX3hdQbU2YU2YBA,SJYaIaKIE
yIdGIICKoaGEunS0mM2bUYcDhV7AV7AV7pd13ZiZZUAcH3dcwdGZ6kK0mM8Xg2YnBZdQbUAdCR
ccQig2YrAZv2YGp3..gV7AV7gcCZcvgV7A,l96pND,dP,t8,NEb8G.2YBxd23YqYaUgZUwdG,Y
c7peUoao2Ye2YqYag2Yn76,76PU3FE8pm4a7VvgVBA,W0CJuEEGnK84...Z1G4.k2akrUi,...
.cP..V0.jeQH9R9PGR9R5e8.Z0ktwemBhodQrFweHE.A3EfEr.sCC5.sM..EV.PM0Hkf.F7S,7
D,N9h7BH76TeI,78l96x76htAH767uHPk2ak28JLSJta4buEFPM66b8GTWc2Y13dG3Zs3YBxd2
NAZ7C,t8,NAZ7CHN8HtC,N1HM0aEwUs3Y2BdKNAZ7CPM0HkWsCEd...sEFeI.kI66,N1HkW66j
eQHX7VvEIeGEqmKqmK0GE0mU8Lt4aUocdZhZNGTtH,NRdPONPOdPS,7QZ1kt0GEqmKqWhEEe0P
68Jd8GJoKKECqrqam,71EEaqt0mr0LuaqqaKxKKm0Gn66b9RTnokt0rk8rtKKEa4EE4Ktkt0m4
SroGLo0mq4KraLEerm8rrCLEWmq4KrMNP9QdHECqmmKqCrImGE0mtaKrCqm0mmq4.0mk8rmohj
ZiUwimBBdPNR96dvP,7Nc9,N1jOON9P,tRTfQL963PNb9R,dNTXoxijhZYBhhhgiRidxhiBgg3
YcVjlkQig2Yr3hdVoBjkBhXBggZht3YcBgqhgUghVpB..R76P6Jaqt0GnyKtq4EryKuYichgUI
gZVjphZ3Yaxhm3YjphZhZYBhh3YcBhnZCUiIZdgVB2YU23Jlf8roggUAgi32KKrAcGlgwd4NG.
,7RT12YpRidphb3YDJgZFr0m40GE0rr8Lu4Klmqm0GrKrqKKtaql4Kq0GnyahFL0GhKKtyKECq
mm4,,UrVoFLemIqUEJeD,sIdXZBdiZi,JimlVyqq05EJ0GIO383Unp3MNZXVJimJbUAd,JCAZv
gVU2Yc66d9O9Hu8roCqpeHECLuEE0rkaKtCLR0mh2ZYBha763PNd1cP7XZRidYZUQAffPdvQve
9,d8226NHfN2hVRiUQihBggZhZJiUIiVphbhgUYC1fPOrkmquKqt0GugghRiZZhqhgnZZU2hZp
hX763HuGrm8LECqrcQMOTfPJVUcJ1eIqEE2YUAhg2YghgiZZUQgmRgu2Y7,QbB22,llGrtmGE0
LtKKvaIrGKK0Gs8558RbfC,NG.Ic3x6qEE0mYOIE4Kt2Yx2YCBdA3YI3d3pdUg,cIRtJZ1HePW
GMamR0WcI3196bPORvNNPN,7A,NP9PMRvQ,dHH8HJN8PU3ZdHhcB2YU22NPN0GRqXAhcC3ZVJi
mpfdQbU2Y,ReHhcGZeU2ZghgidD,7AN76Z7AHtCP66cI.EEmqmAZvgVUUkJCa2,dCvlK4nRqEE
.Q60GRqXkM1,,5fQ0GR.EXyId0mo0GRqHE2YIxdUYhZphUgZUAaUYcD76,VUsMd1AgmJiPBhRR
bUgVU220W7p659RbnF0GM0GeW2.,,HeH586FtMZvMN7659RamRqk223,dNTfQ,dM91.Z1HvP0m
tG50GmkmklKqtmGEuqrGbqBggVeAZB22222ZecIRtJUiVcAhh2imhgqB7amIiHE0Gdu0.2YcQg
oRiUgZU2imhA58RamIc8HN1EEkf85kVWGdmGEWmo.H066jeQ.2YGZZUsM22U1lIM1EEEs.0GRs
MdvQrN1,76222CA700aqR0m4UUMFR8Fr76Fd8,tMdHEC0emI..ocDJ8JN8aEIeWhBgmRhUggiZ
ghwhahZYBgoBA1fP7HuKqtGLEogUQgjphnBhnZiZphXBjUIZd6668JFd.EIM9XN8r760Gd..CK
tAZU2Ye.w8.5Gd66P,w8..512YB229eH.1fQ0moCLEUCBdA,K4,dCvFF8mR0GmyKr2Yug5deIf
OFPMFR8FCJukYMEkV.bnmQbB22P66WWecI661fP,tP6610..,dNZvPYgdRCRFdKKuKLtuKEKqo
GLoKKt0mk0GrKqv0mk8bV79,tPZ96ROGNe9JN8PUcUIVX,UUUhFEEu66TfP9nl8rm4KuKKm0Gl
abHZC.kV.ELemI2eGx7.NuP19NHePdPE..I3F,83b0CbGNMKavcJ1eI4KtI5H0A3oe,J8PUU2Y
d,m0I5kXsC0WU6NHfNaIrY37POQco79C4plY.cE.8JL83a2FFqM866HWghgi3Yx2Yk22.MMZfQ
,,ROGNO1,7698HUUcH9uJ,781fQZ99,7P9nIUUsMdHEe1VtC,7NHfNa2,dCUd3YukK665fQ596
6Aq.Ie33e3BcIhV7AVcEm.ABGqoMNUUEuS5QgcBgiphZZhUAhiZgdRA0GIGLoaqt0mku4VfQAh
jhinBZeAZB2222FFE8ZG,2YcYgdlYM8r76J,668pm.586FdIN7NHfN.P.0W7p67POUUobU2aUY
8gVU6600F,.22kVM8r76,d8.,,Z0sE..g,0WUUd3Yuko0mJ0Gma4HWv2YU2YU22W0RPNl9R,NO
RnmWLJa066sM22QAQZUYAQ6iHE0GEW0UqBAIZdg,66MGR069C4Hl400004od.aKEu1V79,NAVN
AHtC,NEbuI.mHEm4NFN0Xv2YB.,,HeFWmo0GTkI0GH0GIaaw.H76d8G9GE4KtQ90GRq12Y3pd2
hVU220W3,MJR8JH8H,7NHX7FEqHE0mK4nRq.9eHin40WcEd.66U1lI2YU.8pm.50..P66a2716
65ll8bUYe6h6q.,lm85c6NuP19NMEkVEt.,N9,tMZvMGrmC5BPMH9P99NR763tCP660WYxBI5O
oUmodK2KIa.,lm.8GF6N.G32YUgcCN19eH7Gayqk...Q5P66,78eWL,,Fr00MEMK,tH.66d1Cb
U.D96ZPNDPRNPMZ96PM0TeM9fQuakxhm,AB.BvPUrBho3BVPMZ9RHPMN965nq.HvPuGJa0y2UH
,HGu.JFIO383b0CbL,ZXVFRA7kIUKVB.H99EKQAe1.r,,FskVGbu..3066HWVFEqXC7H,,.8JL
S3Adi780nIiXU23,NM,tQ6P24P1Ue.98HUU6P2YuEa.u3,lU.YBo5m0k4UG,.m4HtCP.0Lt.,d
C2av2YXJC,dCk4U4Vd3266duHEEq0.22HeH.Nlk8bPlIin4UU688JLSJt.MMZ10mK0Gs.a0J,6
6S3U133Agm,..0m4aEIeWaFEEu665nqICAhj76UUEngAktcPcRkt.22V1GbUUVdQM1,76g6i1c
I.uac668bdEI2YohAwBcPa4EE.9eH22Agm76HXiVC,MNcCI2YA.d0K2CJukYMEkRqk40GEWWec
I4aU.kUkg..,dNEmQCR,d1ABkkoBUV79y4c966UIVaxBP1HXo3By4CaZ,..UiIZdgVEtH.m2.c
8.ZWH,bHdAA9nRo8AAeX7,a0o8g,MOUg.p,w6iXU66GqosEY3cC.EV.0GduGdkY68m4HVUMGYB
0mS24W2.1XUUCl4MFN022R0EKYBa02259R000nR0000M1EX.EEw766P,.00WWGdI91Ema4M8I3
UUUGhgV,586..P.00C4,,51L,B1i166R1.J,66MG.mWXlI.0044rWUI5k40GEMFM1Edu0UUsMA
3,760WUMGBmlGbUQ266d0.,lm.8Ga.422Yh2YXtMGrmEn.UUUU6NT1pV4,U3Z7.,lm.8GF6N.G
32YUkWuYB229eHg6Y7.kRg,,78eW1ZhjphZRiUAA,,A6..oZUIeZ,uoY2YdpgUod7lruKEaKr0
ruGLLemIkb.QcgxBaIr.e0BfQTXcIZdpheAZUIbUAd,,r76hOEYCWGJyquGLJaGEe1UUAZvg,O
3aKR0mYu2sC82EEa2BfQMD,dH6J.0WoxhUIbxcHQbUIe3ZeJJeChVU2Y3Z7EEo7WGuyKK0GaKI
bogmxBxO8HtC66O2.V,moWu2UUg3X,UU6RipoqJEe1BfQ2YPBhRh,MFQ5gcC,K4EF.22Y8MFsE
NvPA7.rN12YcUrJidlt...830GuyKEGan76JN803.C3IeZBggBcmJCe0h0ZWH,bnfUmlkcC8pU
8bVN8EfkoMG.0GqKau2Y7p7UB.66HWVFEqXCFE.UGpZL,HWc6A22FFE4KEC5EMgB.e0,lWmodU
U6P2YuEakkcL660WG,.m4H,cF.24dWgFEq0.22Z0cI9XU2ZUAA0mhaqiam40GEMF.9eHUZVuEF
EmEEEe.sIEdkUUvM10GII3ZmkQiUAgi,A6..BfQ6Nc96RsQ,NNH9R.R1MMm0UUIZd6Iy2UAVGh
gVZBEJ.83b0CbGNMK4O344pFdkkA3cJMOA7w622I5.g,.8ZGV7FIUdEEA7m4,ND01F0UVFEEbM
1gcA,0WCFEUg.H,0W4,EMsHEEq0.22Ze9EdK4,,2YP,kW.KIb.91pVWUY,6J.Y7.10iXB66F,5
0C5R1ME..R76ZONEEEEa4kr..w7.508pm.I3O423.8pU8bVtC,,G5F,..,VBEfkoMG..kYcNkS
.d0EEYCe1RWvUI,gcA,0WCFI.cNcLa022B0Uk.N0.,,.22dnhERcN66rWB.90MFR0gAUW.666J
.Q6TXG,kRqU0hc5,,NNIbxIYWQbU.pNDBOENuIgcCFgaqk.bf9PM1PcUXDJ9X1xhiZimxhgZhZ
JinpZHZC58RZ9P7ONbvM,Mw2D.UiQcjpho,YcZRiX3.5uPAgdFt.85...CLL.U2V.IS2U.UIU.
U76.,6.,..1cUXDJcIf9P9fQbf9bWGhigFWE.4Te.sQRdIf9P9HWE.8z,E.0.LJ.w.0kF3.,6.
CcI7S.bf9bWHZitZhZZcZRC,Mw.ELMSN12Umz.,U..2,I9,U.E,5D.oZ,ZCIA6FQg.6,6..UYU
.AU.6.0.0nMfZ.E.SoA5UTyB,M.M.6.,U0KyB6.2..c4E.k.Ue2U5Bn,6.,E.0t.U..61lbAUw
ApPt0lLU8ssH2f1dvQRtET1.UE2.0..606.k22.0TAPbUKjN8Utj00MyfUkZnf76xfX0.n70..
.
--- end of encoding ---
Received on Fri Feb 26 1999 - 03:30:29 UTC