Fri Jan 27 16:56:57 1995 Connection Machine Fortran Version: 2.1  Source Rev: f2100	page: 1
Source Listing File: /usr/castle/share/proj/shortcourse/wator/prob1/cmf/color_display.fcm
    1     1  0 	*
    2     2  0 	*  Name:	display
    3     3  0 	*  Purpose:	This subroutine generates a color display 2D grid of 
    4     4  0 	*		dimension mxn, with values ranging between amin and
    5     5  0 	*		amax.
    6     6  0 	*  Arguments: 	a -- 2D real array
    7     7  0 	*		m,n -- dimensions of a
    8     8  0 	* 		amin,amax -- min. and max. values of elements in a
    9     9  0 	*  Note: 	This program works only with a color monitor.
   10    10  0 	*
   11    11  0 	      SUBROUTINE display(a,m,n)
   12    12  0 	      integer m,n,colors
   13    13  0 	      integer a(m,n)
   14    14  0 	
   15    15  0 	      INTEGER pixel(m,n)
   16    16  0 	
   17    17  0 	      include 'color_display.inc'
   20    18  0 	      integer, array(maxcolors) :: red,green,blue
   21    19  0 	      integer CMXDisplay, disp, win, gc, cmap, ncolors, base, widget, depth
   22    20  0 	      logical iscolor, isrgb, ismap
   23    21  0 	      integer, save, data:: init = 0
   24    22  0 	      REAL s
   25    23  0 	      INCLUDE '/usr/cm5/cmx11/include/cm/cmx-cmf.h'
   26    24  0 	
   27    25  0 	*	First time open the display window
 1044    26  0 		if (init == 0) then
 1045    27  0 	           init = 1
 1046    28  0 	           ncolors = maxcolors
 1047    29  0 	           call CMXSetArgCArgVF()
 1048    30  0 	           CMXDisplay = CMXCreateSimpleDisplay(ncolors,m,n)
 1049    31  0 	           disp       = CMXGetDisplay(CMXDisplay)
 1050    32  0 	           win        = CMXGetDrawable(CMXDisplay)
 1051    33  0 	           gc         = CMXGetGC(CMXDisplay)
 1052    34  0 	           cmap       = CMXGetColormap(CMXDisplay)
 1053    35  0 	           widget     = CMXGetWidget(CMXDisplay)
 1054    36  0 	           depth      = CMXGetDepth(widget)
 1055    37  0 	C	   print *, 'cmap', cmap, ' ncolors ', ncolors,' widget ', widget
 1056    38  0 	C	   print *, ' depth ', depth
 1057    39  0 	           iscolor    = CMXIsColor(widget)
 1058    40  0 	           isrgb      = CMXIsRGB(widget)
 1059    41  0 	           ismap      = CMXHasColormap(widget)
 1060    42  0 	C           print *, 'color ', iscolor, ' rgb ',isrgb, ' map', ismap
 1061    43  0 	           call CMXAllocateColors(disp,cmap,ncolors,base)
 1062    44  0 	C           print *, "Colors Allocated",ncolors, base
 1063    45  0 	           call CMXLoadColorArrays('density',ncolors,red,green,blue)
 1064    46  0 	           call CMXStoreColors(disp,cmap,base,ncolors,red,green,blue)
 1065    47  0 	           call CMXClearDisplay(disp, win)
 1066    48  0 		endif
 1067    49  0 	
 1068    50  0 	        pixel = MIN(maxcolors,MAX(0,a)) + base
 1069    51  0 	        call CMXPutImage(disp, win, gc, pixel, 8, 0, 0, 0, 0, m, n)
 1070    52  0 	
Fri Jan 27 16:56:57 1995 Connection Machine Fortran Version: 2.1  Source Rev: f2100	page: 2
Source Listing File: /usr/castle/share/proj/shortcourse/wator/prob1/cmf/color_display.fcm
 1071    53  0 	        RETURN
