~ubuntu-branches/ubuntu/karmic/scilab/karmic

« back to all changes in this revision

Viewing changes to macros/scicos/init_agenda.sci

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2002-03-21 16:57:43 UTC
  • Revision ID: james.westby@ubuntu.com-20020321165743-e9mv12c1tb1plztg
Tags: upstream-2.6
ImportĀ upstreamĀ versionĀ 2.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
function [tevts,evtspt,pointi]=init_agenda(initexe,clkptr)
 
2
 
 
3
// Copyright INRIA
 
4
// order initial firing events in chronological order.
 
5
nblk=size(clkptr,1)-1
 
6
timevec=initexe(:,3)
 
7
if timevec<>[] then
 
8
  [timevec,indtime]=sort(-timevec)
 
9
  initexe=initexe(indtime,:)
 
10
else
 
11
  initexe=[]
 
12
end
 
13
timevec=[]
 
14
//initialize agenda
 
15
ninit=size(initexe,1)
 
16
pointi=0
 
17
nevts=clkptr(nblk+1)-1 //time events agenda size
 
18
tevts=0*ones(nevts,1)
 
19
if initexe<>[] then
 
20
  tevts(clkptr(initexe(:,1))+initexe(:,2)-1)=initexe(:,3)
 
21
end
 
22
evtspt=-ones(nevts,1)
 
23
 
 
24
if ninit>0 then 
 
25
  pointi=clkptr(initexe(1,1))+initexe(1,2)-1;
 
26
  evtspt(pointi)=0
 
27
end
 
28
if ninit>1 then
 
29
  evtspt(clkptr(initexe(1:ninit-1,1))+initexe(1:ninit-1,2)-1)=..
 
30
      clkptr(initexe(2:ninit,1))+initexe(2:ninit,2)-1;
 
31
  evtspt(clkptr(initexe(ninit,1))+initexe(ninit,2)-1)=0;
 
32
end