/usr/share/octave/site/m/sundialsTB/cvodes/cvm/cvm_rhsB.m is in octave-sundials 2.5.0-3+b1.
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 40 41 42 43 44 45 46 47 48 | function [yBd, flag, new_data] = cvm_rhsB(type, varargin)
%
% Wrapper around the actual user-provided Matlab function
%
switch type
case 0
% Not dependent on yS
t = varargin{1};
y = varargin{2};
yB = varargin{3};
fct = varargin{4};
data = varargin{5};
if isempty(data)
[yBd, flag] = feval(fct,t,y,yB);
new_data = [];
else
[yBd, flag, new_data] = feval(fct,t,y,yB,data);
end
case 1
% Dependent on yS
t = varargin{1};
y = varargin{2};
Ns = varargin{3};
yS = varargin{4};
yB = varargin{5};
fct = varargin{6};
data = varargin{7};
N = length(y);
yS = reshape(yS,N,Ns);
if isempty(data)
[yBd, flag] = feval(fct,t,y,yS,yB);
new_data = [];
else
[yBd, flag, new_data] = feval(fct,t,y,yS,yB,data);
end
end
|