Hi, ich stehe for einem großen Problem und hoffe es gibt da eine Lösung. Ich will einen 2D Rauchalgorithmus, welcher
recht komplex ist, nach Java portieren. Die Makros von C konnte ich bis jetzt ohne Probleme in Java-Funktionen umwandeln oder gegebenfalls ersetzen. Nun stehe ich vor dem Problem, dass es ein Makro gibt, welches 2 Pointer vertauscht. Aber wie kann ich das in Java umsetzen ?
Hier das C-Makro:
#define SWAP(x0,x) {float * tmp=x0;x0=x;x=tmp;}
meine Lösung dazu sieht bis jetzt so aus:
Hier muss davon ausgegangen werden, dass die Arrays gleich groß sind.
Außerdem ist diese Lösung viiiel zu langsam, da Tausende Partikel berechnet werden müssen.
Gibt es da irgendwelche schnelleren Möglichkeiten oder Alternativen ? Ich kann auch die gesamte
Struktur umstricken, hauptsache ich bekomme dieses vertauschen hin
recht komplex ist, nach Java portieren. Die Makros von C konnte ich bis jetzt ohne Probleme in Java-Funktionen umwandeln oder gegebenfalls ersetzen. Nun stehe ich vor dem Problem, dass es ein Makro gibt, welches 2 Pointer vertauscht. Aber wie kann ich das in Java umsetzen ?
Hier das C-Makro:
#define SWAP(x0,x) {float * tmp=x0;x0=x;x=tmp;}
meine Lösung dazu sieht bis jetzt so aus:
Code:
public void SWAP(float[] x0, float[] x)
{
float temp;
for (int i=0; i < x0.length; i++)
{
temp = x0[i];
x0[i] = x[i];
x[i] = temp;
}
}
Hier muss davon ausgegangen werden, dass die Arrays gleich groß sind.
Außerdem ist diese Lösung viiiel zu langsam, da Tausende Partikel berechnet werden müssen.
Gibt es da irgendwelche schnelleren Möglichkeiten oder Alternativen ? Ich kann auch die gesamte
Struktur umstricken, hauptsache ich bekomme dieses vertauschen hin