dynare/scilab/bksupk.sci

54 lines
948 B
Scilab

function [d1]=bksupk(ny,fid,jcf,icc1)
d1=[];
// Copyright (C) 2001 Michel Juillard
//
global('ykmax_','iter_','c','ncc');
icf = 1:jcf-1;
ir = (iter_-1)*ny+1:ny*iter_;
%irf = icc1+(iter_-1)*ny;
d1 = zeros(iter_*ny,1);
ofs = ((iter_-1)*ny+1-1)*ncc*8;
junk = mseek(ofs,fid,'set');
c = mtlb_fread(fid,[ncc,ny],'float64');
c = c';
%v = c(:,jcf)
d1(ir,1) = %v(:);
ir = ir-ny;
i = 2;
while i<=ykmax_|i<=iter_ then
irf1 = selif(%irf,%irf<iter_*ny);
ofs = ((iter_-i)*ny+1-1)*ncc*8;
junk = mseek(ofs,fid,'set');
c = mtlb_fread(fid,[ncc,ny],'float64');
c = c';
%v1 = c(:,jcf)-c(:,1:size(irf1,1))*d1(irf1)
d1(ir,1) = %v1(:);
ir = ir-ny;
%irf = %irf-ny;
i = i+1;
end
while i<=iter_ then
ofs = ((iter_-i)*ny+1-1)*ncc*8;
junk = mseek(ofs,fid,'set');
c = mtlb_fread(fid,[ncc,ny],'float64');
c = c';
%v1 = c(:,jcf)-c(:,icf)*d1(%irf)
d1(ir,1) = %v1(:);
ir = ir-ny;
%irf = %irf-ny;
i = i+1;
end