Ich würde "fadd
p" benutzen, dann bleibt aufm FPU-Stack nachher nix über. Ich weiss nicht ob das schlimm wäre, aber folgende Variante verrichtet bei mir oft und gut ihre Arbeit:
Delphi-Quellcode:
function VectorLength(
const v:
array of single ):single;
asm
fld dword ptr [eax]
fmul st(0), st(0)
fld dword ptr [eax+4]
fmul st(0), st(0)
fld dword ptr [eax+8]
fmul st(0), st(0)
faddp
faddp
fsqrt
fstp result;
end;
Und du hast die Zuweisung an Result vergessen
.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel