Forum: Algorithmen, Datenstrukturen und Klassendesign
by Möbius,
10. Nov 2021
Hallo Michael
Erst mal Danke für die guten Tipps.
Mein Kompressor-Projekt ist sehr sehr weit fortgeschrtten und kommt auf dem Calgary Corpus, Canterbury Corpus und Large Corpus mittlerweile an die Besten PPM (Prediction by Partial Matching) Kompressoren ran. Zeitlich sowieso, Zahlenmässig nah dran.
Also Artikel zur Huffman Komprimierung nützen mir nicht viel - diese ist Standard in meinen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Möbius,
28. Okt 2021
Ui ui das wollte ich nicht.
Ich habe wohl meinen Code für die WalshHadamard-Transformation zu frühr veröffentlicht.
Wie ich schon gesagt habe "soll das ganze Copy" gar nichts. war rein der Entwicklung/Beobachtung geschuldet.
Ich stelle Euch folgenden Code zur Verfügung:
type
PDatas = ^TDatas;
TDatas = array of UInt8;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Möbius,
28. Okt 2021
Schön wenn es jemandem hilft.
Übrigens mein Code funktioniert auch in Place. D.h. die Copy kann man sich schenken. Hab's nur zum experimentieren drin gelassen.
Diese TIdatas ist übrigens ein Integer Array.
Wenn Du dies auf Audio anwendest dürften die Werte zwischendrin relativ hoch werden.
Ich hab das auch beobachtet.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Möbius,
27. Okt 2021
Guten Tag zusammen
Also ich hab mal ein bisschen die Bücher gewälzt und so. Bin hier auf eine alternative orthogonale Transformation gestossen.
Die Walsh-Hadamard Transformation. Die funktioniert bestens mit Integer Werten.
Hier der Code falls das ma jemand brauchen könnte:
class procedure AClass.WalshHadamardTransform(var Data: TIDatas);
var
i, j, n, m, x, y: UInt64;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Möbius,
27. Okt 2021
@Freimatz
Nein das ist schon richtig so, Dynamische Arrays sind bei Delphi immer 0 basiert. D.h. Low(Array) und 0 sind äquivalent.
Vielen Dank für's optimieren, aber das Problem sind effekvtiv immer noch die 2 geschachtelten Schleifen. Ich rauch es aber sowieso Byte(Integer).
Eben wegen dieser "Sachlage". Ich arbeite schon einige Zeit an einem völlig neuartigen Kompressor und der hat...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Möbius,
25. Okt 2021
Ja könnte natürlich auch sein.
Hier die Übersetzungen (non integer):
class procedure TCompressOSCT.DCT(const Input: TFloat64Array; out Output: TFloat64Array); //1 double DCT (double g) { // forward DCT on signal g
var
M, mCnt, uCnt: Int64;
s, cm, sums, Phi: Float64;
begin
M := Length(Input); //2 int M = g.length;
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Möbius,
22. Okt 2021
Ja sicher gerne
Natürlich mit Google.
Dabei bin ich auf einige Bücher gestossen welche ich z.T. bestellt habe.
-> Besslich diskrete Orthogonaltransformationen.
-> K. R. Rao Fast Fourier Transform: Algorithms and Applications.
Das Problem bei den Büchern ist, dass sie sehr viel mathematischen Background enthalten aber wenn es um Integer Implementationen geht dann wird nur kurz von...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Möbius,
21. Okt 2021
Hi TiGü
Ganz herzlichen Dank.
Nach sowas habe ich tagelang gesucht.
Reto
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Möbius,
17. Okt 2021
Guten Tag Forenteilnehmer
Dies ist mein erster Beitrag in diesem Forum überhaupt und ich begrüsse Euch herzlich. Ehrlich gesagt mein erster Forenversuch überhaupt.https://www.delphipraxis.net/images/smilies/icon_cool.gif
Das Forum ist gut und hat mir schon viel geholfen. Hoffentlich kann ich anderen auch mal helfen.
Das Problem. Ich bin am Verzweifeln. Schon drei (unbrauchbare) Bücher...