[Pkg-octave-commit] [SCM] octave-nurbs branch, master, updated. 7f99f46d31594a47abe1bc77b62740368acdd33a

Thomas Weber thomas.weber.mail at gmail.com
Thu Dec 31 09:32:32 UTC 2009


The following commit has been merged in the master branch:
commit 850a227d7fd26ebc9478917d2fcf6a9f0c15dcee
Author: Thomas Weber <thomas.weber.mail at gmail.com>
Date:   Wed Dec 30 09:52:52 2009 +0100

    New patch: fix-tests

diff --git a/debian/changelog b/debian/changelog
index aca5c13..5664352 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-octave-nurbs (1.0-2) UNRELEASED; urgency=low
+octave-nurbs (1.0.2-1) UNRELEASED; urgency=low
 
   [ Rafael Laboissiere ]
   * debian/control: Build-depend on octave-pkg-dev >= 0.7.0, such that the
     package is built against octave3.2
-  
+
   [ Thomas Weber ]
   * New upstream release.
   * Removed patches (applied upstream): 
@@ -11,8 +11,9 @@ octave-nurbs (1.0-2) UNRELEASED; urgency=low
     + numbasisfun-succeed-test.diff
   * Upstream permissions for .m files are fixed, remove code from
     debian/rules.
+  * New patch: fix-tests, fixes failing unit tests, taken from upstream SVN
 
- -- Rafael Laboissiere <rafael at debian.org>  Sun, 07 Jun 2009 21:06:54 +0200
+ -- Thomas Weber <thomas.weber.mail at gmail.com>  Wed, 09 Dec 2009 17:27:57 +0100
 
 octave-nurbs (1.0-1) unstable; urgency=low
 
diff --git a/debian/patches/fix-tests b/debian/patches/fix-tests
new file mode 100644
index 0000000..c442459
--- /dev/null
+++ b/debian/patches/fix-tests
@@ -0,0 +1,201 @@
+SVN rev 6650, for fixing failing tests
+--- a/inst/nrbnumbasisfun.m
++++ b/inst/nrbnumbasisfun.m
+@@ -103,11 +103,11 @@
+ %! knots = {[zeros(1,p), linspace(0,1,mcp-p+2), ones(1,p)], [zeros(1,q), linspace(0,1,ncp-q+2), ones(1,q)]};
+ %! Lx  = 1; Ly  = 1;
+ %! [cntl(1,:,:), cntl(2,:,:)] = meshgrid(linspace(0, Lx, ncp+1), linspace(0, Ly, mcp+1) );
+-%! cntl(4,:,:) = 1:numel(cntl(1,:,:));
++%! cntl(:,:,4) = reshape(1:numel(cntl(:,:,4)),size(cntl(:,:,4)));
+ %! nrb = nrbmak(cntl, knots);
+ %! u = rand (1, 30); v = rand (1, 10);
+ %! N = nrbnumbasisfun ({u, v}, nrb);
+ %! assert (all(all(N>0)), true)
+ %! assert (all(all(N<=(ncp+1)*(mcp+1))), true)
+ %! assert (max(max(N)),(ncp+1)*(mcp+1))
+-%! assert (min(min(N)),1)
+\ No newline at end of file
++%! assert (min(min(N)),1)
+--- a/inst/nrbbasisfungradient.m
++++ b/inst/nrbbasisfungradient.m
+@@ -16,7 +16,7 @@
+ 
+ %% -*- texinfo -*-
+ %% @deftypefn {Function File} {[@var{dRdx}, @var{dRdy}]=} nrbbasisfungradient (@{@var{dzdu}, @var{dzdv}@}, @{@var{dxdu}, @var{dydu}, @var{dxdv}, @var{dydv}@})
+-%% @deftypefnx {Function File} {[@var{dRdx}]=} nrbbasisfungradient (@var{dzdu}, @var{dxdu})
++%% @deftypefnx {Function File} {[@var{dRdx}]=} nrbbasisfungradient (@var{dzdu}, @var{dxdu}, @var{nrb})
+ %% NRBBASISFUNGRADIENT Compute the gradient of the basis functions of a NURBS surface at the
+ %% specified parametric points.
+ %%
+@@ -26,6 +26,7 @@
+ %% to parameters @code{u} and @code{v}
+ %% @item @var{dxdu}, @var{dydu}, @var{dxdv},
+ %% @var{dydv}: NURBS geometry map derivatives
++%% @var{nrb}:  NURBS structure describing the surface
+ %% @end itemize
+ %%
+ %% OUTPUT:
+@@ -87,7 +88,7 @@
+ %! knots = {[zeros(1,p), linspace(0,1,mcp-p+2), ones(1,p)], [zeros(1,q), linspace(0,1,ncp-q+2), ones(1,q)]};
+ %! Lx  = 1; Ly  = 1;
+ %! [cntl(2,:,:), cntl(1,:,:)] = meshgrid(linspace(0, Ly, ncp+1), linspace(0, Lx, mcp+1) );
+-%! cntl(4,:,:) = 1:numel(cntl(1,:,:));
++%! cntl(:,:,4) = reshape(1:numel(cntl(:,:,4)),size(cntl(:,:,4)));
+ %! nrb = nrbmak(cntl, knots);
+ %! 
+ %! [u(2,:,:), u(1,:,:)] = meshgrid(rand (1, 20), rand (1, 20));
+@@ -100,11 +101,6 @@
+ %! nd        = nrbderiv(nrb);
+ %! [ndp, dp] = nrbdeval(nrb, nd, uv);
+ %! 
+-%! dxdu = repmat (reshape (dp{1}(1,:,:), [], 1), 1, columns(dzdu));
+-%! dydu = repmat (reshape (dp{1}(2,:,:), [], 1), 1, columns(dzdu));
+-%! dxdv = repmat (reshape (dp{2}(1,:,:), [], 1), 1, columns(dzdu));
+-%! dydv = repmat (reshape (dp{2}(2,:,:), [], 1), 1, columns(dzdu));
+-%! 
+-%! [dzdx, dzdy]= nrbbasisfungradient ({dzdu, dzdv}, {dxdu, dydu, dxdv, dydv});
++%! [dzdx, dzdy]= nrbbasisfungradient ({dzdu, dzdv}, connect, nrb);
+ %! assert(norm(sum(dzdx, 2), inf), 0, 1e-10)
+-%! assert(norm(sum(dzdy, 2), inf), 0, 1e-10)
+\ No newline at end of file
++%! assert(norm(sum(dzdy, 2), inf), 0, 1e-10)
+--- a/inst/nrbbasisfunder.m
++++ b/inst/nrbbasisfunder.m
+@@ -65,9 +65,7 @@
+ 
+     if (iscell(points))
+       [v, u] = meshgrid(points{2}, points{1});
+-      p(1,:,:) = u;
+-      p(2,:,:) = v;
+-      p = reshape(p, 2, []);
++      p = [u(:), v(:)]';
+     else
+       p = points;
+     end
+@@ -130,16 +128,13 @@
+ %! assert (sum(Bu, 2), zeros(numel(u), 1), 1e-10)
+ 
+ %!test
+-%! p = 2;
+-%! q = 3;
+-%! mcp = 2; ncp = 3;
+-%! knots = {[zeros(1,p), linspace(0,1,mcp-p+2), ones(1,p)], [zeros(1,q), linspace(0,1,ncp-q+2), ones(1,q)]};
+-%! Lx  = 1; Ly  = 1;
+-%! [cntl(2,:,:), cntl(1,:,:)] = meshgrid(linspace(0, Ly, ncp+1), linspace(0, Lx, mcp+1) );
+-%! cntl(4,:,:) = 1:numel(cntl(1,:,:));
+-%! nrb = nrbmak(cntl, knots);
+-%! [u(1,:,:), u(2,:,:)] = meshgrid(rand (1, 20), rand (1, 20));
+-%! tic(); [Bu, Bv, N] = nrbbasisfunder (u, nrb); toc()
++%! p = 2;   q = 3;   m = 4; n = 5;
++%! Lx  = 1; Ly  = 1; 
++%! nrb = nrb4surf   ([0 0], [1 0], [0 1], [1 1]);
++%! nrb = nrbdegelev (nrb, [p-1, q-1]);
++%! nrb = nrbkntins  (nrb, {linspace(0,1,m)(2:end-1), linspace(0,1,n)(2:end-1)});
++%! nrb.coefs (4,:,:) += rand (size (nrb.coefs (4,:,:)));
++%! tic(); [Bu, Bv, N] = nrbbasisfunder ({rand(1, 20), rand(1, 20)}, nrb); toc()
+ %! #plot3(squeeze(u(1,:,:)), squeeze(u(2,:,:)), reshape(Bu(:,10), 20, 20),'o')
+ %! assert (sum (Bu, 2), zeros(20^2, 1), 1e-10)
+ 
+--- a/inst/nrbbasisfun.m
++++ b/inst/nrbbasisfun.m
+@@ -59,9 +59,7 @@
+ 
+     if (iscell(points))
+       [v, u] = meshgrid(points{2}, points{1});
+-      p(1,:,:) = u;
+-      p(2,:,:) = v;
+-      p = reshape(p, 2, []);
++      p = [u(:), v(:)]';
+     else
+       p = points;
+     end
+@@ -78,7 +76,7 @@
+     U    = nrb.knots;
+     w    = nrb.coefs(4,:);
+     
+-    spu  =  findspan (n, p, u, U);
++    spu  =  findspan (n, p, u, U); 
+     nbfu =  numbasisfun (spu, u, p, U);
+     
+     N     = w(nbfu+1) .* basisfun (spu, u, p, U);
+@@ -118,20 +116,17 @@
+ %! assert(B(:,4), w(4)*nrbeval(nrb2, u)(2,:).', 1e-6)
+ 
+ %!test
+-%! p = 2;
+-%! q = 3;
+-%! mcp = 2; ncp = 3;
+-%! knots = {[zeros(1,p), linspace(0,1,mcp-p+2), ones(1,p)], [zeros(1,q), linspace(0,1,ncp-q+2), ones(1,q)]};
+-%! Lx  = 1; Ly  = 1;
+-%! [cntl(2,:,:), cntl(1,:,:)] = meshgrid(linspace(0, Ly, mcp+1),linspace(0, Lx, ncp+1));
+-%! cntl(4,:,:) = reshape(1:numel(cntl(1,:,:)), size(cntl(1,:,:)));
+-%! nrb = nrbmak(cntl, knots);
++%! p = 2;   q = 3;   m = 4; n = 5;
++%! Lx  = 1; Ly  = 1; 
++%! nrb = nrb4surf   ([0 0], [1 0], [0 1], [1 1]);
++%! nrb = nrbdegelev (nrb, [p-1, q-1]);
++%! nrb = nrbkntins  (nrb, {linspace(0,1,m)(2:end-1), linspace(0,1,n)(2:end-1)});
+ %! u = rand (1, 30); v = rand (1, 10);
+ %! [B, N] = nrbbasisfun ({u, v}, nrb);
+ %! assert (sum(B, 2), ones(300, 1), 1e-6)
+-%! assert (all(all(B<=1)), true)
+-%! assert (all(all(B>=0)), true)
+-%! assert (all(all(N>0)), true)
+-%! assert (all(all(N<=(ncp+1)*(mcp+1))), true)
+-%! assert (max(max(N)),(ncp+1)*(mcp+1))
+-%! assert (min(min(N)),1)
+\ No newline at end of file
++%! assert (all (all (B<=1)), true)
++%! assert (all (all (B>=0)), true)
++%! assert (all (all (N>0)), true)
++%! assert (all (all (N <= prod (nrb.number))), true)
++%! assert (max (max (N)),prod (nrb.number))
++%! assert (min (min (N)),1)
+\ No newline at end of file
+--- a/inst/findspanc.m
++++ b/inst/findspanc.m
+@@ -19,7 +19,7 @@
+ %
+ % Calling Sequence:
+ % 
+-%   s = findspanc(n,p,u,U)
++%   s = findspanc(u, U)
+ % 
+ %  INPUT:
+ % 
+@@ -42,7 +42,7 @@
+ %!  U = [0 0 0 1/2 1 1 1]; 
+ %!  p = 2; 
+ %!  u = linspace(0, 1, 10)(2:end-1);  
+-%!  s = findspanc (p, u, U); 
++%!  s = findspanc (u, U); 
+ %!  assert (s, [2*ones(1, 4) 3*ones(1, 4)]);
+ 
+ %!test
+@@ -50,4 +50,4 @@
+ %!  U = [zeros(1,p)  linspace(0,1,m+1-2*p) ones(1,p)];
+ %!  u = [ 0.11880   0.55118   0.93141   0.40068   0.35492 0.44392   0.88360   0.35414   0.92186   0.83085 ];
+ %!  s = [2   3   4   3   3   3   4   3   4   4];
+-%!  assert (findspanc (p, u, U), s, 1e-10);
+\ No newline at end of file
++%!  assert (findspanc (u, U), s, 1e-10);
+\ No newline at end of file
+--- a/inst/surfderiveval.m
++++ b/inst/surfderiveval.m
+@@ -97,4 +97,4 @@
+ %!                      srf.order(2)-1, 
+ %!                      srf.knots{2},
+ %!                      squeeze(srf.coefs(1,:,:)), .5, .5, 1) ;
+-%! assert (skl, [.5 0; 1 0])
+\ No newline at end of file
++%! assert (skl, [.5 0; 1 0], 100*eps)
+\ No newline at end of file
+--- a/src/surfderiveval.cc
++++ b/src/surfderiveval.cc
+@@ -86,5 +86,5 @@
+ %!                      srf.order(2)-1, 
+ %!                      srf.knots{2},
+ %!                      squeeze(srf.coefs(1,:,:)), .5, .5, 1) ;
+-%! assert (skl, [.5 0; 1 0])
++%! assert (skl, [.5 0; 1 0], 100*eps)
+ */
diff --git a/debian/patches/series b/debian/patches/series
index 6f889c5..edbebe2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
+fix-tests
 autoload-yes.diff

-- 
octave-nurbs



More information about the Pkg-octave-commit mailing list