From: <par...@us...> - 2010-05-18 04:49:50
|
Revision: 7319 http://octave.svn.sourceforge.net/octave/?rev=7319&view=rev Author: paramaniac Date: 2010-05-18 04:49:43 +0000 (Tue, 18 May 2010) Log Message: ----------- quaternion_oo: add some more operators Modified Paths: -------------- trunk/octave-forge/extra/quaternion_oo/INDEX Added Paths: ----------- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/ldivide.m trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/mpower.m trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/power.m trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/rdivide.m Modified: trunk/octave-forge/extra/quaternion_oo/INDEX =================================================================== --- trunk/octave-forge/extra/quaternion_oo/INDEX 2010-05-17 18:17:46 UTC (rev 7318) +++ trunk/octave-forge/extra/quaternion_oo/INDEX 2010-05-18 04:49:43 UTC (rev 7319) @@ -11,8 +11,12 @@ @quaternion/times @quaternion/mtimes @quaternion/inv + @quaternion/rdivide + @quaternion/ldivide + @quaternion/mrdivide @quaternion/mldivide - @quaternion/mrdivide + @quaternion/power + @quaternion/mpower @quaternion/transpose @quaternion/ctranspose @quaternion/horzcat Added: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/ldivide.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/ldivide.m (rev 0) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/ldivide.m 2010-05-18 04:49:43 UTC (rev 7319) @@ -0,0 +1,28 @@ +## Copyright (C) 2010 Lukas F. Reichlin +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## Element-wise left division for quaternions. Used by Octave for "q1 .\ q2" + +## Author: Lukas Reichlin <luk...@gm...> +## Created: May 2010 +## Version: 0.1 + + +function q = ldivide (a, b) + + q = a.^-1 .* b; + +endfunction \ No newline at end of file Added: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/mpower.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/mpower.m (rev 0) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/mpower.m 2010-05-18 04:49:43 UTC (rev 7319) @@ -0,0 +1,9 @@ +function a = mpower (a, b) + + if (b == -1 && isa (a, "quaternion") && isscalar (a.w)) + a = inv (a); + else + error ("quaternion: mpower: case not implemeted"); + endif + +endfunction \ No newline at end of file Added: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/power.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/power.m (rev 0) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/power.m 2010-05-18 04:49:43 UTC (rev 7319) @@ -0,0 +1,9 @@ +function a = power (a, b) + + if (b == -1 && isa (a, "quaternion") && isscalar (a.w)) + a = inv (a); + else + error ("quaternion: power: case not implemeted"); + endif + +endfunction \ No newline at end of file Added: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/rdivide.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/rdivide.m (rev 0) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/rdivide.m 2010-05-18 04:49:43 UTC (rev 7319) @@ -0,0 +1,28 @@ +## Copyright (C) 2010 Lukas F. Reichlin +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## Element-wise right division for quaternions. Used by Octave for "q1 ./ q2" + +## Author: Lukas Reichlin <luk...@gm...> +## Created: May 2010 +## Version: 0.1 + + +function q = rdivide (a, b) + + q = a .* b.^-1; + +endfunction \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |