Browse Source

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

git-svn-id: trunk@10811 -
Jonas Maebe 17 years ago
parent
commit
ef0290a797
1 changed files with 12 additions and 12 deletions
  1. 12 12
      rtl/inc/mmatimp.inc

+ 12 - 12
rtl/inc/mmatimp.inc

@@ -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;