source: trunk/fsource/histogram2d.for @ 271

Last change on this file since 271 was 271, checked in by vondreele, 11 years ago

make g77 versions of fortran for binwin2.7 - faster than gfortran!
fix to histogram2d.for
GSASII.py - allow 2D offset in multiplots, fix for large file lists
GSASIIimgGUI.py - more stuff in save/load controls
GSASIIplot.py - 2D offset in multiplots, fix bad behavior in structure drawings
GSASIIpwd.py - more mods to PDF calcs

File size: 1.2 KB
Line 
1      SUBROUTINE HISTOGRAM2D(N,X,Y,Z,NXBINS,NYBINS,XLIM,YLIM,DX,DY,
2     1  NST,HST)
3
4Cf2py intent(in) n
5Cf2py intent(in) x
6Cf2py depend(n) x
7Cf2py intent(in) y
8Cf2py depend(n) y
9Cf2py intent(in) z
10Cf2py depend(n) z
11Cf2py intent(in) nxbins
12Cf2py intent(in) nybins
13Cf2py intent(in) xlim       
14Cf2py intent(in) ylim
15Cf2py intent(in) dx
16Cf2py intent(in) dy
17Cf2py intent(in,out) nst
18Cf2py depend(nxbins,nybins) nst
19Cf2py intent(in,out) hst
20Cf2py depend(nxbins,nybins) hst
21
22      IMPLICIT NONE
23      INTEGER*4   N
24      REAL*4      X(0:N-1),Y(0:N-1),Z(0:N-1)
25      INTEGER*8   NXBINS,NYBINS
26      REAL*8      XLIM(0:1),YLIM(0:1)
27      REAL*4      NST(0:NXBINS-1,0:NYBINS-1)
28      REAL*4      HST(0:NXBINS-1,0:NYBINS-1)
29
30      INTEGER*4   I,J,K
31      REAL*8      DX,DY
32
33      DO K=0,N-1
34        IF ( ( X(K) .GE. XLIM(0) .AND. X(K) .LE. XLIM(1)) .AND.
35     1    (Y(K) .GE. YLIM(0) .AND. Y(K). LE. YLIM(1)) ) THEN
36          I = NINT((X(K)-XLIM(0))/DX)
37          J = NINT((Y(K)-YLIM(0))/DY)
38          IF ( (I .GE. 0 .AND. I .LT. NXBINS) .AND.
39     1       (J .GE. 0 .AND. J .LT. NYBINS) ) THEN
40            NST(I,J) = NST(I,J)+1.0
41            HST(I,J) = HST(I,J)+Z(K)
42          END IF
43        END IF
44      END DO
45      RETURN
46      END
Note: See TracBrowser for help on using the repository browser.