Fri Jan 27 16:56:57 1995 Connection Machine Fortran Version: 2.1  Source Rev: f2100	page: 3
Symbol Storage Map   File: /usr/castle/share/proj/shortcourse/wator/prob1/cmf/color_display.fcm
ENTRY POINTS
  Offset  Type    Name
       0  NONE    DISPLAY                         


STORAGE BLOCKS
    Size  Block
     100  local
     191  constants




VARIABLES
  Offset    Size  Type        Block           Name
       8       4  INT4        local           FE       BASE                            
      16       4  INT4        local           FE       CMAP                            
      32       4  INT4        local           FE       CMXDISPLAY                      
     ---       4  INT4        not-referenced  FE       COLORS                          
      80       4  INT4        local           FE       DEPTH                           
      28       4  INT4        local           FE       DISP                            
      20       4  INT4        local           FE       GC                              
       0       4  INT4        local           FE       INIT                            
      84       4  LOG4        local           FE       ISCOLOR                         
      92       4  LOG4        local           FE       ISMAP                           
      88       4  LOG4        local           FE       ISRGB                           
     ---       4  INT4        dummy           FE       M                               
     ---       4  INT4        dummy           FE       N                               
      12       4  INT4        local           FE       NCOLORS                         
     ---       4  REAL4       not-referenced  FE       S                               
       4       4  INT4        local           FE       WIDGET                          
      24       4  INT4        local           FE       WIN                             
     ---       0  NONE        global          FE       _cmpe_display_0                 
     ---       0  NONE        global          FE       _cmpe_display_0_                
     ---       0  NONE        not-referenced  FE       display                         


ARRAYS
  Offset    Size  Type        Block/Class     Home     Name
     ---     ---  INT4        dummy-adjust    CM       A                               
       0      16  INT4        local           FE       BLUE                            
      16      16  INT4        local           FE       GREEN                           
     ---     ---  INT4        local-automatic CM       PIXEL                           
      32      16  INT4        local           FE       RED                             


PARAMETERS (Offset is within Storage Block 'constants')
  Offset  Type    Name                            Value
       0  INT4    ARCCHORD                        0
       0  INT4    ARCPIESLICE                     1
       0  INT4    BUTTON1                         1
       0  INT4    BUTTON1MASK                     256
       0  INT4    BUTTON2                         2
Fri Jan 27 16:56:57 1995 Connection Machine Fortran Version: 2.1  Source Rev: f2100	page: 4
Symbol Storage Map   File: /usr/castle/share/proj/shortcourse/wator/prob1/cmf/color_display.fcm
       0  INT4    BUTTON2MASK                     512
       0  INT4    BUTTON3                         3
       0  INT4    BUTTON3MASK                     1024
       0  INT4    BUTTON4                         4
       0  INT4    BUTTON4MASK                     2048
       0  INT4    BUTTON5                         5
       0  INT4    BUTTON5MASK                     4096
       0  INT4    COMPLEX                         0
       0  INT4    CONTROLMASK                     4
       0  INT4    CONVEX                          2
       0  INT4    COORDMODEORIGIN                 0
       0  INT4    COORDMODEPREVIOUS               1
       0  INT4    DIRECTCOLOR                     5
       0  INT4    GRAYSCALE                       1
       0  INT4    LOCKMASK                        2
       0  INT4    MAXCOLORS                       4
       0  INT4    MOD1MASK                        8
       0  INT4    MOD2MASK                        16
       0  INT4    MOD3MASK                        32
       0  INT4    MOD4MASK                        64
       0  INT4    MOD5MASK                        128
       0  INT4    NONCONVEX                       1
       0  INT4    PSEUDOCOLOR                     3
       0  INT4    SHIFTMASK                       1
       0  INT4    STATICCOLOR                     2
       0  INT4    STATICGRAY                      0
       0  INT4    TRUECOLOR                       4
       0  INT4    _DOUBLE_                        64
       0  INT4    _DOUBLE_COMPLEX_                64
       0  INT4    _DOUBLE_INT_                    64
       0  INT4    _SINGLE_                        32
       0  INT4    _SINGLE_COMPLEX_                32
       0  INT4    _SINGLE_INT_                    32


