Index: ccp4/src/fft.f
diff -c ccp4/src/fft.f:1.98 ccp4/src/fft.f:1.100
*** ccp4/src/fft.f:1.98	Tue Sep  6 12:25:12 2005
--- ccp4/src/fft.f	Thu May 10 15:02:12 2007
***************
*** 86,92 ****
  C          ***********************************
        CALL CCPOPN(5,'DATA',5,1,LDUM,IFAIL)
        CALL CCPOPN(6,'PRINTER',6,1,LDUM,IFAIL)
!       CALL CCPRCS(6,'FFTBIG','$Date: 2005/09/06 11:25:12 $')
  C          ***********************************
  C
  C---- Read input including spacegroup number
--- 86,92 ----
  C          ***********************************
        CALL CCPOPN(5,'DATA',5,1,LDUM,IFAIL)
        CALL CCPOPN(6,'PRINTER',6,1,LDUM,IFAIL)
!       CALL CCPRCS(6,'FFTBIG','$Date: 2007/05/10 14:02:12 $')
  C          ***********************************
  C
  C---- Read input including spacegroup number
***************
*** 498,508 ****
  C
  C----     Patterson
  C
!       IF (ISQ.EQ.1) THEN
!          WRITE (ISYSW,FMT=6000)
!  6000  FORMAT ('  PATTERSON calculated - amplitudes used = F1 squared -'
!      +       /'  ** All translational elements of symmetry set to zero',
!      +       ' **')
  C     Write out harker vectors
          CALL HARKER ( NSYM,RSYM)
  C  Get Patterson spacegroup
--- 498,515 ----
  C
  C----     Patterson
  C
! C     C. Vonrhein 20070506 - write correct information depending on
! C     assigned I/F:
! C
!       IF (ABS(ISQ).EQ.1) THEN
!         IF (ISQ.EQ.1) THEN
!           WRITE (ISYSW,FMT=6000) 'F1 squared'
!  6000     FORMAT('  PATTERSON calculated - amplitudes used = ',A,' -',/,
!      +      '** All translational elements of symmetry set to zero',
!      +      ' **')
!         ELSE
!           WRITE (ISYSW,FMT=6000) 'I'
!         END IF
  C     Write out harker vectors
          CALL HARKER ( NSYM,RSYM)
  C  Get Patterson spacegroup
***************
*** 617,624 ****
            ENDIF
          IF (DEL .GT. 0.0) WRITE (6,FMT=6011) DEL
          IF (DEL1 .GT. 0.0) THEN
!             IF (ISQ .EQ. 1) THEN 
                  WRITE (6,FMT=6108) DEL1
              ELSE 
                  WRITE (6,FMT=6105) DEL1
              ENDIF
--- 624,639 ----
            ENDIF
          IF (DEL .GT. 0.0) WRITE (6,FMT=6011) DEL
          IF (DEL1 .GT. 0.0) THEN
! C
! C     C. Vonrhein 20070506 - write correct information depending on
! C     assigned I/F:
! C
!             IF (ABS(ISQ) .EQ. 1) THEN 
!               IF(ISQ.EQ.1) THEN
                  WRITE (6,FMT=6108) DEL1
+               ELSE
+                 WRITE (6,FMT=6109) DEL1
+               END IF
              ELSE 
                  WRITE (6,FMT=6105) DEL1
              ENDIF
***************
*** 628,633 ****
--- 643,650 ----
       +     F12.2)
   6108   FORMAT (21X,'if  absolute magnitude of (A*A +B*B) > ',
       +     F12.2)
+  6109   FORMAT (21X,'if  absolute magnitude of A > ',
+      +     F12.2)
          WRITE (6,FMT=6106)
   6106   FORMAT (/,/)
  C
***************
*** 5200,5206 ****
            WRITE (ISYSW,FMT='(A)') ' ** Column PHI must be of type P **'
            KE = KE + 1
          END IF
!         IF (ISQ.EQ.1) THEN
            NP = 0
            WRITE (ISYSW,FMT='(A)')
       +                  ' ** Note: No PHI used for a Patterson map **'
--- 5217,5228 ----
            WRITE (ISYSW,FMT='(A)') ' ** Column PHI must be of type P **'
            KE = KE + 1
          END IF
! C
! C       C. Vonrhein 20070506 - make sure to use correct (Patterson)
! c       space-group, even if we assigned I (i.e. already squared values,
! c       e.g. F2OR or e2OR from ecalc):
! C
!         IF (ABS(ISQ).EQ.1) THEN
            NP = 0
            WRITE (ISYSW,FMT='(A)')
       +                  ' ** Note: No PHI used for a Patterson map **'
***************
*** 5417,5423 ****
          END IF
  C
          IF (ISQ.NE.0) THEN
!           CALL APPNDS(LINE,'**2')
          ELSE
            CALL APPNDS(LINE,' exp( i PHI)')
          END IF
--- 5439,5449 ----
          END IF
  C
          IF (ISQ.NE.0) THEN
! C
! C     C. Vonrhein 20070506 - write correct information depending on
! C     assigned I/F:
! C
!           IF(NI1.EQ.0) CALL APPNDS(LINE,'**2')
          ELSE
            CALL APPNDS(LINE,' exp( i PHI)')
          END IF
***************
*** 5639,5644 ****
--- 5665,5676 ----
  C     RADIX PRIME MULTI-DIMENSIONAL COMPLEX FOURIER TRANSFORM KERNEL
  C     LAST UPDATED A.D. MCLACHLAN 26 AUG 1987
  C------------------------------------------------------------------------------
+ C
+ CMDW: Note, routine works beyond the nominal bounds of X and Y.
+ C     We think this is deliberate, so don't be tempted to "fix" it.
+ C     This routine is therefore incompatible with "bounds-checking" 
+ C     options of compilers.
+ C
        INTEGER N, M, P, R, DIM(5)
        REAL X(R,P), Y(R,P)
  C-----
