From: <par...@us...> - 2012-09-01 16:25:39
|
Revision: 10937 http://octave.svn.sourceforge.net/octave/?rev=10937&view=rev Author: paramaniac Date: 2012-09-01 16:25:33 +0000 (Sat, 01 Sep 2012) Log Message: ----------- quaternion: style fixes Modified Paths: -------------- trunk/octave-forge/main/quaternion/inst/@quaternion/eq.m trunk/octave-forge/main/quaternion/inst/@quaternion/minus.m trunk/octave-forge/main/quaternion/inst/@quaternion/mrdivide.m trunk/octave-forge/main/quaternion/inst/@quaternion/mtimes.m trunk/octave-forge/main/quaternion/inst/@quaternion/plus.m trunk/octave-forge/main/quaternion/inst/@quaternion/power.m trunk/octave-forge/main/quaternion/inst/@quaternion/rdivide.m trunk/octave-forge/main/quaternion/inst/@quaternion/times.m trunk/octave-forge/main/quaternion/inst/@quaternion/uminus.m trunk/octave-forge/main/quaternion/inst/@quaternion/uplus.m Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/eq.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/eq.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/eq.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2010 Lukas F. Reichlin +## Copyright (C) 2010, 2012 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 @@ -18,17 +18,16 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.1 +## Version: 0.2 function flg = eq (a, b) - if (! isa (a, "quaternion")) - a = quaternion (a); + if (nargin != 2) + error ("quaternion: eq: this is a binary operator"); endif - if (! isa (b, "quaternion")) - b = quaternion (b); - endif + a = quaternion (a); + b = quaternion (b); flg = (a.w == b.w) && (a.x == b.x) && (a.y == b.y) && (a.z == a.z); Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/minus.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/minus.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/minus.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2010 Lukas F. Reichlin +## Copyright (C) 2010, 2012 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 @@ -18,21 +18,22 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.1 +## Version: 0.2 -function a = minus (a, b) +function q = minus (a, b) - if (! isa (a, "quaternion")) - a = quaternion (a); + if (nargin != 2) + error ("quaternion: minus: this is a binary operator"); endif - if (! isa (b, "quaternion")) - b = quaternion (b); - endif + a = quaternion (a); + b = quaternion (b); - a.w = a.w - b.w; - a.x = a.x - b.x; - a.y = a.y - b.y; - a.z = a.z - b.z; + w = a.w - b.w; + x = a.x - b.x; + y = a.y - b.y; + z = a.z - b.z; + q = quaternion (w, x, y, z); + endfunction Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/mrdivide.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/mrdivide.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/mrdivide.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2010 Lukas F. Reichlin +## Copyright (C) 2010, 2012 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 @@ -18,10 +18,14 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.1 +## Version: 0.2 function q = mrdivide (a, b) + if (nargin != 2) + error ("quaternion: mrdivide: this is a binary operator"); + endif + q = a * inv (b); endfunction Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/mtimes.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/mtimes.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/mtimes.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2010 Lukas F. Reichlin +## Copyright (C) 2010, 2012 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 @@ -18,26 +18,22 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.1 +## Version: 0.2 -function a = mtimes (a, b) +function q = mtimes (a, b) - if (! isa (a, "quaternion")) - a = quaternion (a); + if (nargin != 2) + error ("quaternion: mtimes: this is a binary operator"); endif - if (! isa (b, "quaternion")) - b = quaternion (b); - endif + a = quaternion (a); + b = quaternion (b); w = a.w*b.w - a.x*b.x - a.y*b.y - a.z*b.z; x = a.y*b.z - a.z*b.y + a.w*b.x + a.x*b.w; y = a.z*b.x - a.x*b.z + a.w*b.y + a.y*b.w; z = a.x*b.y - a.y*b.x + a.w*b.z + a.z*b.w; - a.w = w; - a.x = x; - a.y = y; - a.z = z; + q = quaternion (w, x, y, z); endfunction Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/plus.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/plus.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/plus.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2010 Lukas F. Reichlin +## Copyright (C) 2010, 2012 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 @@ -18,21 +18,17 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.1 +## Version: 0.2 -function a = plus (a, b) +function q = plus (varargin) - if (! isa (a, "quaternion")) - a = quaternion (a); - endif + tmp = cellfun (@quaternion, varargin); # uniformoutput = true ! - if (! isa (b, "quaternion")) - b = quaternion (b); - endif + w = plus (tmp.w); + x = plus (tmp.x); + y = plus (tmp.y); + z = plus (tmp.z); - a.w = a.w + b.w; - a.x = a.x + b.x; - a.y = a.y + b.y; - a.z = a.z + b.z; + q = quaternion (w, x, y, z); endfunction Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/power.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/power.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/power.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2010, 2011 Lukas F. Reichlin +## Copyright (C) 2010, 2011, 2012 Lukas F. Reichlin ## Copyright (c) 2011 Juan Pablo Carbajal <car...@if...> ## ## This program is free software: you can redistribute it and/or modify @@ -20,10 +20,14 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.3 +## Version: 0.4 function a = power (a, b) + if (nargin != 2) + error ("quaternion: power: this is a binary operator"); + endif + if (isa (b, "quaternion")) # exponent is a quaternion a = exp (log (a) .* b); # a could be real, but log doesn't care elseif (! isreal (b)) Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/rdivide.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/rdivide.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/rdivide.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2010 Lukas F. Reichlin +## Copyright (C) 2010, 2012 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 @@ -18,10 +18,14 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.1 +## Version: 0.2 function q = rdivide (a, b) + if (nargin != 2) + error ("quaternion: rdivide: this is a binary operator"); + endif + q = a .* b.^-1; endfunction Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/times.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/times.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/times.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2010 Lukas F. Reichlin +## Copyright (C) 2010, 2012 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 @@ -18,26 +18,22 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.1 +## Version: 0.2 -function a = times (a, b) +function q = times (a, b) - if (! isa (a, "quaternion")) - a = quaternion (a); + if (nargin != 2) + error ("quaternion: times: this is a binary operator"); endif - if (! isa (b, "quaternion")) - b = quaternion (b); - endif + a = quaternion (a); + b = quaternion (b); w = a.w .* b.w - a.x .* b.x - a.y .* b.y - a.z .* b.z; x = a.y .* b.z - a.z .* b.y + a.w .* b.x + a.x .* b.w; y = a.z .* b.x - a.x .* b.z + a.w .* b.y + a.y .* b.w; z = a.x .* b.y - a.y .* b.x + a.w .* b.z + a.z .* b.w; - a.w = w; - a.x = x; - a.y = y; - a.z = z; + q = quaternion (w, x, y, z); endfunction Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/uminus.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/uminus.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/uminus.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2010 Lukas F. Reichlin +## Copyright (C) 2010, 2012 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 @@ -18,10 +18,14 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.1 +## Version: 0.2 function a = uminus (a) + if (nargin != 1) + error ("quaternion: uminus: this is an unary operator"); + endif + a.w = -a.w; a.x = -a.x; a.y = -a.y; Modified: trunk/octave-forge/main/quaternion/inst/@quaternion/uplus.m =================================================================== --- trunk/octave-forge/main/quaternion/inst/@quaternion/uplus.m 2012-08-31 15:35:11 UTC (rev 10936) +++ trunk/octave-forge/main/quaternion/inst/@quaternion/uplus.m 2012-09-01 16:25:33 UTC (rev 10937) @@ -1,4 +1,4 @@ -## Copyright (C) 2011 Lukas F. Reichlin +## Copyright (C) 2011, 2012 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 @@ -18,10 +18,14 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: November 2011 -## Version: 0.1 +## Version: 0.2 function a = uplus (a) + if (nargin != 1) + error ("quaternion: uplus: this is an unary operator"); + endif + ## nothing to do here endfunction This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |