Skip to content

Commit

Permalink
Bug fixes to sifdecoder 1) group uses section definitions can now occur
Browse files Browse the repository at this point in the history
in parts 2) scale can now be negative
Update to documentation
  • Loading branch information
dalekopera committed May 28, 2024
1 parent 8aa094a commit 90e2792
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 9 deletions.
Binary file modified doc/pdf/sif.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion doc/src/sif.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2383,7 +2383,7 @@ \subsubsection{\label{S2.2.4}Do-loops}
\bdmath
{\tt iloop} = {\tt istart} + j \cdot {\tt incr}
\edmath
for all positive $j$ for which {\tt iloop} lies between (and
for all non-negative $j$ for which {\tt iloop} lies between (and
including) {\tt istart} and {\tt iend}. If {\tt incr} is negative and
{\tt istart} is larger than {\tt iend}, the parameter specifies a
decreasing sequence of values. If {\tt incr} is positive and {\tt
Expand Down
21 changes: 13 additions & 8 deletions src/decode/sifdecode.f90
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
! THIS VERSION: SIFDECODE 2.3 - 2024-04-07 AT 10:00 GMT.
! THIS VERSION: SIFDECODE 2.4 - 2024-05-27 AT 10:00 GMT.

!-*-*-*-*-*-*-*-*-*-*-*- S I F D E C O D E M O D U l E -*-*-*-*-*-*-*-*-*-*-

Expand All @@ -25,7 +25,7 @@ MODULE SIFDECODE
! V e r s i o n
!---------------

CHARACTER ( LEN = 6 ) :: version = '2.3 '
CHARACTER ( LEN = 6 ) :: version = '2.4 '

!--------------------
! P r e c i s i o n
Expand Down Expand Up @@ -3338,7 +3338,7 @@ SUBROUTINE INTERPRET_gpsmps( &
END IF
IF ( field3 == '''SCALE'' ' .OR. field3 == ' ''SCALE'' ') THEN
novals = 0
value4 = ABS( value4 )
! value4 = ABS( value4 ) ! remove this restriction
END IF
END IF
IF ( debug .AND. out > 0 ) WRITE( out, 5060 ) &
Expand Down Expand Up @@ -7070,13 +7070,18 @@ SUBROUTINE SGUSES( ng, ngtype, ngpnames, ngrupe, nlisgp, novals, &
! the parameters for the group and the number of parameters involved

ELSE
k = ndtype
IF ( k == 0 ) THEN
ngpars = 0
ELSE
IF ( GTYPE( ngrupe ) > 0 ) THEN ! bug fix 2024-05-28
k = GTYPE( ngrupe )
ngpars = GTYPESP_ptr( k + 1 ) - GTYPESP_ptr( k )
ELSE
k = ndtype
IF ( k == 0 ) THEN
ngpars = 0
ELSE
ngpars = GTYPESP_ptr( k + 1 ) - GTYPESP_ptr( k )
END IF
GTYPE( ngrupe ) = k
END IF
GTYPE( ngrupe ) = k
GP_ptr ( ngrupe ) = nlisgp + 1

IF ( nlisgp + ngpars > len_gp_val_orig ) THEN
Expand Down

0 comments on commit 90e2792

Please sign in to comment.