INTRINSIC PROCEDURES
  Name
  MAX                             
  MIN                             


STATEMENT FUNCTIONS
  Type    Name


EXTERNALS
  Type    Unit_Kind     Name
  NONE    subroutine    CMXALLOCATECOLORS               
  INT4    function      CMXALLOCATEMOUSEPOINT           
  INT4    function      CMXALLOCMBUFFERS                
  INT4    function      CMXBITSOFBLUE                   
  INT4    function      CMXBITSOFGREEN                  
  INT4    function      CMXBITSOFRED                    
  NONE    subroutine    CMXCLEARDISPLAY                 
Fri Jan 27 16:56:57 1995 Connection Machine Fortran Version: 2.1  Source Rev: f2100	page: 5
Symbol Storage Map   File: /usr/castle/share/proj/shortcourse/wator/prob1/cmf/color_display.fcm
  INT4    function      CMXCOLORMAPBLUESIZE             
  INT4    function      CMXCOLORMAPGREENSIZE            
  INT4    function      CMXCOLORMAPREDSIZE              
  INT4    function      CMXCOLORMAPSIZE                 
  INT4    function      CMXCREATEDISPLAY                
  INT4    function      CMXCREATEDISPLAYCLASS           
  INT4    function      CMXCREATESIMPLEDISPLAY          
  NONE    subroutine    CMXCURRENTMOUSEPOINT            
  NONE    subroutine    CMXDEALLOCATEMOUSEPOINT         
  INT4    function      CMXDISPLAYALLOC                 
  NONE    subroutine    CMXDISPLAYFREE                  
  INT4    function      CMXFINDVISUAL                   
  NONE    subroutine    CMXFREECOLORS                   
  NONE    subroutine    CMXFREEMBUFFERS                 
  INT4    function      CMXGETARGC                      
  INT4    function      CMXGETARGV                      
  INT4    function      CMXGETCOLORMAP                  
  INT4    function      CMXGETDEPTH                     
  INT4    function      CMXGETDISPLAY                   
  INT4    function      CMXGETDISPLAYMBUFFER            
  INT4    function      CMXGETDRAWABLE                  
  INT4    function      CMXGETDRAWMBUFFER               
  INT4    function      CMXGETFLAGS                     
  INT4    function      CMXGETGC                        
  INT4    function      CMXGETHEIGHT                    
  NONE    subroutine    CMXGETMOUSELINE                 
  NONE    subroutine    CMXGETMOUSEPOINT                
  NONE    subroutine    CMXGETMOUSERECTANGLE            
  INT4    function      CMXGETVISUALINFO                
  INT4    function      CMXGETWIDGET                    
  INT4    function      CMXGETWIDTH                     
  INT4    function      CMXGETXRESOURCEINTEGER          
  LOG4    function      CMXHASCOLORMAP                  
  LOG4    function      CMXHASMBUFFERS                  
  LOG4    function      CMXISCOLOR                      
  LOG4    function      CMXISRGB                        
  NONE    subroutine    CMXLOADCOLORARRAYS              
  INT4    function      CMXMOUSEPOINTBUTTON             
  INT4    function      CMXMOUSEPOINTX                  
  INT4    function      CMXMOUSEPOINTY                  
  NONE    subroutine    CMXPROCESSEVENTS                
  NONE    subroutine    CMXPUTIMAGE                     
  NONE    subroutine    CMXSETARGCARGV                  
  NONE    subroutine    CMXSETARGCARGVF                 
  NONE    subroutine    CMXSETBACKGROUND                
  INT4    function      CMXSETCOLORMAP                  
  INT4    function      CMXSETDISPLAY                   
  INT4    function      CMXSETDRAWABLE                  
  INT4    function      CMXSETFLAGS                     
  NONE    subroutine    CMXSETFOREGROUND                
  INT4    function      CMXSETGC                        
  NONE    subroutine    CMXSETHEIGHT                    
