File: inibrk.f

package info (click to toggle)
scilab 2.4-1
  • links: PTS
  • area: non-free
  • in suites: potato, slink
  • size: 55,196 kB
  • ctags: 38,019
  • sloc: ansic: 231,970; fortran: 148,976; tcl: 7,099; makefile: 4,585; sh: 2,978; csh: 154; cpp: 101; asm: 39; sed: 5
file content (42 lines) | stat: -rw-r--r-- 1,204 bytes parent folder | download | duplicates (2)
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
      subroutine inibrk
c ====================================================================
c
c       initialisation systeme pour recuperer le break
c
c ===================================== ( Inria    ) ==========
c
c     Copyright INRIA
      logical         iflag
      common /basbrk/ iflag
      iflag=.false.
      call csignal()
c      call sunieee
      return
      end

      subroutine sunieee
C     jpc temporairement
c      external my_handler, my_ignore
c      is=signal( 8,sigbas,-1)
c      i=ieee_handler("set","underflow",my_ignore)
c      i=ieee_handler("set","inexat",my_ignore)
c      i=ieee_handler("set","invalid",my_handler)
c      i=ieee_handler("set","overflow",my_handler)
c      i=ieee_handler("set","division",my_handler)
      return
      end
      
      integer function my_handler(sig,code,sigcontext,addr)
      integer sig,code,sigcontext(5),addr
      call sigbas(8)
      my_handler=0
      return
      end 

C     on peut aussi utiliser SIGFPE_ABORT mais il faut 
C     rajouter un include de <f77/f77_floatingpoint.h>
      integer function my_ignore(sig,code,sigcontext,addr)
      integer sig,code,sigcontext(5),addr
      my_ignore=0
      return
      end