From: <par...@us...> - 2011-12-02 07:59:26
|
Revision: 9247 http://octave.svn.sourceforge.net/octave/?rev=9247&view=rev Author: paramaniac Date: 2011-12-02 07:59:20 +0000 (Fri, 02 Dec 2011) Log Message: ----------- quaternion_oo: fix constructor and subsasgn Modified Paths: -------------- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/quaternion.m Added Paths: ----------- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsasgn.m Removed Paths: ------------- trunk/octave-forge/extra/quaternion_oo/devel/subsasgn.m Deleted: trunk/octave-forge/extra/quaternion_oo/devel/subsasgn.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/devel/subsasgn.m 2011-12-02 06:41:50 UTC (rev 9246) +++ trunk/octave-forge/extra/quaternion_oo/devel/subsasgn.m 2011-12-02 07:59:20 UTC (rev 9247) @@ -1,81 +0,0 @@ -## Copyright (C) 2011 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 -*- -## Subscripted assignment for quaternions. -## Used by Octave for "q.key = value". - -## Author: Lukas Reichlin <luk...@gm...> -## Created: November 2011 -## Version: 0.1 - -function ret = subsasgn (q, idx, val) -idx, val - error ("quaternion: subsasgn: under construction"); - - switch (idx(1).type) - case "." - if (length (idx) == 1) - ret = set (q, idx.subs, val); - else - prop = idx(1).subs; - sys = set (q, prop, subsasgn (get (q, prop), idx(2:end), val)); - endif - - otherwise - error ("quaternion: subsasgn: invalid subscripted assignment type"); - - endswitch - - ## TODO: q.w = matrix - ## q.x(:, 1) = matrix - - ## TODO: q(1:2, 3) = quaternion - - switch (s(1).type) - case "." # q.w - switch (tolower (s(1).subs)) - case {"w", "s"} # scalar part - ## ret = subsref (q.w, s(2:end)); - ret = q.w; - case {"x", "i"} - ## ret = subsref (q.x, s(2:end)); - ret = q.x; - case {"y", "j"} - ## ret = subsref (q.y, s(2:end)); - ret = q.y; - case {"z", "k"} - ## ret = subsref (q.z, s(2:end)); - ret = q.z; - case "v" # vector part, scalar part set to zero - q.w = zeros (size (q.w), class (q.w)); - ## ret = subsref (q, s(2:end)); - ret = q; - otherwise - error ("quaternion: invalid subscript name"); - endswitch - - case "()" # q(...) - w = subsref (q.w, s); - x = subsref (q.x, s); - y = subsref (q.y, s); - z = subsref (q.z, s); - ret = quaternion (w, x, y, z); - - otherwise - error ("quaternion: invalid subscript type"); - endswitch - -endfunction Modified: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/quaternion.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/quaternion.m 2011-12-02 06:41:50 UTC (rev 9246) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/quaternion.m 2011-12-02 07:59:20 UTC (rev 9247) @@ -82,7 +82,7 @@ if (isa (a, "quaternion")) # quaternion (q) q = a; return; - elseif (is_real_matrice (a)) # quaternion (w) + elseif (is_real_array (a)) # quaternion (w) b = c = d = zeros (size (a)); else print_usage (); Copied: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsasgn.m (from rev 9246, trunk/octave-forge/extra/quaternion_oo/devel/subsasgn.m) =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsasgn.m (rev 0) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsasgn.m 2011-12-02 07:59:20 UTC (rev 9247) @@ -0,0 +1,93 @@ +## Copyright (C) 2011 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 -*- +## Subscripted assignment for quaternions. +## Used by Octave for "q.key = value". + +## Author: Lukas Reichlin <luk...@gm...> +## Created: November 2011 +## Version: 0.1 + +function q = subsasgn (q, idx, val) + + switch (idx(1).type) + case "()" + if (isa (q, "quaternion")) # required for horzcat, vertcat, cat, ... + q(idx(1).subs{:}) = val; + else + error ("quaternion: subsasgn: (): under construction"); + endif + + otherwise + error ("quaternion: subsasgn: under construction"); + endswitch + + +%{ + switch (idx(1).type) + case "." + if (length (idx) == 1) + ret = set (q, idx.subs, val); + else + prop = idx(1).subs; + sys = set (q, prop, subsasgn (get (q, prop), idx(2:end), val)); + endif + + otherwise + error ("quaternion: subsasgn: invalid subscripted assignment type"); + + endswitch + + ## TODO: q.w = matrix + ## q.x(:, 1) = matrix + + ## TODO: q(1:2, 3) = quaternion + + switch (s(1).type) + case "." # q.w + switch (tolower (s(1).subs)) + case {"w", "s"} # scalar part + ## ret = subsref (q.w, s(2:end)); + ret = q.w; + case {"x", "i"} + ## ret = subsref (q.x, s(2:end)); + ret = q.x; + case {"y", "j"} + ## ret = subsref (q.y, s(2:end)); + ret = q.y; + case {"z", "k"} + ## ret = subsref (q.z, s(2:end)); + ret = q.z; + case "v" # vector part, scalar part set to zero + q.w = zeros (size (q.w), class (q.w)); + ## ret = subsref (q, s(2:end)); + ret = q; + otherwise + error ("quaternion: invalid subscript name"); + endswitch + + case "()" # q(...) + w = subsref (q.w, s); + x = subsref (q.x, s); + y = subsref (q.y, s); + z = subsref (q.z, s); + ret = quaternion (w, x, y, z); + + otherwise + error ("quaternion: invalid subscript type"); + endswitch +%} +endfunction This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2011-12-02 08:21:45
|
Revision: 9248 http://octave.svn.sourceforge.net/octave/?rev=9248&view=rev Author: paramaniac Date: 2011-12-02 08:21:38 +0000 (Fri, 02 Dec 2011) Log Message: ----------- quaternion_oo: add blkdiag and test Modified Paths: -------------- trunk/octave-forge/extra/quaternion_oo/INDEX trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/diag.m trunk/octave-forge/extra/quaternion_oo/inst/test_quaternion.m Added Paths: ----------- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/blkdiag.m Modified: trunk/octave-forge/extra/quaternion_oo/INDEX =================================================================== --- trunk/octave-forge/extra/quaternion_oo/INDEX 2011-12-02 07:59:20 UTC (rev 9247) +++ trunk/octave-forge/extra/quaternion_oo/INDEX 2011-12-02 08:21:38 UTC (rev 9248) @@ -5,6 +5,7 @@ rot2q Methods @quaternion/abs + @quaternion/blkdiag @quaternion/cat @quaternion/columns @quaternion/conj Added: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/blkdiag.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/blkdiag.m (rev 0) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/blkdiag.m 2011-12-02 08:21:38 UTC (rev 9248) @@ -0,0 +1,57 @@ +## Copyright (C) 2011 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 -*- +## Block-diagonal concatenation of quaternions. + +## Author: Lukas Reichlin <luk...@gm...> +## Created: December 2011 +## Version: 0.1 + +function q = blkdiag (varargin) + + qstr = cellfun (@quaternion, varargin); # uniformoutput = true ! + + w = blkdiag (qstr.w); + x = blkdiag (qstr.x); + y = blkdiag (qstr.y); + z = blkdiag (qstr.z); + + q = quaternion (w, x, y, z); + +endfunction + + +%!shared C, D +%! Aw = [2, 6; 10, 14]; +%! Ax = [3, 7; 11, 15]; +%! Ay = [4, 8; 12, 16]; +%! Az = [5, 9; 13, 17]; +%! A = quaternion (Aw, Ax, Ay, Az); +%! +%! Bw = [2, 6, 10; 14, 18, 22]; +%! Bx = [3, 7, 11; 15, 19, 23]; +%! By = [4, 8, 12; 16, 20, 24]; +%! Bz = [5, 9, 13; 17, 21, 25]; +%! B = quaternion (Bw, Bx, By, Bz); +%! +%! C = blkdiag (A, B); +%! +%! Dw = blkdiag (Aw, Bw); +%! Dx = blkdiag (Ax, Bx); +%! Dy = blkdiag (Ay, By); +%! Dz = blkdiag (Az, Bz); +%! D = quaternion (Dw, Dx, Dy, Dz); +%!assert (C == D); Modified: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/diag.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/diag.m 2011-12-02 07:59:20 UTC (rev 9247) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/diag.m 2011-12-02 08:21:38 UTC (rev 9248) @@ -50,4 +50,4 @@ %! Y = diag ([4, 4, 4]); %! Z = diag ([5, 5, 5]); %! S = quaternion (W, X, Y, Z); -%!assert (R, S); +%!assert (R == S); Modified: trunk/octave-forge/extra/quaternion_oo/inst/test_quaternion.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/test_quaternion.m 2011-12-02 07:59:20 UTC (rev 9247) +++ trunk/octave-forge/extra/quaternion_oo/inst/test_quaternion.m 2011-12-02 08:21:38 UTC (rev 9248) @@ -1,2 +1,3 @@ +test @quaternion/blkdiag test @quaternion/diag test @quaternion/dot \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2011-12-29 13:32:30
|
Revision: 9477 http://octave.svn.sourceforge.net/octave/?rev=9477&view=rev Author: paramaniac Date: 2011-12-29 13:32:23 +0000 (Thu, 29 Dec 2011) Log Message: ----------- quaternion_oo: add docstring to remaining functions Modified Paths: -------------- trunk/octave-forge/extra/quaternion_oo/INDEX trunk/octave-forge/extra/quaternion_oo/inst/qi.m trunk/octave-forge/extra/quaternion_oo/inst/qj.m trunk/octave-forge/extra/quaternion_oo/inst/qk.m Modified: trunk/octave-forge/extra/quaternion_oo/INDEX =================================================================== --- trunk/octave-forge/extra/quaternion_oo/INDEX 2011-12-29 13:12:23 UTC (rev 9476) +++ trunk/octave-forge/extra/quaternion_oo/INDEX 2011-12-29 13:32:23 UTC (rev 9477) @@ -1,6 +1,9 @@ quaternion >> Quaternion Quaternions quaternion + qi + qj + qk q2rot rot2q Methods Modified: trunk/octave-forge/extra/quaternion_oo/inst/qi.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/qi.m 2011-12-29 13:12:23 UTC (rev 9476) +++ trunk/octave-forge/extra/quaternion_oo/inst/qi.m 2011-12-29 13:32:23 UTC (rev 9477) @@ -1,3 +1,42 @@ +## 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/>. + +## @deftypefn {Function File} {} qi +## Create x-component of a quaternion's vector part. +## +## @example +## q = w + x*qi + y*qj + z*qk +## @end example +## +## @strong{Example} +## @example +## @group +## octave:1> q1 = quaternion (1, 2, 3, 4) +## q1 = 1 + 2i + 3j + 4k +## octave:2> q2 = 1 + 2*qi + 3*qj + 4*qk +## q2 = 1 + 2i + 3j + 4k +## octave:3> +## @end group +## @end example +## +## @end deftypefn + +## Author: Lukas Reichlin <luk...@gm...> +## Created: May 2010 +## Version: 0.1 + function q = qi if (nargin != 0) Modified: trunk/octave-forge/extra/quaternion_oo/inst/qj.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/qj.m 2011-12-29 13:12:23 UTC (rev 9476) +++ trunk/octave-forge/extra/quaternion_oo/inst/qj.m 2011-12-29 13:32:23 UTC (rev 9477) @@ -1,3 +1,42 @@ +## 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/>. + +## @deftypefn {Function File} {} qj +## Create y-component of a quaternion's vector part. +## +## @example +## q = w + x*qi + y*qj + z*qk +## @end example +## +## @strong{Example} +## @example +## @group +## octave:1> q1 = quaternion (1, 2, 3, 4) +## q1 = 1 + 2i + 3j + 4k +## octave:2> q2 = 1 + 2*qi + 3*qj + 4*qk +## q2 = 1 + 2i + 3j + 4k +## octave:3> +## @end group +## @end example +## +## @end deftypefn + +## Author: Lukas Reichlin <luk...@gm...> +## Created: May 2010 +## Version: 0.1 + function q = qj if (nargin != 0) Modified: trunk/octave-forge/extra/quaternion_oo/inst/qk.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/qk.m 2011-12-29 13:12:23 UTC (rev 9476) +++ trunk/octave-forge/extra/quaternion_oo/inst/qk.m 2011-12-29 13:32:23 UTC (rev 9477) @@ -1,3 +1,42 @@ +## 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/>. + +## @deftypefn {Function File} {} qk +## Create z-component of a quaternion's vector part. +## +## @example +## q = w + x*qi + y*qj + z*qk +## @end example +## +## @strong{Example} +## @example +## @group +## octave:1> q1 = quaternion (1, 2, 3, 4) +## q1 = 1 + 2i + 3j + 4k +## octave:2> q2 = 1 + 2*qi + 3*qj + 4*qk +## q2 = 1 + 2i + 3j + 4k +## octave:3> +## @end group +## @end example +## +## @end deftypefn + +## Author: Lukas Reichlin <luk...@gm...> +## Created: May 2010 +## Version: 0.1 + function q = qk if (nargin != 0) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2011-12-30 16:42:56
|
Revision: 9492 http://octave.svn.sourceforge.net/octave/?rev=9492&view=rev Author: paramaniac Date: 2011-12-30 16:42:50 +0000 (Fri, 30 Dec 2011) Log Message: ----------- quaternion_oo: activate multiple subscripts. requires indexing with empty subscript structs and therefore octave versions >= 3.5.90 to avoid coredumps Modified Paths: -------------- trunk/octave-forge/extra/quaternion_oo/DESCRIPTION trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsasgn.m trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsref.m Modified: trunk/octave-forge/extra/quaternion_oo/DESCRIPTION =================================================================== --- trunk/octave-forge/extra/quaternion_oo/DESCRIPTION 2011-12-30 14:09:30 UTC (rev 9491) +++ trunk/octave-forge/extra/quaternion_oo/DESCRIPTION 2011-12-30 16:42:50 UTC (rev 9492) @@ -1,11 +1,11 @@ Name: quaternion -Version: 1.9.50 -Date: 2011-12-01 +Version: 1.9.51 +Date: 2011-12-30 Author: Lukas Reichlin <luk...@gm...> Maintainer: Lukas Reichlin <luk...@gm...> Title: Quaternion Description: Overloaded operators for quaternions -Depends: octave (>= 3.2.3) +Depends: octave (>= 3.5.90) Autoload: yes License: GPL version 3 or later Url: http://octave.sf.net Modified: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsasgn.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsasgn.m 2011-12-30 14:09:30 UTC (rev 9491) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsasgn.m 2011-12-30 16:42:50 UTC (rev 9492) @@ -19,7 +19,7 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: November 2011 -## Version: 0.1 +## Version: 0.2 function q = subsasgn (q, idx, val) @@ -40,23 +40,18 @@ if (! is_real_array (val)) error ("quaternion: subsasgn: invalid type"); endif - if (! size_equal (q.w, val)) - ## if (! size_equal (subsref (q.w, idx(2:end)), val)) + if (! size_equal (subsref (q.w, idx(2:end)), val)) error ("quaternion: subsasgn: invalid size"); endif switch (tolower (idx(1).subs)) case {"w", "s"} - ## q.w = subsasgn (q.w, idx(2:end), val); - q.w = val; + q.w = subsasgn (q.w, idx(2:end), val); case {"x", "i"} - ## q.x = subsasgn (q.x, idx(2:end), val); - q.x = val; + q.x = subsasgn (q.x, idx(2:end), val); case {"y", "j"} - ## q.y = subsasgn (q.y, idx(2:end), val); - q.y = val; + q.y = subsasgn (q.y, idx(2:end), val); case {"z", "k"} - ## q.z = subsasgn (q.z, idx(2:end), val); - q.z = val; + q.z = subsasgn (q.z, idx(2:end), val); otherwise error ("quaternion: subsasgn: invalid subscript name"); endswitch @@ -65,8 +60,4 @@ error ("quaternion: subsasgn: under construction"); endswitch - ## TODO: q.x(:, 1) = matrix - ## wait until the jwe's bugfix makes it into a release - ## probably Octave 3.6.0 - endfunction Modified: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsref.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsref.m 2011-12-30 14:09:30 UTC (rev 9491) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/subsref.m 2011-12-30 16:42:50 UTC (rev 9492) @@ -18,35 +18,24 @@ ## Author: Lukas Reichlin <luk...@gm...> ## Created: May 2010 -## Version: 0.2 +## Version: 0.3 function ret = subsref (q, s) - ## FIXME: With the code commented out, stuff like q.w(1:2, :) works, - ## but now simple things like q.w crash octave: - ## panic: impossible state reached in file `ov-base-mat.cc' at line 60 - - ## TODO: File bug report - switch (s(1).type) case "." # q.w switch (tolower (s(1).subs)) case {"w", "s"} # scalar part - ## ret = subsref (q.w, s(2:end)); - ret = q.w; + ret = subsref (q.w, s(2:end)); case {"x", "i"} - ## ret = subsref (q.x, s(2:end)); - ret = q.x; + ret = subsref (q.x, s(2:end)); case {"y", "j"} - ## ret = subsref (q.y, s(2:end)); - ret = q.y; + ret = subsref (q.y, s(2:end)); case {"z", "k"} - ## ret = subsref (q.z, s(2:end)); - ret = q.z; + ret = subsref (q.z, s(2:end)); case "v" # vector part, scalar part set to zero - q.w = zeros (size (q.w), class (q.w)); - ## ret = subsref (q, s(2:end)); - ret = q; + q.w = zeros (size (q.w)); + ret = subsref (q, s(2:end)); otherwise error ("quaternion: invalid subscript name"); endswitch This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-01-18 08:16:38
|
Revision: 9529 http://octave.svn.sourceforge.net/octave/?rev=9529&view=rev Author: paramaniac Date: 2012-01-18 08:16:26 +0000 (Wed, 18 Jan 2012) Log Message: ----------- quaternion_oo: add a news file Modified Paths: -------------- trunk/octave-forge/extra/quaternion_oo/DESCRIPTION trunk/octave-forge/extra/quaternion_oo/Makefile Added Paths: ----------- trunk/octave-forge/extra/quaternion_oo/NEWS Modified: trunk/octave-forge/extra/quaternion_oo/DESCRIPTION =================================================================== --- trunk/octave-forge/extra/quaternion_oo/DESCRIPTION 2012-01-17 15:57:23 UTC (rev 9528) +++ trunk/octave-forge/extra/quaternion_oo/DESCRIPTION 2012-01-18 08:16:26 UTC (rev 9529) @@ -1,11 +1,11 @@ Name: quaternion -Version: 1.9.51 -Date: 2011-12-30 +Version: 1.9.52 +Date: 2012-01-18 Author: Lukas Reichlin <luk...@gm...> Maintainer: Lukas Reichlin <luk...@gm...> Title: Quaternion Description: Overloaded operators for quaternions -Depends: octave (>= 3.5.90) +Depends: octave (>= 3.6.0) Autoload: yes License: GPL version 3 or later Url: http://octave.sf.net Modified: trunk/octave-forge/extra/quaternion_oo/Makefile =================================================================== --- trunk/octave-forge/extra/quaternion_oo/Makefile 2012-01-17 15:57:23 UTC (rev 9528) +++ trunk/octave-forge/extra/quaternion_oo/Makefile 2012-01-18 08:16:26 UTC (rev 9529) @@ -1,6 +1,6 @@ sinclude ../../Makeconf -PKG_FILES = COPYING DESCRIPTION INDEX $(wildcard inst/*) +PKG_FILES = COPYING DESCRIPTION INDEX NEWS $(wildcard inst/*) SUBDIRS = doc/ .PHONY: $(SUBDIRS) Added: trunk/octave-forge/extra/quaternion_oo/NEWS =================================================================== --- trunk/octave-forge/extra/quaternion_oo/NEWS (rev 0) +++ trunk/octave-forge/extra/quaternion_oo/NEWS 2012-01-18 08:16:26 UTC (rev 9529) @@ -0,0 +1,14 @@ +Summary of important user-visible changes for releases of the control package + +=============================================================================== +quaternion-2.0.0 Release Date: 2012-xx-yy Release Manager: Lukas Reichlin +=============================================================================== + +** First official release. Its main features are: + -- Matrices and n-dimensional arrays of quaternions. + -- Overloaded operators due to the use of classes. + -- Operator semantics similar to Octave’s built-in complex numbers. + -- Vectorized code for crunching large quaternion arrays in a speedy manner. + + +=============================================================================== This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-01-18 19:26:01
|
Revision: 9538 http://octave.svn.sourceforge.net/octave/?rev=9538&view=rev Author: paramaniac Date: 2012-01-18 19:25:54 +0000 (Wed, 18 Jan 2012) Log Message: ----------- quaternion_oo: add diff to index, fix test Modified Paths: -------------- trunk/octave-forge/extra/quaternion_oo/INDEX trunk/octave-forge/extra/quaternion_oo/inst/test_quaternion.m Modified: trunk/octave-forge/extra/quaternion_oo/INDEX =================================================================== --- trunk/octave-forge/extra/quaternion_oo/INDEX 2012-01-18 18:13:20 UTC (rev 9537) +++ trunk/octave-forge/extra/quaternion_oo/INDEX 2012-01-18 19:25:54 UTC (rev 9538) @@ -13,6 +13,7 @@ @quaternion/columns @quaternion/conj @quaternion/diag + @quaternion/diff @quaternion/exp @quaternion/inv @quaternion/ispure Modified: trunk/octave-forge/extra/quaternion_oo/inst/test_quaternion.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/test_quaternion.m 2012-01-18 18:13:20 UTC (rev 9537) +++ trunk/octave-forge/extra/quaternion_oo/inst/test_quaternion.m 2012-01-18 19:25:54 UTC (rev 9538) @@ -1,4 +1,4 @@ test @quaternion/blkdiag test @quaternion/diag -test @quaternion/dot +test @quaternion/diff test @quaternion/log \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-03-05 14:41:23
|
Revision: 9745 http://octave.svn.sourceforge.net/octave/?rev=9745&view=rev Author: paramaniac Date: 2012-03-05 14:41:13 +0000 (Mon, 05 Mar 2012) Log Message: ----------- quaternion_oo: rename variable Modified Paths: -------------- trunk/octave-forge/extra/quaternion_oo/devel/pdfdoc/quaternion.tex trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/blkdiag.m trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/cat.m trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/horzcat.m trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/vertcat.m Modified: trunk/octave-forge/extra/quaternion_oo/devel/pdfdoc/quaternion.tex =================================================================== --- trunk/octave-forge/extra/quaternion_oo/devel/pdfdoc/quaternion.tex 2012-03-04 22:17:45 UTC (rev 9744) +++ trunk/octave-forge/extra/quaternion_oo/devel/pdfdoc/quaternion.tex 2012-03-05 14:41:13 UTC (rev 9745) @@ -16,7 +16,7 @@ @author Juan Pablo Carbajal @page @vskip 0pt plus 1filll -Copyright @copyright{} 2010-2011, Lukas F. Reichlin @email{lukas.reichlin@@gmail.com} +Copyright @copyright{} 2010-2012, Lukas F. Reichlin @email{lukas.reichlin@@gmail.com} This manual is generated automatically from the texinfo help strings of the package's functions. Modified: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/blkdiag.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/blkdiag.m 2012-03-04 22:17:45 UTC (rev 9744) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/blkdiag.m 2012-03-05 14:41:13 UTC (rev 9745) @@ -25,12 +25,12 @@ function q = blkdiag (varargin) - qstr = cellfun (@quaternion, varargin); # uniformoutput = true ! + tmp = cellfun (@quaternion, varargin); # uniformoutput = true ! - w = blkdiag (qstr.w); - x = blkdiag (qstr.x); - y = blkdiag (qstr.y); - z = blkdiag (qstr.z); + w = blkdiag (tmp.w); + x = blkdiag (tmp.x); + y = blkdiag (tmp.y); + z = blkdiag (tmp.z); q = quaternion (w, x, y, z); Modified: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/cat.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/cat.m 2012-03-04 22:17:45 UTC (rev 9744) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/cat.m 2012-03-05 14:41:13 UTC (rev 9745) @@ -24,12 +24,12 @@ function q = cat (dim, varargin) - qstr = cellfun (@quaternion, varargin); # uniformoutput = true ! + tmp = cellfun (@quaternion, varargin); # uniformoutput = true ! - w = cat (dim, qstr.w); - x = cat (dim, qstr.x); - y = cat (dim, qstr.y); - z = cat (dim, qstr.z); + w = cat (dim, tmp.w); + x = cat (dim, tmp.x); + y = cat (dim, tmp.y); + z = cat (dim, tmp.z); q = quaternion (w, x, y, z); Modified: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/horzcat.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/horzcat.m 2012-03-04 22:17:45 UTC (rev 9744) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/horzcat.m 2012-03-05 14:41:13 UTC (rev 9745) @@ -22,12 +22,12 @@ function q = horzcat (varargin) - qstr = cellfun (@quaternion, varargin); # uniformoutput = true ! + tmp = cellfun (@quaternion, varargin); # uniformoutput = true ! - w = horzcat (qstr.w); - x = horzcat (qstr.x); - y = horzcat (qstr.y); - z = horzcat (qstr.z); + w = horzcat (tmp.w); + x = horzcat (tmp.x); + y = horzcat (tmp.y); + z = horzcat (tmp.z); q = quaternion (w, x, y, z); Modified: trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/vertcat.m =================================================================== --- trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/vertcat.m 2012-03-04 22:17:45 UTC (rev 9744) +++ trunk/octave-forge/extra/quaternion_oo/inst/@quaternion/vertcat.m 2012-03-05 14:41:13 UTC (rev 9745) @@ -22,12 +22,12 @@ function q = vertcat (varargin) - qstr = cellfun (@quaternion, varargin); # uniformoutput = true ! + tmp = cellfun (@quaternion, varargin); # uniformoutput = true ! - w = vertcat (qstr.w); - x = vertcat (qstr.x); - y = vertcat (qstr.y); - z = vertcat (qstr.z); + w = vertcat (tmp.w); + x = vertcat (tmp.x); + y = vertcat (tmp.y); + z = vertcat (tmp.z); q = quaternion (w, x, y, z); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-03-28 02:57:46
|
Revision: 10077 http://octave.svn.sourceforge.net/octave/?rev=10077&view=rev Author: paramaniac Date: 2012-03-28 02:57:39 +0000 (Wed, 28 Mar 2012) Log Message: ----------- quaternion_oo: prepare release of quaternion-2.0.0 Modified Paths: -------------- trunk/octave-forge/extra/quaternion_oo/DESCRIPTION trunk/octave-forge/extra/quaternion_oo/NEWS Added Paths: ----------- trunk/octave-forge/extra/quaternion_oo/doc/quaternion.pdf Modified: trunk/octave-forge/extra/quaternion_oo/DESCRIPTION =================================================================== --- trunk/octave-forge/extra/quaternion_oo/DESCRIPTION 2012-03-27 18:23:55 UTC (rev 10076) +++ trunk/octave-forge/extra/quaternion_oo/DESCRIPTION 2012-03-28 02:57:39 UTC (rev 10077) @@ -1,6 +1,6 @@ Name: quaternion -Version: 1.9.52 -Date: 2012-01-18 +Version: 2.0.0 +Date: 2012-03-28 Author: Lukas Reichlin <luk...@gm...> Maintainer: Lukas Reichlin <luk...@gm...> Title: Quaternion Modified: trunk/octave-forge/extra/quaternion_oo/NEWS =================================================================== --- trunk/octave-forge/extra/quaternion_oo/NEWS 2012-03-27 18:23:55 UTC (rev 10076) +++ trunk/octave-forge/extra/quaternion_oo/NEWS 2012-03-28 02:57:39 UTC (rev 10077) @@ -1,7 +1,7 @@ Summary of important user-visible changes for releases of the quaternion package =============================================================================== -quaternion-2.0.0 Release Date: 2012-xx-yy Release Manager: Lukas Reichlin +quaternion-2.0.0 Release Date: 2012-03-28 Release Manager: Lukas Reichlin =============================================================================== ** First official release. Its main features are: Added: trunk/octave-forge/extra/quaternion_oo/doc/quaternion.pdf =================================================================== (Binary files differ) Property changes on: trunk/octave-forge/extra/quaternion_oo/doc/quaternion.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |