/scilab-master-1333395999/modules/scicos_blocks/src/fortran/logblk.f
# · FORTRAN Legacy · 53 lines · 23 code · 5 blank · 25 comment · 4 complexity · 6d051a94b612edd413b260897a1193b6 MD5 · raw file
- c Scicos
- c
- c Copyright (C) INRIA - METALAU Project <scicos@inria.fr>
- c
- c This program is free software; you can redistribute it and/or modify
- c it under the terms of the GNU General Public License as published by
- c the Free Software Foundation; either version 2 of the License, or
- c (at your option) any later version.
- c
- c This program is distributed in the hope that it will be useful,
- c but WITHOUT ANY WARRANTY; without even the implied warranty of
- c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- c GNU General Public License for more details.
- c
- c You should have received a copy of the GNU General Public License
- c along with this program; if not, write to the Free Software
- c Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- c
- c See the file ./license.txt
- c
- subroutine logblk(flag,nevprt,t,xd,x,nx,z,nz,tvec,ntvec,
- & rpar,nrpar,ipar,nipar,u,nu,y,ny)
- c Copyright INRIA
- c Scicos block simulator
- c y=log(u)/log(rpar(1))
- c
- double precision t,xd(*),x(*),z(*),tvec(*),rpar(*),u(*),y(*)
- integer flag,nevprt,nx,nz,ntvec,nrpar,ipar(*)
- integer nipar,nu,ny
- c
- if(flag.eq.1) then
- do 15 i=1,nu
- if(u(i).gt.0.0d0) then
- y(i)=log(u(i))/log(rpar(1))
- else
- flag=-2
- return
- endif
- 15 continue
- endif
- if(flag.eq.6) then
- do 20 i=1,nu
- if(u(i).gt.0.0d0) then
- y(i)=log(u(i))/log(rpar(1))
- endif
- 20 continue
- endif
- end