Übergabe von 2D-Const Array's, aber wie ?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut

Übergabe von 2D-Const Array's, aber wie ?

Beitragvon corpsman » 30. Mai 2019, 08:11 Übergabe von 2D-Const Array's, aber wie ?

Servus miteinander,

ich portiere mir gerade einige Python routinen nach Pascal und stehe nun vor folgendem Problem:

Code: Alles auswählen
 
Type
  TDoubleArray = Array Of Double;
  numpy = record
    fContent: Array Of TDoubleArray;
  End;
 
Function toNumpy(data: Array Of Double): numpy;
Var
  j: Integer;
Begin
  setlength(result.fContent, length(data), 1);
  For j := 0 To high(data) Do Begin
    result.fContent[j, 0] := data[j];
  End;
End;
 
Function toNumpy2(data: Array Of TDoubleArray): numpy;
Var
  i, j: Integer;
Begin
  setlength(result.fContent, length(data), length(data[0]));
  For j := 0 To high(data) Do Begin
    For i := 0 To high(data[0]) Do Begin
      result.fContent[j, i] := data[j, i];
    End;
  End;
End
 

Das compiliert, aber wie schreibe ich aufruf von Numpy2 ?

Code: Alles auswählen
 
  a := toNumpy([1.0, 2.0]);
  b := toNumpy2([[2.0, 4.0, 6.0], [3.0, 5.0, 7.0]]);   // -- Hier kriege ich einen Compilerfehler
 
--
Just try it
corpsman
 
Beiträge: 1087
Registriert: 28. Feb 2009, 08:54
Wohnort: Stuttgart
OS, Lazarus, FPC: Linux Mint Mate, Lazarus SVN Trunk, FPC 3.0 | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 30. Mai 2019, 14:23 Re: Übergabe von 2D-Const Array's, aber wie ?

Du solltest die Variable array of array als Datentyp definieren, dann sollte es gehen.
Zuletzt geändert von pluto am 30. Mai 2019, 14:43, insgesamt 2-mal geändert.
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7028
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon pluto » 30. Mai 2019, 14:43 Re: Übergabe von 2D-Const Array's, aber wie ?

Ich habe es eben getestet, bei mir klappt es nur es gibt Warnungen bei setlength
unit1.pas(36,19) Warning: Function result variable of a managed type does not seem to be initialized
habe dein Code 1 zu 1 übernommen. A und B habe ich beide als numpy definiert.

Aber es kommt keine Fehler Meldung.
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7028
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

• Themenende •

Zurück zu Freepascal



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried