![]() |
SUM-Funktion mag kein dynamisches array
Hallo,
würde gerne die SUM-Funktion oder eine vergleichbare (Mean, StdDev) mit einem dynamischen array verwenden. Das motzt der Compiler aber an, will nur statische arrays. Gibt es Alternativen? Kann ja nur mit der Art der Speicherzuweisung zu tun haben, den auch mit einem statischen array weiß die Funktion ja noch nicht, wie groß das array ist. Ich würde aber gerne aus Geschwindigkeitsgründen die Assembler-Routinen nutzen. Grüße, Messie |
Re: SUM-Funktion mag kein dynamisches array
Hallo messie,
zumindest in D7 geht das problemlos:
Delphi-Quellcode:
Grüße vom marabu
var
da: array of double; d: double; i: integer; begin SetLength(da, 6); for i := Low(da) to High(da) do da[i] := i * 123.3; d := Sum(da); ShowMessage(FloatToStr(d)); end; |
Re: SUM-Funktion mag kein dynamisches array
[OT]gibt es eine solche funktion wie Sum() eigentlich auch mit der funktionalität von Min() oder Max()?[/OT]
|
Re: SUM-Funktion mag kein dynamisches array
Zitat:
Danke, Messie @ BlackJack: Bei D6 heißen die MinValue und MAxValue, auch in math.pas |
Re: SUM-Funktion mag kein dynamisches array
Hallo messie,
so gerne ich dir helfe, aber den Quelltext einer Borland-Unit weitergeben darf ich nicht. Für zero knowledge Ansätze stehe ich gerne zur Verfügung: Die Implementierung umfasst 27 Instruktionen. marabu |
Re: SUM-Funktion mag kein dynamisches array
Ja, bei mir waren es auch 27. Danach habe ich Dein Beispiel nochmal 1:1 ausprobiert in einem neuen Programm.
Ich habe das Problem beheben können: ein Bug in der Compiler-Fehlermeldung! Ich hatte nicht gesehen, daß ich ein ein array of real hatte und auch Deinen Quelltext damit benutzt. Meldung: Zitat:
Danke, Messie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz