# HG changeset patch # User John Donoghue # Date 1443634404 14400 # Node ID de0b5dfe77f683ffba254db69c2b58f9454e25ac # Parent 85abb6c3ec8bdf0376b4e646d89c4a5e0a425bf5 of-nurbs: new patch to compile with win32 --enable-64 (Bug #46081) * dist-files.mk: add of-nurbs-1-fixes.patch * src/of-nurbs-1-fixes.patch: new file diff -r 85abb6c3ec8b -r de0b5dfe77f6 dist-files.mk --- a/dist-files.mk Tue Sep 29 19:43:19 2015 -0400 +++ b/dist-files.mk Wed Sep 30 13:33:24 2015 -0400 @@ -485,6 +485,7 @@ of-nan.mk \ of-netcdf-1-fixes.patch \ of-netcdf.mk \ + of-nurbs-1-fixes.patch \ of-nurbs.mk \ of-ocs-1-cross-fixes.patch \ of-ocs.mk \ diff -r 85abb6c3ec8b -r de0b5dfe77f6 src/of-nurbs-1-fixes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/of-nurbs-1-fixes.patch Wed Sep 30 13:33:24 2015 -0400 @@ -0,0 +1,90 @@ +# HG changeset patch +# User John Donoghue +# Date 1443634028 14400 +# Wed Sep 30 13:27:08 2015 -0400 +# Node ID 41f9bc725e8fdc8d07efeedd09da84a013bb14c0 +# Parent fcd14dc97757ba4f3da5dbd4571b38a407235d2a +typecast constants to octave_idx_type (Bug #46081) + +* src/low_level_functions.cc: use octave_idx_type(0) for constant to idx_vector + +* src/nrb_srf_basisfun__.cc: use typecase octave_idx_type for constants + +* src/nrb_srf_basisfun_der__.cc: use typecase octave_idx_type for constants + +* src/nrbsurfderiveval.c: use use octave_idx_type(3) for constant to idx_vector + +diff -r fcd14dc97757 -r 41f9bc725e8f src/low_level_functions.cc +--- a/src/low_level_functions.cc Mon Sep 14 16:59:10 2015 +0100 ++++ b/src/low_level_functions.cc Wed Sep 30 13:27:08 2015 -0400 +@@ -306,7 +306,7 @@ + octave_idx_type dd = (d-k) <= dv ? (d-k) : dv; + Matrix temp (dd <= m ? (dd+1) : (m+1), m+1, 0.0); + +- idxva (0) = idx_vector(k); idxva (1) = idx_vector(0); ++ idxva (0) = idx_vector(k); idxva (1) = idx_vector(octave_idx_type(0)); + idxva (2) = idx_vector(i); idxva (3) = idx_vector(':'); + NDArray temp2 (pkl.index (idxva)); + curvederivcpts (m, q, V.extract (s1, V.numel () - 1), +diff -r fcd14dc97757 -r 41f9bc725e8f src/nrb_srf_basisfun__.cc +--- a/src/nrb_srf_basisfun__.cc Mon Sep 14 16:59:10 2015 +0100 ++++ b/src/nrb_srf_basisfun__.cc Wed Sep 30 13:27:08 2015 -0400 +@@ -40,10 +40,10 @@ + octave_idx_type q = static_cast ((nrb.contents("order").vector_value())(1)) - 1; // q = nrb.order(2) -1; + + Array idx(dim_vector (2, 1), idx_vector(':')); +- idx(0) = 0; ++ idx(0) = octave_idx_type(0); + const NDArray u(points.index (idx).squeeze ()); // u = points(1,:); + +- idx(0) = 1; ++ idx(0) = octave_idx_type(1); + const NDArray v(points.index (idx).squeeze ()); // v = points(2,:); + + octave_idx_type npt = u.numel (); // npt = length(u); +@@ -56,7 +56,7 @@ + + const RowVector V(knots(1).row_vector_value ()); // V = nrb.knots{2}; + +- Array idx2(dim_vector (3, 1), idx_vector(':')); idx2(0) = 3; ++ Array idx2(dim_vector (3, 1), idx_vector(':')); idx2(0) = octave_idx_type(3); + NDArray w (coefs.index (idx2).squeeze ()); // w = squeeze(nrb.coefs(4,:,:)); + + RowVector spu(u); +diff -r fcd14dc97757 -r 41f9bc725e8f src/nrb_srf_basisfun_der__.cc +--- a/src/nrb_srf_basisfun_der__.cc Mon Sep 14 16:59:10 2015 +0100 ++++ b/src/nrb_srf_basisfun_der__.cc Wed Sep 30 13:27:08 2015 -0400 +@@ -40,10 +40,10 @@ + octave_idx_type q = static_cast ((nrb.contents("order").vector_value())(1)) - 1; // q = nrb.order(2) -1; + + Array idx(dim_vector (2, 1), idx_vector(':')); +- idx(0) = 0; ++ idx(0) = octave_idx_type(0); + const NDArray u(points.index (idx).squeeze ()); // u = points(1,:); + +- idx(0) = 1; ++ idx(0) = octave_idx_type(1); + const NDArray v(points.index (idx).squeeze ()); // v = points(2,:); + + octave_idx_type npt = u.numel (); // npt = length(u); +@@ -63,7 +63,7 @@ + + const RowVector V(knots(1).row_vector_value ()); // V = nrb.knots{2}; + +- Array idx2(dim_vector (3, 1), idx_vector(':')); idx2(0) = 3; ++ Array idx2(dim_vector (3, 1), idx_vector(':')); idx2(0) = octave_idx_type(3); + NDArray w (coefs.index (idx2).squeeze ()); // w = squeeze(nrb.coefs(4,:,:)); + + RowVector spu(u); +diff -r fcd14dc97757 -r 41f9bc725e8f src/nrbsurfderiveval.cc +--- a/src/nrbsurfderiveval.cc Mon Sep 14 16:59:10 2015 +0100 ++++ b/src/nrbsurfderiveval.cc Wed Sep 30 13:27:08 2015 -0400 +@@ -119,7 +119,7 @@ + NDArray coefs = srf.contents("coefs").array_value(); + + Array idx(dim_vector (3, 1), idx_vector(':')); +- idx (0) = idx_vector (3); ++ idx (0) = idx_vector (octave_idx_type(3)); + Matrix weights (NDArray (coefs.index (idx).squeeze ())); + + for (octave_idx_type iu(0); iu