* fixed Matrix * Vector (patch by Bartosz Bogacz, mantis #11199)

git-svn-id: trunk@10811 -
This commit is contained in:
Jonas Maebe 2008-04-26 21:44:05 +00:00
parent 3e9110531f
commit ef0290a797

View File

@ -733,23 +733,23 @@ operator * (const m:objectname;const v:vectorcompanion) result:vectorcompanion;
begin
result.data[0]:=m.data[0,0]*v.data[0]
+m.data[1,0]*v.data[1]
{$if matsize>=3}+m.data[2,0]*v.data[2]{$endif}
{$if matsize>=4}+m.data[3,0]*v.data[3]{$endif};
result.data[1]:=m.data[0,1]*v.data[0]
+m.data[0,1]*v.data[1]
{$if matsize>=3}+m.data[0,2]*v.data[2]{$endif}
{$if matsize>=4}+m.data[0,3]*v.data[3]{$endif};
result.data[1]:=m.data[1,0]*v.data[0]
+m.data[1,1]*v.data[1]
{$if matsize>=3}+m.data[2,1]*v.data[2]{$endif}
{$if matsize>=4}+m.data[3,1]*v.data[3]{$endif};
{$if matsize>=3}+m.data[1,2]*v.data[2]{$endif}
{$if matsize>=4}+m.data[1,3]*v.data[3]{$endif};
{$if matsize>=3}
result.data[2]:=m.data[0,2]*v.data[0]
+m.data[1,2]*v.data[1]
result.data[2]:=m.data[2,0]*v.data[0]
+m.data[2,1]*v.data[1]
+m.data[2,2]*v.data[2]
{$if matsize>=4}+m.data[3,2]*v.data[3]{$endif};
{$if matsize>=4}+m.data[2,3]*v.data[3]{$endif};
{$endif}
{$if matsize>=4}
result.data[3]:=m.data[0,3]*v.data[0]
+m.data[1,3]*v.data[1]
+m.data[2,3]*v.data[2]
result.data[3]:=m.data[3,0]*v.data[0]
+m.data[3,1]*v.data[1]
+m.data[3,2]*v.data[2]
+m.data[3,3]*v.data[3];
{$endif}
end;