Fri Jan 27 16:56:57 1995 Connection Machine Fortran Version: 2.1  Source Rev: f2100	page: 6
Symbol Storage Map   File: /usr/castle/share/proj/shortcourse/wator/prob1/cmf/color_display.fcm
  NONE    subroutine    CMXSETMOUSEPOINTLOCATION        
  NONE    subroutine    CMXSETOPTIONS                   
  NONE    subroutine    CMXSETRESOURCES                 
  INT4    function      CMXSETVISUALINFO                
  INT4    function      CMXSETWIDGET                    
  NONE    subroutine    CMXSETWIDTH                     
  NONE    subroutine    CMXSETXAPPCLASS                 
  NONE    subroutine    CMXSETXAPPNAME                  
  NONE    subroutine    CMXSETXICONNAME                 
  NONE    subroutine    CMXSETXWINDOWTITLE              
  NONE    subroutine    CMXSTORECOLOR                   
  NONE    subroutine    CMXSTORECOLORS                  
  NONE    subroutine    CMXSWITCHMBUFFERS               
  INT4    function      CMX_INSTALL_ERROR_HANDLER       
  INT4    function      XBLACKPIXEL                     
  INT4    function      XDEFAULTSCREEN                  
  NONE    subroutine    XDRAWARC                        
  NONE    subroutine    XDRAWIMAGESTRING                
  NONE    subroutine    XDRAWLINE                       
  NONE    subroutine    XDRAWPOINT                      
  NONE    subroutine    XDRAWRECTANGLE                  
  NONE    subroutine    XDRAWSTRING                     
  NONE    subroutine    XFILLARC                        
  NONE    subroutine    XFILLRECTANGLE                  
  NONE    subroutine    XFLUSH                          
  INT4    function      XLOADFONT                       
  NONE    subroutine    XSETFONT                        
  NONE    subroutine    XSETWINDOWBACKGROUND            
  NONE    subroutine    XSYNC                           
  INT4    function      XWHITEPIXEL                     


NAME LISTS
  Name


CONSTRUCT NAMES
  Name



COMMUNICATION ROUTINES
  Name                          Line Number (number of times)


Fri Jan 27 16:56:57 1995 Connection Machine Fortran Version: 2.1  Source Rev: f2100	page: 7
Source Listing File: /usr/castle/share/proj/shortcourse/wator/prob1/cmf/color_display.fcm
Fri Jan 27 16:56:57 1995 Connection Machine Fortran Version: 2.1  Source Rev: f2100	page: 8
Utility Stats
Input File:	/usr/castle/share/proj/shortcourse/wator/prob1/cmf/color_display.fcm
Base File:	color_display
COMMAND QUALIFIERS

	-optimize -dp -extend_source -list color_display.fcm 

	analysis_data
	check = (no bounds,overflow,no underflow )
	continuations = 19
	directives
	extend_source
	f77
	i4
	ifconvert
	level_of_vectorization = 100
	list
	machine_code
	optimize = (local,global,code_motion )
	overlap
	show = (no dictionary,no include,no map,no preprocessor,no single )
	standard = (no syntax,no source,no semantic )
	v104
	warnings = (no declarations,general,no ultrix,no vaxeln )
	postoptimize
	preoptimize
	loadstoremotion
	ucephase
	uaephase
	prcphase
	prsphase
	ucepost
	uaepost
	prcpost
	prspost
	cppost
	complex_lower
	safety = 0
	pnodes = -1
	peephole
	axisreorder
	loopreversal
	dp
	trcback
	skip_garbage
	newforall
	killuselessalloc
	new_modifies
	prc2
	prs2
	redo_modifies
	defer_modifies
	comb_cp
	source_fc
	source_node
	const
	transp
	cp_last
	bb_merge
	meoptimize
	mecopypropagate
	memergetemps
	merepl
	menullallcntx
	mesgsize = 10000
	merge
	amode
	single_complex_opt
	prover = ()
	peschedule
	peschalias
	pe_asm_machine_code
	pe_asm_comments
	pe_asm_srclines