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