/usr/share/octave/packages/nurbs-1.3.10/private/onebasisfunder__.m is in octave-nurbs 1.3.10-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | function [N, Nder] = onebasisfunder__ (u, p, U)
% __ONEBASISFUNDER__: Undocumented internal function
%
% Copyright (C) 2012 Rafael Vazquez
% This software comes with ABSOLUTELY NO WARRANTY; see the file
% COPYING for details. This is free software, and you are welcome
% to distribute it under the conditions laid out in COPYING.
N = zeros (size (u));
Nder = zeros (size (u));
for ii = 1:numel (u)
if (~ any (U <= u(ii))) || (~ any (U > u(ii)))
continue;
elseif (p == 0)
N(ii) = 1;
Nder(ii) = 0;
continue;
else
ln = u(ii) - U(1);
ld = U(end-1) - U(1);
if (ld ~= 0)
aux = onebasisfun__ (u(ii), p-1, U(1:end-1))/ ld;
N(ii) = N(ii) + ln * aux;
Nder(ii) = Nder(ii) + p * aux;
end
dn = U(end) - u(ii);
dd = U(end) - U(2);
if (dd ~= 0)
aux = onebasisfun__ (u(ii), p-1, U(2:end))/ dd;
N(ii) = N(ii) + dn * aux;
Nder(ii) = Nder(ii) - p * aux;
end
end
end
end
|