GNU DDD 3.3.1 (i386-suse-linux) Copyright (C) 1995-1999 Technische Universität Braunschweig, Germany. Copyright (C) 1999-2001 Universität Passau, Germany. Compiled with GCC 3.2, GNU libc 2.2 Requires X11R6, Xt11R6, Motif 2.2.2 (Motif Version 2.2.2) Includes XPM 3.4.11, Athena Panner, DDD core Built 2002-09-10 by root . $ ddd ../merlin/m4.x + /bin/sh -c 'exec gdb -q -fullname '\''../merlin/m4.x'\''' # Hello, world! # Opening session "11c0a80002000104627902600000010790012"... # Enabling core dumps... # Enabling core dumps...done. # Running GDB (pid 1860, tty /dev/pts/4)... # Current language: C/C++ # Searching "vsllib/ddd.vsl"... # Trying "/home/clinton/.ddd/vsllib/ddd.vsl" # Trying "/usr/share/ddd-3.3.1/vsllib/ddd.vsl" # Searching "vsllib/ddd.vsl"..."/usr/share/ddd-3.3.1/vsllib/ddd.vsl". # Creating "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/"... # Creating "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/"...done. # Copying "/home/clinton/.ddd/init" to "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/init"... # Copying "/home/clinton/.ddd/init" to "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/init"...done. # Copying "/home/clinton/.ddd/history" to "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/history"... # Copying "/home/clinton/.ddd/history" to "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/history"...done. # Saving session in "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/init"... # Searching "ddd/Ddd"... # Trying "/home/clinton/.ddd/ddd/Ddd" # Trying "/usr/share/ddd-3.3.1/ddd/Ddd" # Searching "ddd/Ddd"..."/usr/share/ddd-3.3.1/ddd/Ddd". # Saving session in "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/init"...done. <- "(gdb) " -> "set prompt (gdb) \n" <- "(gdb) " -> "set height 0\n" <- "(gdb) " -> "set width 0\n" <- "(gdb) " -> "set annotate 1\n" <- "(gdb) " -> " set verbose off\n" <- "(gdb) " -> "info line\n" <- "No line number information available.\n" "(gdb) " -> "list\n" <- "16\t\"$Locker: $\" ;\n" "17\t\n" "18\tvolatile bool timeout = false ;\n" "19\t\n" "20\t//------------------------------------------------------------------------------\n" "21\tint main(int argc, char **argv) {\n" "22\t//------------------------------------------------------------------------------\n" "23\t\n" "24\t int i, opt, adut, idut, pdut, tdut, nduts, nparts, ird, nrd, nsolved ;\n" "25\t unsigned mcount = UINT_MAX ;\n" "(gdb) " -> "info line\n" <- "Line 25 of \"aram.C\" starts at address 0x8057420 and ends at 0x8057427 .\n" "\032\032/home/clinton/cvs/aram/aram.C:25:611:beg:0x8057420\n" "(gdb) " -> "output 4711\n" <- "4711(gdb) " -> "show language\n" <- "The current source language is \"auto; currently c++\".\n" "(gdb) " -> "show version\n" <- "GNU gdb 5.2.1\n" "Copyright 2002 Free Software Foundation, Inc.\n" "GDB is free software, covered by the GNU General Public License, and you are\n" "welcome to change it and/or distribute copies of it under certain conditions.\n" "Type \"show copying\" to see the conditions.\n" "There is absolutely no warranty for GDB. Type \"show warranty\" for details.\n" "This GDB was configured as \"i586-suse-linux\".\n" "(gdb) " -> "pwd\n" <- "Working directory /home/clinton/ARAM/splitcol/griffin.\n" "(gdb) " -> "info breakpoints\n" <- "No breakpoints or watchpoints.\n" "(gdb) " -> "show history filename\n" <- "The filename in which to record the command history is \"/home/clinton/ARAM/splitcol/griffin/.gdb_history\".\n" "(gdb) " -> "show history size\n" <- "The size of the command history is 256.\n" "(gdb) " # Reading file "/home/clinton/cvs/aram/aram.C"... # Reading file "/home/clinton/cvs/aram/aram.C"...done. # File "/home/clinton/cvs/aram/aram.C" 368 lines, 11933 characters -> "info source\n" <- "Current source file is aram.C\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/aram.C\n" "Contains 368 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" "(gdb) " -> "info files\n" <- "Symbols from \"/home/clinton/ARAM/splitcol/merlin/m4.x\".\n" "Local exec file:\n" "\t`/home/clinton/ARAM/splitcol/merlin/m4.x\', file type elf32-i386.\n" "\tEntry point: 0x8049600\n" "\t0x08048114 - 0x08048127 is .interp\n" "\t0x08048128 - 0x08048148 is .note.ABI-tag\n" "\t0x08048148 - 0x080483c0 is .hash\n" "\t0x080483c0 - 0x08048950 is .dynsym\n" "\t0x08048950 - 0x08048ce5 is .dynstr\n" "\t0x08048ce6 - 0x08048d98 is .gnu.version\n" "\t0x08048d98 - 0x08048e48 is .gnu.version_r\n" "\t0x08048e48 - 0x08048e88 is .rel.dyn\n" "\t0x08048e88 - 0x080490f8 is .rel.plt\n" "\t0x080490f8 - 0x08049110 is .init\n" "\t0x08049110 - 0x08049600 is .plt\n" "\t0x08049600 - 0x08072a70 is .text\n" "\t0x08072a70 - 0x08072a8c is .fini\n" "\t0x08072aa0 - 0x080789c2 is .rodata\n" "\t0x080789c4 - 0x08078e48 is .eh_frame_hdr\n" "\t0x08079e48 - 0x08079ea8 is .data\n" "\t0x08079ea8 - 0x0807c890 is .eh_frame\n" "\t0x0807c890 - 0x0807cd46 is .gcc_except_table\n" "\t0x0807cd48 - 0x0807ce30 is .dynamic\n" "\t0x0807ce30 - 0x0807ce3c is .ctors\n" "\t0x0807ce3c - 0x0807ce44 is .dtors\n" "\t0x0807ce44 - 0x0807ce48 is .jcr\n" "\t0x0807ce48 - 0x0807cf90 is .got\n" "\t0x0807cfa0 - 0x0844df0c is .bss\n" "(gdb) " -> "info program\n" <- "The program being debugged is not being run.\n" "(gdb) " -> "set confirm off\n" <- "(gdb) " -> "source /tmp/ddd6yqDlg\n" <- "(gdb) " -> "info breakpoints\n" <- "No breakpoints or watchpoints.\n" "(gdb) " -> "# reset\n" <- "(gdb) " -> "info breakpoints\n" <- "No breakpoints or watchpoints.\n" "(gdb) " -> "display\n" <- "(gdb) " -> "info display\n" <- "There are no auto-display expressions now.\n" "(gdb) " -> "set environment TERM dumb\n" <- "(gdb) " -> "info files\n" <- "Symbols from \"/home/clinton/ARAM/splitcol/merlin/m4.x\".\n" "Local exec file:\n" "\t`/home/clinton/ARAM/splitcol/merlin/m4.x\', file type elf32-i386.\n" "\tEntry point: 0x8049600\n" "\t0x08048114 - 0x08048127 is .interp\n" "\t0x08048128 - 0x08048148 is .note.ABI-tag\n" "\t0x08048148 - 0x080483c0 is .hash\n" "\t0x080483c0 - 0x08048950 is .dynsym\n" "\t0x08048950 - 0x08048ce5 is .dynstr\n" "\t0x08048ce6 - 0x08048d98 is .gnu.version\n" "\t0x08048d98 - 0x08048e48 is .gnu.version_r\n" "\t0x08048e48 - 0x08048e88 is .rel.dyn\n" "\t0x08048e88 - 0x080490f8 is .rel.plt\n" "\t0x080490f8 - 0x08049110 is .init\n" "\t0x08049110 - 0x08049600 is .plt\n" "\t0x08049600 - 0x08072a70 is .text\n" "\t0x08072a70 - 0x08072a8c is .fini\n" "\t0x08072aa0 - 0x080789c2 is .rodata\n" "\t0x080789c4 - 0x08078e48 is .eh_frame_hdr\n" "\t0x08079e48 - 0x08079ea8 is .data\n" "\t0x08079ea8 - 0x0807c890 is .eh_frame\n" "\t0x0807c890 - 0x0807cd46 is .gcc_except_table\n" "\t0x0807cd48 - 0x0807ce30 is .dynamic\n" "\t0x0807ce30 - 0x0807ce3c is .ctors\n" "\t0x0807ce3c - 0x0807ce44 is .dtors\n" "\t0x0807ce44 - 0x0807ce48 is .jcr\n" "\t0x0807ce48 - 0x0807cf90 is .got\n" "\t0x0807cfa0 - 0x0844df0c is .bss\n" "(gdb) " -> "info program\n" <- "The program being debugged is not being run.\n" "(gdb) " -> "help detach\n" <- "Detach a process or file previously attached.\n" "If a process, it is no longer traced, and it continues its execution. If\n" "you were debugging a file, the file is closed and gdb no longer accesses it.\n" "(gdb) " # Opening session "11c0a80002000104627902600000010790012"...done. # Welcome to DDD 3.3.1 "Blue Gnu" (i386-suse-linux) -> "help run\n" <- "Start debugged program. You may specify arguments to give it.\n" "Args may include \"*\", or \"[...]\"; they are expanded using \"sh\".\n" "Input and output redirection with \">\", \"<\", or \">>\" are also allowed.\n" "\n" "With no arguments, uses arguments last specified (with \"run\" or \"set args\").\n" "To cancel previous arguments and run with no arguments,\n" "use \"set args\" without arguments.\n" "(gdb) " -> "help step\n" <- "Step program until it reaches a different source line.\n" "Argument N means do this N times (or till program stops for another reason).\n" "(gdb) " -> "help stepi\n" <- "Step one instruction exactly.\n" "Argument N means do this N times (or till program stops for another reason).\n" "(gdb) " -> "help next\n" <- "Step program, proceeding through subroutine calls.\n" "Like the \"step\" command as long as subroutine calls do not happen;\n" "when they do, the call is treated as one instruction.\n" "Argument N means do this N times (or till program stops for another reason).\n" "(gdb) " -> "help nexti\n" <- "Step one instruction, but proceed through subroutine calls.\n" "Argument N means do this N times (or till program stops for another reason).\n" "(gdb) " -> "help until\n" <- "Execute until the program reaches a source line greater than the current\n" "or a specified line or address or function (same args as break command).\n" "Execution will also stop upon exit from the current stack frame.\n" "(gdb) " -> "help finish\n" <- "Execute until selected stack frame returns.\n" "Upon return, the value returned is printed and put in the value history.\n" "(gdb) " -> "help cont\n" <- "Continue program being debugged, after signal or breakpoint.\n" "If proceeding from breakpoint, a number N may be used as an argument,\n" "which means to set the ignore count of that breakpoint to N - 1 (so that\n" "the breakpoint won\'t break until the Nth time it is reached).\n" "(gdb) " -> "help signal\n" <- "Continue program giving it signal specified by the argument.\n" "An argument of \"0\" means continue program without giving it a signal.\n" "(gdb) " -> "help kill\n" <- "Kill execution of program being debugged.\n" "(gdb) " -> "help up\n" <- "Select and print stack frame that called this one.\n" "An argument says how many frames up to go.\n" "(gdb) " -> "help down\n" <- "Select and print stack frame called by this one.\n" "An argument says how many frames down to go.\n" "(gdb) " -> "output while\n" <- "No symbol \"while\" in current context.\n" <- "(gdb) " -> "break aram.C:152\n" <- "Breakpoint 1 at 0x80578d3: file aram.C, line 152.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" <- "(gdb) " -> "set environment TERM dumb\n" <- "(gdb) " -> "run -T 0 -DAI test.dat\n" <- "\n" <- "Breakpoint 1, main (argc=5, argv=0xbffff164) at aram.C:152\n" <- "\032\032/home/clinton/cvs/aram/aram.C:152:3549:beg:0x80578d3\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" <- "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" <- "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:72\n" <- "\032\032/home/clinton/cvs/aram/config.C:72:2179:beg:0x8059286\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" <- "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" <- "\tbreakpoint already hit 1 time\n" <- "(gdb) " # Reading file "/home/clinton/ARAM/splitcol/griffin/config.C"... # Reading file "/home/clinton/ARAM/splitcol/griffin/config.C"...No such file or directory. -> "info source\n" <- "Current source file is config.C\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/config.C\n" "Contains 972 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " # Reading file "config.C" from GDB... -> "list config.C:1,1000000\n" <- "1\t/*!#!#*/\n" "2\t\n" "3\t#include \n" "4\t#include \n" "5\t#include \n" "6\t#include \n" "7\t\n" "8\t#include \"config.h\"\n" "9\t#include \"partition.h\"\n" "10\t\n" "11\tstatic const char _rcs_id_config_c_[] =\n" "12\t\"$Id: config.C,v 1.19 2003/01/21 08:30:57 mmr Exp $ $Name: $\" ;\n" "13\t\n" "14\t//------------------------------------------------------------------------------\n" "15\tnamespace config {\n" "16\t//------------------------------------------------------------------------------\n" "17\t\n" "18\t // definition of namespace members\n" "19\t // remember that namespace constants are static and therefore\n" "20\t // zero initialised\n" "21\t\n" "22\t int MRAXAddress ;\n" "23\t int MRAYAddress ;\n" "24\t int MRAZAddress ;\n" "25\t int MRADataBit ;\n" "26\t int MRAMultiAreaCount ;\n" "27\t bool MRAReductionMode ;\n" "28\t const char *MRAReductionBit[3] ;\n" "29\t unsigned xcompression, ycompression ;\n" "30\t const char *ColumnRepair ;\n" "31\t const char *ColumnSearch ;\n" "32\t const char *ColumnSplit ;\n" "33\t const char *RowRepair ;\n" "34\t const char *RowSearch ;\n" "35\t const char *RowSplit ;\n" "36\t int MRARowGroups ;\n" "37\t int MRAColumnGroups ;\n" "38\t int MRATotalBlocks ;\n" "39\t int ARAMRepairPriority = AUTOMATIC ;\n" "40\t int ARAMTimeLimit ;\n" "41\t int ARAMBinFileSize ;\n" "42\t bool ARAMSeparateMode ;\n" "43\t bool ARAMExtendMustRepairs ;\n" "44\t bool ARAMWideSetsigns ;\n" "45\t bool ARAMBinTriops ;\n" "46\t binclass NOT_ANALYSED,PERFECT,REPAIRABLE,PARTIAL,IRREPARABLE ;\n" "47\t binclass A_NOT_ANALYSED,A_PERFECT,A_REPAIRABLE,A_PARTIAL,A_IRREPARABLE ;\n" "48\t binclass RepeatedB,RepeatedRDB,SharedSAFailB,TimeLimitFlagB,SparseFailLimitB,\n" "49\t IllegalFailB,timeoutB,AnalysisErrorB,IterationFailB,NoDut ;\n" "50\t PartialBinning *partialBinning[MAXPARTS] ;\n" "51\t\n" "52\t int npbcs = 0 ;\n" "53\t int nblocks ;\n" "54\t\n" "55\t int rows_per_block, columns_per_block ;\n" "56\t\n" "57\t xybits rowrepair, rowsearch, rowsplit ;\n" "58\t xybits columnrepair, columnsearch, columnsplit ;\n" "59\t\n" "60\t addrbits *xfailf = 0, *yfailf = 0, *xsolf = 0, *ysolf = 0 ;\n" "61\t addrbits *xpsolf = 0, *ypsolf = 0 ;\n" "62\t\n" "63\t segmentation *rseg, *cseg ;\n" "64\t\n" "65\t void (**repair_condition)() = repair_condition_array ;\n" "66\t\n" "67\t //-----------------------------------------------------------------------------\n" "68\t //*** config subroutine for initialization\n" "69\t //-----------------------------------------------------------------------------\n" "70\t int config(partition *part[], unsigned timelimit) {\n" "71\t //-----------------------------------------------------------------------------\n" "72\t int i, j, iseg, nparts = 0 ;\n" "73\t segment_t *segment ; \n" "74\t partition *ppart ;\n" "75\t\n" "76\t if(!*repair_condition) return 0 ;\n" "77\t \n" "78\t MRAXAddress = MRAYAddress = MRAZAddress = 0 ;\n" "79\t MRADataBit = MRAMultiAreaCount = 0 ;\n" "80\t xcompression = ycompression = 0 ;\n" "81\t MRARowGroups = MRAColumnGroups = MRATotalBlocks = 0 ;\n" "82\t ARAMRepairPriority = AUTOMATIC ;\n" "83\t ARAMTimeLimit = ARAMBinFileSize = 0 ;\n" "84\t ARAMBinTriops = MRAReductionMode = ARAMSeparateMode = false ;\n" "85\t ARAMExtendMustRepairs = ARAMWideSetsigns = false ;\n" "86\t \n" "87\t (*repair_condition++)() ;\n" "88\t\n" "89\t if(MRAZAddress != 0) {\n" "90\t fprintf(stderr,\"can\'t handle MRAZAddress != 0\\n" "\") ;\n" "91\t exit(1) ;\n" "92\t }\n" "93\t\n" "94\t if(!xfailf || !yfailf) {\n" "95\t fprintf(stderr,\"MRAFailAddressFormat not properly set\\n" "\") ;\n" "96\t exit(1) ;\n" "97\t }\n" "98\t\n" "99\t if(!xsolf || !ysolf) {\n" "100\t fprintf(stderr,\"ARAMSolutionFormat not properly set\\n" "\") ;\n" "101\t exit(1) ;\n" "102\t }\n" "103\t\n" "104\t if(ARAMBinFileSize == 0) {\n" "105\t fprintf(stderr,\"you must specify ARAMBinFileSize > 0\\n" "\") ;\n" "106\t exit(1) ;\n" "107\t }\n" "108\t\n" "109\t if(unsigned(NOT_ANALYSED) == 0xFF) {\n" "110\t fprintf(stderr,\"you must specify MRABinFormat\\n" "\") ;\n" "111\t exit(1) ;\n" "112\t }\n" "113\t\n" "114\t if(unsigned(A_NOT_ANALYSED) == 0xFF) {\n" "115\t fprintf(stderr,\"you must specify ARAMBinFormat\\n" "\") ;\n" "116\t exit(1) ;\n" "117\t }\n" "118\t\n" "119\t if(unsigned(A_PARTIAL) == 0xFF && ARAMSeparateMode) {\n" "120\t fprintf(stderr,\"You have set ARAMSeparateMode\\n" "\"\n" "121\t \"but not specified a code for \\\"partial\\\" \"\n" "122\t \"in ARAMBinFormat.\\n" "\");\n" "123\t exit(1) ;\n" "124\t }\n" "125\t\n" "126\t if(unsigned(RepeatedRDB) == 0xFF) RepeatedRDB = RepeatedB ;\n" "127\t\n" "128\t /***************************************************" <- "************************/\n" "129\t /* Create a default PseudoSolutionString if none is given in ERCF. */\n" "130\t /* Format: \"F,DN...D0,YN...Y0,XN...X0\" */\n" "131\t /***************************************************************************/\n" "132\t \n" "133\t if(xpsolf == 0 || ypsolf == 0) {\n" "134\t if(MRAXAddress + MRAYAddress + MRADataBit > 32) {\n" "135\t fprintf(stderr,\"illegal: (MRAXAddress + MRAYAddress + MRADataBit > 32\\n" "\") ;\n" "136\t exit(1) ;\n" "137\t }\n" "138\t\n" "139\t int n ;\n" "140\t char PseudoSolutionString[114] ;\n" "141\t char *cpt = PseudoSolutionString ;\n" "142\t sprintf(cpt,\"F,\") ; cpt += 2 ;\n" "143\t for(i=log2m(MRADataBit)-1; i>=0; i--, cpt+=n) sprintf(cpt,\"D%1d,%n\",i,&n) ;\n" "144\t for(i=MRAYAddress-1; i>=0; i--,cpt+=n) sprintf(cpt,\"Y%1d,%n\",i,&n) ;\n" "145\t for(i=MRAXAddress-1; i>0; i--,cpt+=n) sprintf(cpt,\"X%1d,%n\",i,&n) ;\n" "146\t sprintf(cpt,\"X0\") ;\n" "147\t \n" "148\t set_addressformat(\"MRASolutionFormat\",\n" "149\t\t\t PseudoSolutionString,PseudoSolutionString) ;\n" "150\t }\n" "151\t /******************** end of pseudo solution string ************************/\n" "152\t\n" "153\t if(MRAReductionMode) {\n" "154\t\n" "155\t if(strlen(MRAReductionBit[0]) != MRAXAddress\n" "156\t ||strlen(MRAReductionBit[1]) != MRAYAddress\n" "157\t ||strlen(MRAReductionBit[2]) != MRAZAddress) {\n" "158\t fprintf(stderr,\"inconsistent length in MRAReductionBit\\n" "\") ;\n" "159\t exit(1) ;\n" "160\t }\n" "161\t\n" "162\t for(i=0; i1) {\n" "190\t if(MRADataBit % MRAMultiAreaCount) {\n" "191\t fprintf(stderr,\"Illegal value for MRAMultiAreaCount.\\n" "\") ;\n" "192\t exit(1) ;\n" "193\t }\n" "194\t MRADataBit /= MRAMultiAreaCount ;\n" "195\t }\n" "196\t\n" "197\t if((nblocks = MRATotalBlocks*MRADataBit) == 0) {\n" "198\t fprintf(stderr,\"zero blocks. Check MRADataBit or MRAMultiAreaCount\\n" "\") ;\n" "199\t exit(1) ;\n" "200\t } ;\n" "201\t\n" "202\t if(timelimit < UINT_MAX) ARAMTimeLimit = timelimit ;\n" "203\t else if(ARAMTimeLimit == 0) ARAMTimeLimit = 1000 ;\n" "204\t\n" "205\t rseg->convert_links() ;\n" "206\t cseg->convert_links() ;\n" "207\t\n" "208\t /* find partitions */\n" "209\t\n" "210\t // The start with row segments is arbitrary, it might have been\n" "211\t // column segments instead. But after this initial selection, **all**\n" "212\t // row and column segments are processed.\n" "213\t \n" "214\t for(segment = rseg->segment, iseg=0; isegnsegments; segment++,iseg++) {\n" "215\t if(segment->in_partition) continue ; // has already been assigned\n" "216\t if(nparts >= MAXPARTS) {\n" "217\t fprintf(stderr,\"config: too many partitions\\n" "\") ;\n" "218\t exit(1) ;\n" "219\t }\n" "220\t ppart = new partition(MRARowGroups,MRAColumnGroups) ;\n" "221\t add_row_segment(segment,ppart,rseg->blockpt,cseg->blockpt) ;\n" "222\t\n" "223\t ppart->set_reps() ;\n" "224\t ppart->make_spart() ;\n" "225\t\n" "226\t // sort partitions ascending by their internal number\n" "227\t for(i=0; igetno() < part[i]->getno()) break ;\n" "228\t if(nparts>i) memmove(part+i+1,part+i,(nparts-i)*sizeof(partition*)) ;\n" "229\t part[i] = ppart ;\n" "230\t nparts++ ;\n" "231\t }\n" "232\t\n" "233\t // Check yet whether actually all blocks in column sections have been found.\n" "234\t // (if not it\'s a format error in the RCF, provided the program works\n" "235\t // correctly) \n" "236\t for(iseg=0; isegnsegments; ise" <- "g++) {\n" "237\t if(cseg->segment[iseg].in_partition) continue ; // ok\n" "238\t fprintf(stderr,\"%s %s\\n" "\",\n" "239\t \"config: a block in a column block group has no counterpart\",\n" "240\t \"in a row block group\") ;\n" "241\t exit(1) ;\n" "242\t }\n" "243\t\n" "244\t // check partial binning codes, if applicable\n" "245\t if(ARAMSeparateMode) {\n" "246\t for(j=0; jgetBin() == INT_MIN) {\n" "248\t fprintf(stderr,\n" "249\t \"You must supply two binning codes in ARAMPartialBinFormat.\\n" "\") ;\n" "250\t exit(1) ;\n" "251\t }\n" "252\t if((i=partialBinning[j]->getMaxPartition()) > nparts) {\n" "253\t fprintf(stderr,\"ARAMPartialBinFormat: \"\n" "254\t \"%d is not a valid partition number\\n" "\", i) ;\n" "255\t exit(1) ;\n" "256\t }\n" "257\t }\n" "258\t for(i=0; icontainsPartition(i)) break ;\n" "260\t if(j == npbcs) {\n" "261\t fprintf(stderr,\n" "262\t \"No partial binning code for partition %d specified.\\n" "\",i+1) ;\n" "263\t exit(1) ;\n" "264\t }\n" "265\t }\n" "266\t }\n" "267\t\n" "268\t return nparts ;\n" "269\t\n" "270\t //----------------------------------------------------------------------------\n" "271\t } // end of config subroutine\n" "272\t //----------------------------------------------------------------------------\n" "273\t\n" "274\t\n" "275\t //----------------------------------------------------------------------------\n" "276\t partition_address find_partition_address(unsigned x, unsigned y, unsigned DQ) {\n" "277\t //----------------------------------------------------------------------------\n" "278\t unsigned xpart, ypart ;\n" "279\t partition *part ;\n" "280\t segment_t *seg ;\n" "281\t int sec ;\n" "282\t bool xred, yred ;\n" "283\t\n" "284\t block_address ba = find_block_address(x,y,DQ) ;\n" "285\t\n" "286\t // find row section number in that partition for given block number\n" "287\t seg = rseg->blockpt[ba.n].segment ;\n" "288\t part = seg->in_partition ;\n" "289\t if((sec=part->xsecno(seg)) < 0) {\n" "290\t fprintf(stderr,\"failed to find row section for block no. %d\\n" "\",ba.n) ;\n" "291\t exit(1) ;\n" "292\t }\n" "293\t xred = seg >= rseg->first_red ;\n" "294\t\n" "295\t xpart = part->xsec[sec]->first\n" "296\t\t+ seg->blockgroup[ba.n]*rowsearch.addrs() + ba.x ;\n" "297\t if(xpart >= part->nvx) {\n" "298\t fprintf(stderr,\"xpart out of range\\n" "\") ;\n" "299\t exit(2) ;\n" "300\t }\n" "301\t\n" "302\t // find column section number in that partition for given block number\n" "303\t seg = cseg->blockpt[ba.n].segment ;\n" "304\t if(part != seg->in_partition) { // safety check\n" "305\t fprintf(stderr,\"inconsistency between rseg and cseg\\n" "\") ;\n" "306\t exit(2) ;\n" "307\t }\n" "308\t\n" "309\t if((sec=part->ysecno(seg)) < 0) {\n" "310\t fprintf(stderr,\"failed to find column section for block no. %d\\n" "\",ba.n) ;\n" "311\t exit(1) ;\n" "312\t }\n" "313\t yred = seg >= cseg->first_red ;\n" "314\t\n" "315\t ypart = part->ysec[sec]->first\n" "316\t\t+ seg->blockgroup[ba.n]*columnsearch.addrs() + ba.y ;\n" "317\t if(ypart >= part->nvy) {\n" "318\t fprintf(stderr,\"ypart out of range\\n" "\") ;\n" "319\t exit(2) ;\n" "320\t }\n" "321\t\n" "322\t return partition_address(part,xpart,ypart,xred,yred) ;\n" "323\t\n" "324\t //----------------------------------------------------------------------------\n" "325\t } // end of find_partition_address subroutine\n" "326\t //----------------------------------------------------------------------------\n" "327\t\n" "328\t //----------------------------------------------------------------------------\n" "329\t void add_row_segment(segment_t *segment, partition *part,\n" "330\t const block_coord *rblockpt,\n" "331\t const block_coord *cblockpt) {\n" "332\t //----------------------------------------------------------------------------\n" "333\t int i,ib ;\n" "334\t\n" "335\t if(segment->in_partition) return ;\n" "336\t\n" "337\t part->add_row_section(rowsearch.addrs()*segment->nblockgroups,\n" "338\t segment->nspares,segment) ;\n" "339\t\n" "340\t segment->in_partition = part ;\n" "341\t\n" "342\t // scan through blocks and find matching column segment\n" "343\t for(i = 0; i < segment->nblocks; i++) {\n" "344\t ib = segment->member[i] ;\n" "345\t add_column_segment(cblockpt[ib].segment,part,rblockpt,cblockpt) ;\n" "346\t }\n" "347\t\n" "348\t // add linked segments\n" "349\t for(i=0" <- "; inlinks; i++)\n" "350\t add_row_segment(segment->link[i].s,part,rblockpt,cblockpt) ;\n" "351\t\n" "352\t }\n" "353\t\n" "354\t //----------------------------------------------------------------------------\n" "355\t void add_column_segment(segment_t *segment, partition *part,\n" "356\t const block_coord *rblockpt,\n" "357\t\t\t\t const block_coord *cblockpt) {\n" "358\t //----------------------------------------------------------------------------\n" "359\t int i, ib ;\n" "360\t\n" "361\t if(segment->in_partition) return ;\n" "362\t\n" "363\t part->add_column_section(columnsearch.addrs()*segment->nblockgroups,\n" "364\t segment->nspares,segment) ;\n" "365\t\n" "366\t segment->in_partition = part ;\n" "367\t\n" "368\t // scan through blocks and find matching row segment\n" "369\t for(i = 0; i < segment->nblocks; i++) {\n" "370\t ib = segment->member[i] ;\n" "371\t add_row_segment(rblockpt[ib].segment,part,rblockpt,cblockpt) ;\n" "372\t }\n" "373\t\n" "374\t // add linked segments\n" "375\t for(i=0; inlinks; i++)\n" "376\t add_column_segment(segment->link[i].s,part,rblockpt,cblockpt) ;\n" "377\t\n" "378\t }\n" "379\t\n" "380\t\n" "381\t //----------------------------------------------------------------------------\n" "382\t void addPartialBinning(int ptbin, int bin, ...) {\n" "383\t //----------------------------------------------------------------------------\n" "384\t int n = 0 ;\n" "385\t int partition ;\n" "386\t\n" "387\t if(ptbin < 0 || bin < 0 && bin != INT_MIN) {\n" "388\t fprintf(stderr,\"Illegal partial binning codes: %d,%d\\n" "\",ptbin,bin) ;\n" "389\t exit(1) ;\n" "390\t }\n" "391\t\n" "392\t va_list ap ;\n" "393\t va_start(ap,bin) ;\n" "394\t\n" "395\t while((partition=va_arg(ap,int)) > INT_MIN) n++ ;\n" "396\t\n" "397\t va_end(ap) ;\n" "398\t\n" "399\t va_start(ap,bin) ;\n" "400\t\n" "401\t if(npbcs >= MAXPARTS) {\n" "402\t fprintf(stderr,\"too many partial binning codes specified\\n" "\") ;\n" "403\t exit(1) ;\n" "404\t }\n" "405\t\n" "406\t partialBinning[npbcs++] = new PartialBinning(ptbin,bin,n) ;\n" "407\t\n" "408\t while((partition=va_arg(ap,int)) > INT_MIN) {\n" "409\t if(partition < 1) {\n" "410\t fprintf(stderr,\"ARAMPartialBinFormat: %d is not a valid partition number\\n" "\",\n" "411\t partition) ;\n" "412\t exit(1) ;\n" "413\t }\n" "414\t partialBinning[npbcs-1]->addPartition(partition) ;\n" "415\t }\n" "416\t\n" "417\t va_end(ap) ;\n" "418\t }\n" "419\t\n" "420\t //----------------------------------------------------------------------------\n" "421\t int PartialBinning::matchLength(unsigned short bbin[]) const {\n" "422\t //----------------------------------------------------------------------------\n" "423\t int bcode ;\n" "424\t for(int i = 0; inblockgroups++ ;\n" "441\t\n" "442\t for(block=n1; block >= 0; block=va_arg(ap,int)) {\n" "443\t block-- ; // switch to block counting from 0 (unlike in RCF)\n" "444\t validate(block) ;\n" "445\t blockpt[block] = block_coord(segmentpt,segmentpt->addblock(block)) ;\n" "446\t }\n" "447\t va_end(ap) ;\n" "448\t }\n" "449\t\n" "450\t\n" "451\t //----------------------------------------------------------------------------\n" "452\t void segmentation::link(int n1,...) {\n" "453\t //----------------------------------------------------------------------------\n" "454\t int i, segm ;\n" "455\t va_list ap ;\n" "456\t va_start(ap,n1) ;\n" "457\t\n" "458\t for(segm=n1; segm >= 0; segm=va_arg(ap,int)) segmentpt->nlinks++ ;\n" "459\t va_end(ap) ;\n" "460\t segmentpt->link = new segment_t::link_t[segmentpt->nlinks] ;\n" "461\t\n" "462\t segm = n1 - 1 ;\n" "463\t va_start(ap,n1) ;\n" "464\t for(i=0; inlinks; i++) {\n" "465\t segmentpt->link[i].n = segm ; // segments counted from 0 (unlike in RCF)\n" "466\t segm = va_arg(ap,int) - 1 ;\n" "467\t }\n" "468\t va_end(ap) ;\n" "469\t\n" "470\t }\n" "471\t\n" "472\t\n" "473\t //----------------------------------------------------------------------------\n" "474\t void segmentation::SharedSenseAmps(int seg1, int seg2) {\n" "47" <- "5\t //----------------------------------------------------------------------------\n" "476\t if(seg1 < 1 || seg1 > nsegments ||\n" "477\t seg2 < 1 || seg2 > nsegments) {\n" "478\t fprintf(stderr,\"illegal SharedSenseAmps statement\\n" "\") ;\n" "479\t exit(1) ;\n" "480\t }\n" "481\t segment[seg1-1].SharedSASeg = segment+seg2-1 ;\n" "482\t segment[seg2-1].SharedSASeg = segment+seg1-1 ;\n" "483\t }\n" "484\t\n" "485\t\n" "486\t //----------------------------------------------------------------------------\n" "487\t bool segment_t::is_spare(int a) {\n" "488\t //----------------------------------------------------------------------------\n" "489\t for(int i=0; iis_spare(a)) return true ;\n" "490\t\n" "491\t return false ;\n" "492\t }\n" "493\t\n" "494\t\n" "495\t //----------------------------------------------------------------------------\n" "496\t void segment_t::set_spaset(int start, int stop, int step, int forbidden) {\n" "497\t //----------------------------------------------------------------------------\n" "498\t int i ;\n" "499\t if(nspasets >= MSPASETS) {\n" "500\t fprintf(stderr,\"Too many spare address sets.\\n" "\") ;\n" "501\t exit(1) ;\n" "502\t }\n" "503\t spaset[nspasets++] = new SPASet(start,stop,step,forbidden) ;\n" "504\t if(step > 0) for(i=start; i<=stop; i += step) nspares++ ; \n" "505\t else if(step < 0) for(i=start; i>=stop; i += step) nspares++ ; \n" "506\t else {\n" "507\t fprintf(stderr,\n" "508\t \"Negative step size in spare address set not allowed.\\n" "\") ;\n" "509\t exit(1) ;\n" "510\t }\n" "511\t }\n" "512\t\n" "513\t //----------------------------------------------------------------------------\n" "514\t int *segment_t::getSpareAddresses() const {\n" "515\t //----------------------------------------------------------------------------\n" "516\t int i, n = 0 ;\n" "517\t if(nspares<=0) return 0 ;\n" "518\t int *array = new int[nspares] ;\n" "519\t for(i=0; iaddresses(),spaset[i]->members()*sizeof(int)) ;\n" "521\t n+=spaset[i]->members() ;\n" "522\t }\n" "523\t return array ;\n" "524\t }\n" "525\t\n" "526\t //----------------------------------------------------------------------------\n" "527\t int *segment_t::getForbiddenAddresses() const {\n" "528\t //----------------------------------------------------------------------------\n" "529\t int i, j, n = 0 ;\n" "530\t if(nspares<=0) return 0 ;\n" "531\t for(i=0; igetForbidden() >=0) break ;\n" "533\t if(i == nspasets) return 0 ; // no forbidden addresses set\n" "534\t\n" "535\t int *array = new int[nspares] ;\n" "536\t for(i=0; imembers(); j++)\n" "538\t array[n++] = spaset[i]->getForbidden() ;\n" "539\t return array ;\n" "540\t }\n" "541\t\n" "542\t\n" "543\t //----------------------------------------------------------------------------\n" "544\t int segment_t::addblock(int block) {\n" "545\t //----------------------------------------------------------------------------\n" "546\t if(nblockgroups < 1) {\n" "547\t fprintf(stderr,\"config::segment_t::addblock: invalid blockgroup\\n" "\") ;\n" "548\t exit(1) ;\n" "549\t }\n" "550\t member[nblocks++] = block ;\n" "551\t return blockgroup[block] = nblockgroups - 1 ;\n" "552\t }\n" "553\t\n" "554\t\n" "555\t //----------------------------------------------------------------------------\n" "556\t void segment_t::set_bgrps() {\n" "557\t //---------------------------------------------------------------------------/\n" "558\t /**************************************************************\n" "559\t * find representative for block group *\n" "560\t * ( = block with lowest number contained in that block group) *\n" "561\t **************************************************************/\n" "562\t int i, bg ;\n" "563\t int bgr ;\n" "564\t\n" "565\t if(bgrep) delete[] bgrep ;\n" "566\t bgrep = new int[nblockgroups] ;\n" "567\t\n" "568\t for(bg=0; bg= MBLOCK) {\n" "592\t fprintf(stderr,\"block number %d out of range\\n" "\",block) ;\n" "593\t exit(2) ;\n" "594\t }\n" "595\t if(blockpt[block].blockgroup != -1) {\n" "596\t fprintf(stderr,\"illegal double use of RCF block number %d\\n" "\",block+1) ;\n" "597\t exit(2) ;\n" "598\t }\n" "599\t }\n" "600\t\n" "601\t //----------------------------------------------------------------------------\n" "602\t void segmentation::addblocks(int n1,...) {\n" "603\t //----------------------------------------------------------------------------\n" "604\t int block ;\n" "605\t va_list ap ;\n" "606\t va_start(ap,n1) ;\n" "607\t\n" "608\t for(block=n1; block >= 0; block=va_arg(ap,int)) {\n" "609\t block-- ; // switch to block counting from 0 (unlike in RCF)\n" "610\t validate(block) ;\n" "611\t segmentpt->nblockgroups++ ;\n" "612\t blockpt[block] = block_coord(segmentpt,segmentpt->addblock(block)) ;\n" "613\t }\n" "614\t va_end(ap) ;\n" "615\t } ;\n" "616\t\n" "617\t //----------------------------------------------------------------------------\n" "618\t void repairblock() {\n" "619\t //----------------------------------------------------------------------------\n" "620\t int i ;\n" "621\t unsigned blocks = 1<<(MRAXAddress + MRAYAddress - 1) ;\n" "622\t\n" "623\t rowrepair = getbits(RowRepair) ;\n" "624\t rowsearch = getbits(RowSearch) ;\n" "625\t rowsplit = getbits(RowSplit) ;\n" "626\t\n" "627\t if(rowsearch.ybits()) {\n" "628\t fprintf(stderr,\"RowSearch must not contain Y bits.\\n" "\") ;\n" "629\t exit(1) ;\n" "630\t }\n" "631\t\n" "632\t columnrepair = getbits(ColumnRepair) ;\n" "633\t columnsearch = getbits(ColumnSearch) ;\n" "634\t columnsplit = getbits(ColumnSplit) ;\n" "635\t\n" "636\t if(columnsearch.xbits()) {\n" "637\t fprintf(stderr,\"ColumnSearch must not contain X bits.\\n" "\") ;\n" "638\t exit(1) ;\n" "639\t }\n" "640\t\n" "641\t if(rowrepair.xval() & rowsplit.xval() ||\n" "642\t rowrepair.xval() & rowsearch.xval() ||\n" "643\t rowsplit.xval() & rowsearch.xval() ||\n" "644\t rowrepair.yval() & rowsplit.yval() ||\n" "645\t rowrepair.yval() & rowsearch.yval() ||\n" "646\t rowsplit.yval() & rowsearch.yval()) {\n" "647\t fprintf(stderr,\"Some bits in MRARepairBlock assignment \"\n" "648\t \"for rows occur more than once.\\n" "\") ;\n" "649\t exit(1) ;\n" "650\t }\n" "651\t\n" "652\t if(columnrepair.xval() & columnsplit.xval() ||\n" "653\t columnrepair.xval() & columnsearch.xval() ||\n" "654\t columnsplit.xval() & columnsearch.xval() ||\n" "655\t columnrepair.yval() & columnsplit.yval() ||\n" "656\t columnrepair.yval() & columnsearch.yval() ||\n" "657\t columnsplit.yval() & columnsearch.yval()) {\n" "658\t fprintf(stderr,\"Some bits in MRARepairBlock assignment \"\n" "659\t \"for columns occur more than once.\\n" "\") ;\n" "660\t exit(1) ;\n" "661\t }\n" "662\t\n" "663\t // Any bit contained in either split set is effectively a split bit.\n" "664\t // Therefore both sets can be merged.\n" "665\t rowsplit = columnsplit = rowsplit | columnsplit ;\n" "666\t\n" "667\t rowsearch ^= rowsearch & rowsplit ;\n" "668\t rowrepair ^= rowrepair & rowsplit ;\n" "669\t columnsearch ^= columnsearch & columnsplit ;\n" "670\t columnrepair ^= columnrepair & columnsplit ;\n" "671\t\n" "672\t rows_per_block = 1 ;\n" "673\t columns_per_block = 1 ;\n" "674\t\n" "675\t for(i=0; i>=1 ;\n" "677\t rows_per_block<<=1 ;\n" "678\t }\n" "679\t \n" "680\t for(i=0; i>=1 ;\n" "682\t columns_per_block<<=1 ;\n" "683\t }\n" "684\t \n" "685\t MRATotalBlocks = blocks ;\n" "686\t\n" "687\t }\n" "688\t\n" "689\t\n" "690\t xybits getbits(const char *string) {\n" "691\t char *s, *token, *endptr ;\n" "692\t xybits bits ;\n" "693\t int d ;\n" "694\t\n" "695\t s = new char[strlen(string)+1] ;\n" "696\t strcpy(s,string) ;\n" "697\t\n" "698\t for(token = strtok(s,\",\"); token != NULL; token = strtok(NULL,\",\")) {\n" "699\t while(*token == \' \') token++ ; // skip white space\n" "700\t d = strtol(token+1,&endptr,10) ;\n" "701\t switch(*token) {\n" "702\t case \'X\':\n" "703\t if(d < 0 || d >= MRAXAddress || *endptr) goto illegal ;\n" "704\t bits.addx(d) ;\n" "705\t break ;\n" "706\t case \'Y\':\n" "707\t if(d < 0 || d >= MRAYAddress || *endptr) goto illegal ;\n" "708\t bits.addy(d) ;\n" "709" <- "\t break ;\n" "710\t default: goto illegal ;\n" "711\t }\n" "712\t }\n" "713\t\n" "714\t delete[] s ;\n" "715\t\n" "716\t return bits ;\n" "717\t\n" "718\t illegal:\n" "719\t fprintf(stderr,\"illegal token\\n" "\") ;\n" "720\t exit(2) ;\n" "721\t\n" "722\t }\n" "723\t\n" "724\t //----------------------------------------------------------------------------\n" "725\t void set_addressformat(const char *type,\n" "726\t\t\t\tconst char *XFailAddress, const char *YFailAddress) {\n" "727\t //----------------------------------------------------------------------------\n" "728\t\n" "729\t /**********************************************************************\n" "730\t * Store the bits in the MRAFailAddressFormat and MRASolutionFormat as *\n" "731\t * a struct bitformat; that is a mask and a shift for every bit. *\n" "732\t * Although the first 32 bits are thought to contain an X address *\n" "733\t * and the next 32 a Y address, it is possible to have X, Y, and D *\n" "734\t * bits in either. *\n" "735\t **********************************************************************/\n" "736\t\n" "737\t if(strcmp(type,\"MRASolutionFormat\")==0) {\n" "738\t\n" "739\t xpsolf = set_addressbits(XFailAddress,0,0) ;\n" "740\t ypsolf = set_addressbits(YFailAddress,0,0) ;\n" "741\t\n" "742\t } else if(strcmp(type,\"ARAMSolutionFormat\")==0) {\n" "743\t\n" "744\t xsolf = set_addressbits(XFailAddress,log2m(MRARowGroups),MAXLBITS) ;\n" "745\t ysolf = set_addressbits(YFailAddress,log2m(MRAColumnGroups),MAXLBITS) ;\n" "746\t\n" "747\t } else if(strcmp(type,\"MRAFailAddressFormat\")==0) {\n" "748\t\n" "749\t xfailf = set_addressbits(XFailAddress,0,0) ;\n" "750\t yfailf = set_addressbits(YFailAddress,0,0) ;\n" "751\t\n" "752\t } else {\n" "753\t fprintf(stderr,\"set_addressformat: illegal type\\n" "\") ;\n" "754\t exit(2) ;\n" "755\t }\n" "756\t\n" "757\t }\n" "758\t\n" "759\t //----------------------------------------------------------------------------\n" "760\t addrbits *set_addressbits(const char *string,int gb,int lb) {\n" "761\t //----------------------------------------------------------------------------\n" "762\t char *s, *token, *endptr ;\n" "763\t int d ;\n" "764\t int bit = 31 ;\n" "765\t int db = log2m(MRADataBit) ;\n" "766\t addrbits *fails = new addrbits(MRAXAddress,MRAYAddress,db,gb,lb) ;\n" "767\t\n" "768\t s = new char[strlen(string)+1] ;\n" "769\t strcpy(s,string) ;\n" "770\t\n" "771\t /* note: if any bit occurs twice in the format, only the rightmost occurence\n" "772\t\t will be stored. */\n" "773\t\n" "774\t for(token = strtok(s,\",\"); token != NULL; token = strtok(NULL,\",\")) {\n" "775\t while(*token == \' \') token++ ; // skip white space\n" "776\t if(*token == \'/\') {\n" "777\t token++ ;\n" "778\t fails->invert |= 1<= MRAXAddress || *endptr) goto illegal ;\n" "785\t fails->xbits[d] |= bitformat(bit) ;\n" "786\t break ;\n" "787\t case \'Y\':\n" "788\t if(d < 0 || d >= MRAYAddress || *endptr) goto illegal ;\n" "789\t fails->ybits[d] |= bitformat(bit) ;\n" "790\t break ;\n" "791\t case \'D\':\n" "792\t if(d < 0 || d >= db || *endptr) goto illegal ;\n" "793\t fails->dbits[d] |= bitformat(bit) ;\n" "794\t break ;\n" "795\t case \'G\':\n" "796\t if(d < 0 || d >= gb || *endptr) goto illegal ;\n" "797\t fails->gbits[d] |= bitformat(bit) ;\n" "798\t break ;\n" "799\t case \'L\':\n" "800\t if(d < 0 || d >= lb || *endptr) goto illegal ;\n" "801\t fails->lbits[d] |= bitformat(bit) ;\n" "802\t break ;\n" "803\t case \'1\':\n" "804\t fails->fix |= 1<must |= 1<gbits[d].mask) {\n" "820\t fprintf(stderr,\"illegal address format: some G bits not set\\n" "\") ;\n" "821\t exit(1) ;\n" "822\t } */\n" "823\t\n" "824\t return fails ;\n" "825\t\n" "826\t illegal:\n" "827\t fprintf(stderr,\"something is wrong with the address bits in\\n" "\") ;\n" "828\t fprintf(stderr,\"%s\\n" "\",string) ;\n" "829\t exit(1) ;\n" "830\t\n" "831\t }\n" "832\t\n" "833\t //----------------------------------------------------------------------------\n" "834\t xybits operator" <- "|(const xybits &b1, const xybits &b2) {\n" "835\t //----------------------------------------------------------------------------\n" "836\t xybits res ;\n" "837\t\n" "838\t res.x = b1.x | b2.x ;\n" "839\t res.y = b1.y | b2.y ;\n" "840\t\n" "841\t res.nx = std::max(b1.nx,b2.nx) ;\n" "842\t res.ny = std::max(b1.ny,b2.ny) ;\n" "843\t\n" "844\t res.count_bits() ;\n" "845\t\n" "846\t return res ;\n" "847\t }\n" "848\t\n" "849\t //----------------------------------------------------------------------------\n" "850\t xybits operator&(const xybits &b1, const xybits &b2) {\n" "851\t //----------------------------------------------------------------------------\n" "852\t xybits res ;\n" "853\t\n" "854\t res.x = b1.x & b2.x ;\n" "855\t res.y = b1.y & b2.y ;\n" "856\t\n" "857\t res.count_bits() ;\n" "858\t\n" "859\t return res ;\n" "860\t }\n" "861\t\n" "862\t //----------------------------------------------------------------------------\n" "863\t xybits xybits::operator^=(const xybits &b) {\n" "864\t //----------------------------------------------------------------------------\n" "865\t x ^= b.x ;\n" "866\t y ^= b.y ;\n" "867\t count_bits() ;\n" "868\t return *this ;\n" "869\t }\n" "870\t\n" "871\t //----------------------------------------------------------------------------\n" "872\t void xybits::count_bits() {\n" "873\t //----------------------------------------------------------------------------\n" "874\t unsigned mask ;\n" "875\t for(nx=0,mask=1; mask; mask<<=1) if(mask & x) nx++ ;\n" "876\t for(ny=0,mask=1; mask; mask<<=1) if(mask & y) ny++ ;\n" "877\t }\n" "878\t\n" "879\t //----------------------------------------------------------------------------\n" "880\t void segmentation::convert_links() {\n" "881\t //----------------------------------------------------------------------------\n" "882\t // convert link numbers to segment pointers\n" "883\t int i, iseg ;\n" "884\t segment_t *segpt ;\n" "885\t\n" "886\t for(segpt = segment, iseg=0; isegnlinks; i++)\n" "888\t segpt->link[i].s = first_red + segpt->link[i].n ;\n" "889\t }\n" "890\t\n" "891\t unsigned taddress(const int blockno, unsigned xib, unsigned yib) {\n" "892\t unsigned a = blockno, mask = UINT_MAX ;\n" "893\t int bit ;\n" "894\t\n" "895\t // compute a bit string containing the total address from\n" "896\t // block number, x address-in-blockgroup, y address-in-blockgroup\n" "897\t\n" "898\t for(bit=0; bit>=1 ;\n" "903\t }\n" "904\t mask<<=1 ;\n" "905\t }\n" "906\t for(bit=0; bit>=1 ;\n" "911\t }\n" "912\t mask<<=1 ;\n" "913\t }\n" "914\t\n" "915\t // \"a\" now contains these bits: D_nd-D_0 Y_ny-Y_0 X_nx-X0\n" "916\t\n" "917\t return a ;\n" "918\t\n" "919\t }\n" "920\t\n" "921\t //----------------------------------------------------------------------------\n" "922\t block_address find_block_address(const unsigned x, const unsigned y,\n" "923\t\t\t\t\t const unsigned DQ) {\n" "924\t //----------------------------------------------------------------------------\n" "925\t unsigned nblock = DQ, xblock = 0, yblock = 0 ;\n" "926\t unsigned bit, mask ;\n" "927\t\n" "928\t if(DQ >= MRADataBit) {\n" "929\t fprintf(stderr,\"DQ out of range: %u\\n" "\",DQ) ;\n" "930\t exit(1) ;\n" "931\t }\n" "932\t\n" "933\t // find block number (counting up from 0, unlike in RCF)\n" "934\t // and address in block for a given fault ;\n" "935\t\n" "936\t // y before x must be because of left shifting of nblock\n" "937\t if(y >= (mask=1<>=1; mask; mask>>=1) {\n" "942\t if(mask & ycompression) continue ;\n" "943\t bit = y & mask ? 1 : 0 ;\n" "944\t if(columnsearch.yval() & mask) {\n" "945\t yblock<<=1 ;\n" "946\t yblock |= bit ;\n" "947\t } else {\n" "948\t nblock<<=1 ;\n" "949\t nblock |= bit ;\n" "950\t }\n" "951\t }\n" "952\t if(x >= (mask=1<>=1; mask; mask>>=1) {\n" "957\t if(mask & xcompression) continue ;\n" "958\t bit = x & mask ? 1 : 0 ;\n" "959\t if(rowsearch.xval" <- "() & mask) {\n" "960\t xblock<<=1 ;\n" "961\t xblock |= bit ;\n" "962\t } else {\n" "963\t nblock<<=1 ;\n" "964\t nblock |= bit ;\n" "965\t }\n" "966\t }\n" "967\t\n" "968\t return block_address(nblock,xblock,yblock) ;\n" "969\t\n" "970\t }\n" "971\t \n" "972\t} // end of namespace config\n" <- "(gdb) " # Reading file "config.C" from GDB...done. # Source "config.C" (from GDB) 972 lines, 31959 characters -> "info source\n" <- "Current source file is config.C\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/config.C\n" "Contains 972 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:76:2258:beg:0x805928d\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # Reading file "/home/clinton/cvs/aram/config.C"... # Reading file "/home/clinton/cvs/aram/config.C"...done. # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "info source\n" <- "Current source file is config.C\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/config.C\n" "Contains 972 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " -> "output MRAMultiAreaCount\n" <- "No symbol \"MRAMultiAreaCount\" in current context.\n" <- "(gdb) " -> "output MRAYAddress\n" <- "No symbol \"MRAYAddress\" in current context.\n" <- "(gdb) " -> "output repair_condition\n" <- "No symbol \"repair_condition\" in current context.\n" <- "(gdb) " -> "print *repair_condition\n" <- "No symbol \"repair_condition\" in current context.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output ppart\n" <- "(partition *) 0x8073081" <- "(gdb) " -> "output segment\n" <- "(segment_t *) 0x0" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:78:2296:beg:0x80592a6\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:79:2344:beg:0x80592c4\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:80:2383:beg:0x80592d8\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:81:2419:beg:0x80592ec\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:82:2475:beg:0x805930a\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:83:2510:beg:0x8059314\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:84:2550:beg:0x8059328\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:85:2614:beg:0x805933d\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:87:2669:beg:0x805934b\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "config::__erc_func0__() () at m4.C:7\n" <- "\032\032/home/clinton/ARAM/splitcol/merlin/m4.C:7:110:beg:0x80496c2\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" <- "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" <- "\tbreakpoint already hit 1 time\n" <- "(gdb) " # Reading file "/home/clinton/ARAM/splitcol/griffin/m4.C"... # Reading file "/home/clinton/ARAM/splitcol/griffin/m4.C"...No such file or directory. -> "info source\n" <- "Current source file is m4.C\n" <- "Compilation directory is /home/clinton/ARAM/splitcol/merlin\n" <- "Located in /home/clinton/ARAM/splitcol/merlin/m4.C\n" <- "Contains 1893 lines.\n" <- "Source language is c++.\n" <- "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " # Reading file "m4.C" from GDB... -> "list m4.C:1,1000000\n" <- "1\t#include \"/home/clinton/cvs/aram/config.h\"\n" <- "2\tnamespace config {\n" <- "3\t\n" <- "4\tvoid __erc_func0__() {\n" <- "5\tsegmentation *assign ;\n" <- "6\t\n" <- "7\tMRADataBit = 4 ;\n" <- "8\tMRAXAddress = 16 ;\n" <- "9\tMRAYAddress = 10 ;\n" <- "10\tMRAReductionMode = 1 ;\n" <- "11\tMRAReductionBit[0] = \"1100000000000000\" ;\n" <- "12\tMRAReductionBit[1] = \"0000000000\" ;\n" <- "13\tMRAReductionBit[2] = \"\" ;\n" <- "14\tRowSearch = \"X2,X3,X4,X5,X6,X7,X8,X9,X10\" ;\n" <- "15\tRowSplit = \"X11,X12,X13,X14,X15,Y6,Y7,Y8,Y9\" ;\n" <- "16\tRowRepair = \"X0,X1,Y0,Y1,Y2,Y3,Y4,Y5\" ;\n" <- "17\tColumnSearch = \"Y0,Y1,Y2,Y3,Y4,Y5\" ;\n" <- "18\tColumnSplit = \"X11,X12,X13,X14,X15,Y6,Y7,Y8,Y9\" ;\n" <- "19\tColumnRepair = \"X0,X1,X2,X3,X4,X5,X6,X7,X8,X9,X10\" ;\n" <- "20\trepairblock() ;\n" <- "21\tARAMRepairPriority = AUTOMATIC ;\n" <- "22\tMRARowGroups = 64 ;\n" <- "23\trseg = new segmentation(MRARowGroups) ;\n" <- "24\tassign = rseg ;\n" <- "25\tassign->addblockgroup(1,33,65,97,129,161,193,225,257,289,321,353,385,417,449,481,1537,1569,1601,1633,1665,1697,1729,1761,1793,1825,1857,1889,1921,1953,1985,2017,-1) ;\n" <- "26\tassign->link(1,2,3,4,-1) ;\n" <- "27\tassign->nextsegment() ;\n" <- "28\tassign->addblockgroup(2,34,66,98,130,162,194,226,258,290,322,354,386,418,450,482,1538,1570,1602,1634,1666,1698,1730,1762,1794,1826,1858,1890,1922,1954,1986,2018,-1) ;\n" <- "29\tassign->link(1,2,3,4,-1) ;\n" <- "30\tassign->nextsegment() ;\n" <- "31\tassign->addblockgroup(3,35,67,99,131,163,195,227,259,291,323,355,387,419,451,483,1539,1571,1603,1635,1667,1699,1731,1763,1795,1827,1859,1891,1923,1955,1987,2019,-1) ;\n" <- "32\tassign->link(1,2,3,4,-1) ;\n" <- "33\tassign->nextsegment() ;\n" <- "34\tassign->addblockgroup(4,36,68,100,132,164,196,228,260,292,324,356,388,420,452,484,1540,1572,1604,1636,1668,1700,1732,1764,1796,1828,1860,1892,1924,1956,1988,2020,-1) ;\n" <- "35\tassign->link(1,2,3,4,-1) ;\n" <- "36\tassign->nextsegment() ;\n" <- "37\tassign->addblockgroup(513,545,577,609,641,673,705,737,769,801,833,865,897,929,961,993,1025,1057,1089,1121,1153,1185,1217,1249,1281,1313,1345,1377,1409,1441,1473,1505,-1) ;\n" <- "38\tassign->link(5,6,7,8,-1) ;\n" <- "39\tassign->nextsegment() ;\n" <- "40\tassign->addblockgroup(514,546,578,610,642,674,706,738,770,802,834,866,898,930,962,994,1026,1058,1090,1122,1154,1186,1218,1250,1282,1314,1346,1378,1410,1442,1474,1506,-1) ;\n" <- "41\tassign->link(5,6,7,8,-1) ;\n" <- "42\tassign->nextsegment() ;\n" <- "43\tassign->addblockgroup(515,547,579,611,643,675,707,739,771,803,835,867,899,931,963,995,1027,1059,1091,1123,1155,1187,1219,1251,1283,1315,1347,1379,1411,1443,1475,1507,-1) ;\n" <- "44\tassign->link(5,6,7,8,-1) ;\n" <- "45\tassign->nextsegment() ;\n" <- "46\tassign->addblockgroup(516,548,580,612,644,676,708,740,772,804,836,868,900,932,964,996,1028,1060,1092,1124,1156,1188,1220,1252,1284,1316,1348,1380,1412,1444,1476,1508,-1) ;\n" <- "47\tassign->link(5,6,7,8,-1) ;\n" <- "48\tassign->nextsegment() ;\n" <- "49\tassign->addblockgroup(5,37,69,101,133,165,197,229,261,293,325,357,389,421,453,485,1541,1573,1605,1637,1669,1701,1733,1765,1797,1829,1861,1893,1925,1957,1989,2021,-1) ;\n" <- "50\tassign->link(9,10,11,12,-1) ;\n" <- "51\tassign->nextsegment() ;\n" <- "52\tassign->addblockgroup(6,38,70,102,134,166,198,230,262,294,326,358,390,422,454,486,1542,1574,1606,1638,1670,1702,1734,1766,1798,1830,1862,1894,1926,1958,1990,2022,-1) ;\n" <- "53\tassign->link(9,10,11,12,-1) ;\n" <- "54\tassign->nextsegment() ;\n" <- "55\tassign->addblockgroup(7,39,71,103,135,167,199,231,263,295,327,359,391,423,455,487,1543,1575,1607,1639,1671,1703,1735,1767,1799,1831,1863,1895,1927,1959,1991,2023,-1) ;\n" <- "56\tassign->link(9,10,11,12,-1) ;\n" <- "57\tassign->nextsegment() ;\n" <- "58\tassign->addblockgroup(8,40,72,104,136,168,200,232,264,296,328,360,392,424,456,488,1544,1576,1608,1640,1672,1704,1736,1768,1800,1832,1864,1896,1928,1960,1992,2024,-1) ;\n" <- "59\tassign->link(9,10,11,12,-1) ;\n" <- "60\tassign->nextsegment() ;\n" <- "61\tassign->addblockgroup(517,549,581,613,645,677,709,741,773,805,837,869,901,933,965,997,1029,1061,1093,1125,1157,1189,1221,1253,1285,1317,1349,1381,1413,1445,1477,1509,-1) ;\n" <- "62\tassign->link(13,14,15,16,-1) ;\n" <- "63\tassign->nextsegment() ;\n" <- "64\tassign->addblockgroup(518,550,582,614,646,678,710,742,774,806,838,870,902,934,966,998,1030,1062,1094,1126,1158,1190,1222,1254,1286,1318,1350,1382,1414,1446,1478,1510,-1) ;\n" <- "65\tassign->link(13,14,15,16,-1) ;\n" <- "66\tassign->nextsegment() ;\n" <- "67\tassign->addblockgroup(519,551,583,615,647,679,711,743,775,807,839,871,903,935,967,999,1031,1063,1095,1127,1159,1191,1223,1255,1287,1319,1351,1383,1415,1447,1479,1511,-1) ;\n" <- "68\tassign->link(13,14,15,16,-1) ;\n" <- "69\tassign->nextsegment() ;\n" <- "70\tassign->addblockgroup(520,552,584,616,648,680,712,744,776,808,840,872,904,936,968,1000,1032,1064,1096,1128,1160,1192,1224,1256,1288,1320,1352,1384,1416,1448,1480,1512,-1) ;\n" <- "71\tassign->link(13,14,15,16,-1) ;\n" <- "72\tassign->nextsegment() ;\n" <- "73\tassign->addblockgroup(9,41,73,105,137,169,201,233,265,297,329,361,393,425,457,489,1545,1577,1609,1641,1673,1705,1737,1769,1801,1833,1865,1897,1929,1961,1993,2025,-1) ;\n" <- "74\tassign->link(17,18,19,20,-1) ;\n" <- "75\tassign->nextsegment() ;\n" <- "76\tassign->addblockgroup(10,42,74,106,138,170,202,234,266,298,330,362,394,426,458,490,1546,1578,1610,1642,1674,1706,1738,1770,1802,1834,1866,1898,1930,1962,1994,2026,-1) ;\n" <- "77\tassign->link(17,18,19,20,-1) ;\n" <- "78\tassign->nextsegment() ;\n" <- "79\tassign->addblockgroup(11,43,75,107,139,171,203,235,267,299,331,363,395,427,459,491,1547,1579,1611,1643,1675,1707,1739,1771,1803,1835,1867,1899,1931,1963,1995,2027,-1) ;\n" <- "80\tassign->link(17,18,19,20,-1) ;\n" <- "81\tassign->nextsegment() ;\n" <- "82\tassign->addblockgroup(12,44,76,108,140,172,204,236,268,300,332,364,396,428,460,492,1548,1580,1612,1644,1676,1708,1740,1772,1804,1836,1868,1900,1932,1964,1996,2028,-1) ;\n" <- "83\tassign->link(17,18,19,20,-1) ;\n" <- "84\tassign->nextsegment() ;\n" <- "85\tassign->addblockgroup(521,553,585,617,649,681,713,745,777,809,841,873,905,937,969,1001,1033,1065,1097,1129,1161,1193,1225,1257,1289,1321,1353,1385,1417,1449,1481,1513,-1) ;\n" <- "86\tassign->link(21,22,23,24,-1) ;\n" <- "87\tassign->nextsegment() ;\n" <- "88\tassign->addblockgroup(522,554,586,618,650,682,714,746,778,810,842,874,906,938,970,1002,1034,1066,1098,1130,1162,1194,1226,1258,1290,1322,1354,1386,1418,1450,1482,1514,-1) ;\n" <- "89\tassign->link(21,22,23,24,-1) ;\n" <- "90\tassign->nextsegment() ;\n" <- "91\tassign->addblockgroup(523,555,587,619,651,683,715,747,779,811,843,875,907,939,971,1003,1035,1067,1099,1131,1163,1195,1227,1259,1291,1323,1355,1387,1419,1451,1483,1515,-1) ;\n" <- "92\tassign->link(21,22,23,24,-1) ;\n" "93\tassign->nextsegment() ;\n" "94\tassign->addblockgroup(524,556,588,620,652,684,716,748,780,812,844,876,908,940,972,1004,1036,1068,1100,1132,1164,1196,1228,1260,1292,1324,1356,1388,1420,1452,1484,1516,-1) ;\n" "95\tassign->link(21,22,23,24,-1) ;\n" "96\tassign->nextsegment() ;\n" "97\tassign->addblockgroup(13,45,77,109,141,173,205,237,269,301,333,365,397,429,461,493,1549,1581,1613,1645,1677,1709,1741,1773,1805,1837,1869,1901,1933,1965,1997,2029,-1) ;\n" "98\tassign->link(25,26,27,28,-1) ;\n" "99\tassign->nextsegment() ;\n" "100\tassign->addblockgroup(14,46,78,110,142,174,206,238,270,302,334,366,398,430,462,494,1550,1582,1614,1646,1678,1710,1742,1774,1806,1838,1870,1902,1934,1966,1998,2030,-1) ;\n" "101\tassign->link(25,26,27,28,-1) ;\n" "102\tassign->nextsegment() ;\n" "103\tassign->addblockgroup(15,47,79,111,143,175,207,239,271,303,335,367,399,431,463,495,1551,1583,1615,1647,1679,1711,1743,1775,1807,1839,1871,1903,1935,1967,1999,2031,-1) ;\n" "104\tassign->link(25,26,27,28,-1) ;\n" "105\tassign->nextsegment() ;\n" "106\tassign->addblockgroup(16,48,80,112,144,176,208,240,272,304,336,368,400,432,464,496,1552,1584,1616,1648,1680,1712,1744,1776,1808,1840,1872,1904,1936,1968,2000,2032,-1) ;\n" "107\tassign->link(25,26,27,28,-1) ;\n" "108\tassign->nextsegment() ;\n" "109\tassign->addblockgroup(525,557,589,621,653,685,717,749,781,813,845,877,909,941,973,1005,1037,1069,1101,1133,1165,1197,1229,1261,1293,1325,1357,1389,1421,1453,1485,1517,-1) ;\n" "110\tassign->link(29,30,31,32,-1) ;\n" "111\tassign->nextsegment() ;\n" "112\tassign->addblockgroup(526,558,590,622,654,686,718,750,782,814,846,878,910,942,974,1006,1038,1070,1102,1134,1166,1198,1230,1262,1294,1326,1358,1390,1422,1454,1486,1518,-1) ;\n" "113\tassign->link(29,30,31,32,-1) ;\n" "114\tassign->nextsegment() ;\n" "115\tassign->addblockgroup(527,559,591,623,655,687,719,751,783,815,847,879,911,943,975,1007,1039,1071,1103,1135,1167,1199,1231,1263,1295,1327,1359,1391,1423,1455,1487,1519,-1) ;\n" "116\tassign->link(29,30,31,32,-1) ;\n" "117\tassign->nextsegment() ;\n" "118\tassign->addblockgroup(528,560,592,624,656,688,720,752,784,816,848,880,912,944,976,1008,1040,1072,1104,1136,1168,1200,1232,1264,1296,1328,1360,1392,1424,1456,1488,1520,-1) ;\n" "119\tassign->link(29,30,31,32,-1) ;\n" "120\tassign->nextsegment() ;\n" "121\tassign->set_first_red() ;\n" "122\tassign->set_spaset(0,1,1,-1) ;\n" "123\tassign->set_spaset(128,129,1,-1) ;\n" "124\tassign->set_spaset(256,257,1,-1) ;\n" "125\tassign->set_spaset(384,385,1,-1) ;\n" "126\tassign->addblockgroup(17,49,81,113,145,177,209,241,273,305,337,369,401,433,465,497,1553,1585,1617,1649,1681,1713,1745,1777,1809,1841,1873,1905,1937,1969,2001,2033,-1) ;\n" "127\tassign->nextsegment() ;\n" "128\tassign->set_spaset(0,1,1,-1) ;\n" "129\tassign->set_spaset(128,129,1,-1) ;\n" "130\tassign->set_spaset(256,257,1,-1) ;\n" "131\tassign->set_spaset(384,385,1,-1) ;\n" "132\tassign->addblockgroup(18,50,82,114,146,178,210,242,274,306,338,370,402,434,466,498,1554,1586,1618,1650,1682,1714,1746,1778,1810,1842,1874,1906,1938,1970,2002,2034,-1) ;\n" "133\tassign->nextsegment() ;\n" "134\tassign->set_spaset(0,1,1,-1) ;\n" "135\tassign->set_spaset(128,129,1,-1) ;\n" "136\tassign->set_spaset(256,257,1,-1) ;\n" "137\tassign->set_spaset(384,385,1,-1) ;\n" "138\tassign->addblockgroup(19,51,83,115,147,179,211,243,275,307,339,371,403,435,467,499,1555,1587,1619,1651,1683,1715,1747,1779,1811,1843,1875,1907,1939,1971,2003,2035,-1) ;\n" "139\tassign->nextsegment() ;\n" "140\tassign->set_spaset(0,1,1,-1) ;\n" "141\tassign->set_spaset(128,129,1,-1) ;\n" "142\tassign->set_spaset(256,257,1,-1) ;\n" "143\tassign->set_spaset(384,385,1,-1) ;\n" "144\tassign->addblockgroup(20,52,84,116,148,180,212,244,276,308,340,372,404,436,468,500,1556,1588,1620,1652,1684,1716,1748,1780,1812,1844,1876,1908,1940,1972,2004,2036,-1) ;\n" "145\tassign->nextsegment() ;\n" "146\tassign->set_spaset(0,1,1,-1) ;\n" "147\tassign->set_spaset(128,129,1,-1) ;\n" "148\tassign->set_spaset(256,257,1,-1) ;\n" "149\tassign->set_spaset(384,385,1,-1) ;\n" "150\tassign->addblockgroup(529,561,593,625,657,689,721,753,785,817,849,881,913,945,977,1009,1041,1073,1105,1137,1169,1201,1233,1265,1297,1329,1361,1393,1425,1457,1489,1521,-1) ;\n" "151\tassign->nextsegment() ;\n" "152\tassign->set_spaset(0,1,1,-1) ;\n" "153\tassign->set_spaset(128,129,1,-1) ;\n" "154\tassign->set_spaset(" <- "256,257,1,-1) ;\n" "155\tassign->set_spaset(384,385,1,-1) ;\n" "156\tassign->addblockgroup(530,562,594,626,658,690,722,754,786,818,850,882,914,946,978,1010,1042,1074,1106,1138,1170,1202,1234,1266,1298,1330,1362,1394,1426,1458,1490,1522,-1) ;\n" "157\tassign->nextsegment() ;\n" "158\tassign->set_spaset(0,1,1,-1) ;\n" "159\tassign->set_spaset(128,129,1,-1) ;\n" "160\tassign->set_spaset(256,257,1,-1) ;\n" "161\tassign->set_spaset(384,385,1,-1) ;\n" "162\tassign->addblockgroup(531,563,595,627,659,691,723,755,787,819,851,883,915,947,979,1011,1043,1075,1107,1139,1171,1203,1235,1267,1299,1331,1363,1395,1427,1459,1491,1523,-1) ;\n" "163\tassign->nextsegment() ;\n" "164\tassign->set_spaset(0,1,1,-1) ;\n" "165\tassign->set_spaset(128,129,1,-1) ;\n" "166\tassign->set_spaset(256,257,1,-1) ;\n" "167\tassign->set_spaset(384,385,1,-1) ;\n" "168\tassign->addblockgroup(532,564,596,628,660,692,724,756,788,820,852,884,916,948,980,1012,1044,1076,1108,1140,1172,1204,1236,1268,1300,1332,1364,1396,1428,1460,1492,1524,-1) ;\n" "169\tassign->nextsegment() ;\n" "170\tassign->set_spaset(0,1,1,-1) ;\n" "171\tassign->set_spaset(128,129,1,-1) ;\n" "172\tassign->set_spaset(256,257,1,-1) ;\n" "173\tassign->set_spaset(384,385,1,-1) ;\n" "174\tassign->addblockgroup(21,53,85,117,149,181,213,245,277,309,341,373,405,437,469,501,1557,1589,1621,1653,1685,1717,1749,1781,1813,1845,1877,1909,1941,1973,2005,2037,-1) ;\n" "175\tassign->nextsegment() ;\n" "176\tassign->set_spaset(0,1,1,-1) ;\n" "177\tassign->set_spaset(128,129,1,-1) ;\n" "178\tassign->set_spaset(256,257,1,-1) ;\n" "179\tassign->set_spaset(384,385,1,-1) ;\n" "180\tassign->addblockgroup(22,54,86,118,150,182,214,246,278,310,342,374,406,438,470,502,1558,1590,1622,1654,1686,1718,1750,1782,1814,1846,1878,1910,1942,1974,2006,2038,-1) ;\n" "181\tassign->nextsegment() ;\n" "182\tassign->set_spaset(0,1,1,-1) ;\n" "183\tassign->set_spaset(128,129,1,-1) ;\n" "184\tassign->set_spaset(256,257,1,-1) ;\n" "185\tassign->set_spaset(384,385,1,-1) ;\n" "186\tassign->addblockgroup(23,55,87,119,151,183,215,247,279,311,343,375,407,439,471,503,1559,1591,1623,1655,1687,1719,1751,1783,1815,1847,1879,1911,1943,1975,2007,2039,-1) ;\n" "187\tassign->nextsegment() ;\n" "188\tassign->set_spaset(0,1,1,-1) ;\n" "189\tassign->set_spaset(128,129,1,-1) ;\n" "190\tassign->set_spaset(256,257,1,-1) ;\n" "191\tassign->set_spaset(384,385,1,-1) ;\n" "192\tassign->addblockgroup(24,56,88,120,152,184,216,248,280,312,344,376,408,440,472,504,1560,1592,1624,1656,1688,1720,1752,1784,1816,1848,1880,1912,1944,1976,2008,2040,-1) ;\n" "193\tassign->nextsegment() ;\n" "194\tassign->set_spaset(0,1,1,-1) ;\n" "195\tassign->set_spaset(128,129,1,-1) ;\n" "196\tassign->set_spaset(256,257,1,-1) ;\n" "197\tassign->set_spaset(384,385,1,-1) ;\n" "198\tassign->addblockgroup(533,565,597,629,661,693,725,757,789,821,853,885,917,949,981,1013,1045,1077,1109,1141,1173,1205,1237,1269,1301,1333,1365,1397,1429,1461,1493,1525,-1) ;\n" "199\tassign->nextsegment() ;\n" "200\tassign->set_spaset(0,1,1,-1) ;\n" "201\tassign->set_spaset(128,129,1,-1) ;\n" "202\tassign->set_spaset(256,257,1,-1) ;\n" "203\tassign->set_spaset(384,385,1,-1) ;\n" "204\tassign->addblockgroup(534,566,598,630,662,694,726,758,790,822,854,886,918,950,982,1014,1046,1078,1110,1142,1174,1206,1238,1270,1302,1334,1366,1398,1430,1462,1494,1526,-1) ;\n" "205\tassign->nextsegment() ;\n" "206\tassign->set_spaset(0,1,1,-1) ;\n" "207\tassign->set_spaset(128,129,1,-1) ;\n" "208\tassign->set_spaset(256,257,1,-1) ;\n" "209\tassign->set_spaset(384,385,1,-1) ;\n" "210\tassign->addblockgroup(535,567,599,631,663,695,727,759,791,823,855,887,919,951,983,1015,1047,1079,1111,1143,1175,1207,1239,1271,1303,1335,1367,1399,1431,1463,1495,1527,-1) ;\n" "211\tassign->nextsegment() ;\n" "212\tassign->set_spaset(0,1,1,-1) ;\n" "213\tassign->set_spaset(128,129,1,-1) ;\n" "214\tassign->set_spaset(256,257,1,-1) ;\n" "215\tassign->set_spaset(384,385,1,-1) ;\n" "216\tassign->addblockgroup(536,568,600,632,664,696,728,760,792,824,856,888,920,952,984,1016,1048,1080,1112,1144,1176,1208,1240,1272,1304,1336,1368,1400,1432,1464,1496,1528,-1) ;\n" "217\tassign->nextsegment() ;\n" "218\tassign->set_spaset(0,1,1,-1) ;\n" "219\tassign->set_spaset(128,129,1,-1) ;\n" "220\tassign->set_spaset(256,257,1,-1) ;\n" "221\tassign->set_spaset(384,385,1,-1) ;\n" "222\tassign->addblockgroup(25,57,89,121,153,185,217,249,281,313,345,377,409,441,473,505,1561,1593,1625,1657,1689,1721,1753,1785,18" <- "17,1849,1881,1913,1945,1977,2009,2041,-1) ;\n" "223\tassign->nextsegment() ;\n" "224\tassign->set_spaset(0,1,1,-1) ;\n" "225\tassign->set_spaset(128,129,1,-1) ;\n" "226\tassign->set_spaset(256,257,1,-1) ;\n" "227\tassign->set_spaset(384,385,1,-1) ;\n" "228\tassign->addblockgroup(26,58,90,122,154,186,218,250,282,314,346,378,410,442,474,506,1562,1594,1626,1658,1690,1722,1754,1786,1818,1850,1882,1914,1946,1978,2010,2042,-1) ;\n" "229\tassign->nextsegment() ;\n" "230\tassign->set_spaset(0,1,1,-1) ;\n" "231\tassign->set_spaset(128,129,1,-1) ;\n" "232\tassign->set_spaset(256,257,1,-1) ;\n" "233\tassign->set_spaset(384,385,1,-1) ;\n" "234\tassign->addblockgroup(27,59,91,123,155,187,219,251,283,315,347,379,411,443,475,507,1563,1595,1627,1659,1691,1723,1755,1787,1819,1851,1883,1915,1947,1979,2011,2043,-1) ;\n" "235\tassign->nextsegment() ;\n" "236\tassign->set_spaset(0,1,1,-1) ;\n" "237\tassign->set_spaset(128,129,1,-1) ;\n" "238\tassign->set_spaset(256,257,1,-1) ;\n" "239\tassign->set_spaset(384,385,1,-1) ;\n" "240\tassign->addblockgroup(28,60,92,124,156,188,220,252,284,316,348,380,412,444,476,508,1564,1596,1628,1660,1692,1724,1756,1788,1820,1852,1884,1916,1948,1980,2012,2044,-1) ;\n" "241\tassign->nextsegment() ;\n" "242\tassign->set_spaset(0,1,1,-1) ;\n" "243\tassign->set_spaset(128,129,1,-1) ;\n" "244\tassign->set_spaset(256,257,1,-1) ;\n" "245\tassign->set_spaset(384,385,1,-1) ;\n" "246\tassign->addblockgroup(537,569,601,633,665,697,729,761,793,825,857,889,921,953,985,1017,1049,1081,1113,1145,1177,1209,1241,1273,1305,1337,1369,1401,1433,1465,1497,1529,-1) ;\n" "247\tassign->nextsegment() ;\n" "248\tassign->set_spaset(0,1,1,-1) ;\n" "249\tassign->set_spaset(128,129,1,-1) ;\n" "250\tassign->set_spaset(256,257,1,-1) ;\n" "251\tassign->set_spaset(384,385,1,-1) ;\n" "252\tassign->addblockgroup(538,570,602,634,666,698,730,762,794,826,858,890,922,954,986,1018,1050,1082,1114,1146,1178,1210,1242,1274,1306,1338,1370,1402,1434,1466,1498,1530,-1) ;\n" "253\tassign->nextsegment() ;\n" "254\tassign->set_spaset(0,1,1,-1) ;\n" "255\tassign->set_spaset(128,129,1,-1) ;\n" "256\tassign->set_spaset(256,257,1,-1) ;\n" "257\tassign->set_spaset(384,385,1,-1) ;\n" "258\tassign->addblockgroup(539,571,603,635,667,699,731,763,795,827,859,891,923,955,987,1019,1051,1083,1115,1147,1179,1211,1243,1275,1307,1339,1371,1403,1435,1467,1499,1531,-1) ;\n" "259\tassign->nextsegment() ;\n" "260\tassign->set_spaset(0,1,1,-1) ;\n" "261\tassign->set_spaset(128,129,1,-1) ;\n" "262\tassign->set_spaset(256,257,1,-1) ;\n" "263\tassign->set_spaset(384,385,1,-1) ;\n" "264\tassign->addblockgroup(540,572,604,636,668,700,732,764,796,828,860,892,924,956,988,1020,1052,1084,1116,1148,1180,1212,1244,1276,1308,1340,1372,1404,1436,1468,1500,1532,-1) ;\n" "265\tassign->nextsegment() ;\n" "266\tassign->set_spaset(0,1,1,-1) ;\n" "267\tassign->set_spaset(128,129,1,-1) ;\n" "268\tassign->set_spaset(256,257,1,-1) ;\n" "269\tassign->set_spaset(384,385,1,-1) ;\n" "270\tassign->addblockgroup(29,61,93,125,157,189,221,253,285,317,349,381,413,445,477,509,1565,1597,1629,1661,1693,1725,1757,1789,1821,1853,1885,1917,1949,1981,2013,2045,-1) ;\n" "271\tassign->nextsegment() ;\n" "272\tassign->set_spaset(0,1,1,-1) ;\n" "273\tassign->set_spaset(128,129,1,-1) ;\n" "274\tassign->set_spaset(256,257,1,-1) ;\n" "275\tassign->set_spaset(384,385,1,-1) ;\n" "276\tassign->addblockgroup(30,62,94,126,158,190,222,254,286,318,350,382,414,446,478,510,1566,1598,1630,1662,1694,1726,1758,1790,1822,1854,1886,1918,1950,1982,2014,2046,-1) ;\n" "277\tassign->nextsegment() ;\n" "278\tassign->set_spaset(0,1,1,-1) ;\n" "279\tassign->set_spaset(128,129,1,-1) ;\n" "280\tassign->set_spaset(256,257,1,-1) ;\n" "281\tassign->set_spaset(384,385,1,-1) ;\n" "282\tassign->addblockgroup(31,63,95,127,159,191,223,255,287,319,351,383,415,447,479,511,1567,1599,1631,1663,1695,1727,1759,1791,1823,1855,1887,1919,1951,1983,2015,2047,-1) ;\n" "283\tassign->nextsegment() ;\n" "284\tassign->set_spaset(0,1,1,-1) ;\n" "285\tassign->set_spaset(128,129,1,-1) ;\n" "286\tassign->set_spaset(256,257,1,-1) ;\n" "287\tassign->set_spaset(384,385,1,-1) ;\n" "288\tassign->addblockgroup(32,64,96,128,160,192,224,256,288,320,352,384,416,448,480,512,1568,1600,1632,1664,1696,1728,1760,1792,1824,1856,1888,1920,1952,1984,2016,2048,-1) ;\n" "289\tassign->nextsegment() ;\n" "290\tassign->set_spaset(0,1,1,-1) ;\n" "291\tassign->set_spaset(128,129,1,-1) ;\n" "292\tassign->set_spaset(256,257,1,-1) ;\n" "293\tassign-" <- ">set_spaset(384,385,1,-1) ;\n" "294\tassign->addblockgroup(541,573,605,637,669,701,733,765,797,829,861,893,925,957,989,1021,1053,1085,1117,1149,1181,1213,1245,1277,1309,1341,1373,1405,1437,1469,1501,1533,-1) ;\n" "295\tassign->nextsegment() ;\n" "296\tassign->set_spaset(0,1,1,-1) ;\n" "297\tassign->set_spaset(128,129,1,-1) ;\n" "298\tassign->set_spaset(256,257,1,-1) ;\n" "299\tassign->set_spaset(384,385,1,-1) ;\n" "300\tassign->addblockgroup(542,574,606,638,670,702,734,766,798,830,862,894,926,958,990,1022,1054,1086,1118,1150,1182,1214,1246,1278,1310,1342,1374,1406,1438,1470,1502,1534,-1) ;\n" "301\tassign->nextsegment() ;\n" "302\tassign->set_spaset(0,1,1,-1) ;\n" "303\tassign->set_spaset(128,129,1,-1) ;\n" "304\tassign->set_spaset(256,257,1,-1) ;\n" "305\tassign->set_spaset(384,385,1,-1) ;\n" "306\tassign->addblockgroup(543,575,607,639,671,703,735,767,799,831,863,895,927,959,991,1023,1055,1087,1119,1151,1183,1215,1247,1279,1311,1343,1375,1407,1439,1471,1503,1535,-1) ;\n" "307\tassign->nextsegment() ;\n" "308\tassign->set_spaset(0,1,1,-1) ;\n" "309\tassign->set_spaset(128,129,1,-1) ;\n" "310\tassign->set_spaset(256,257,1,-1) ;\n" "311\tassign->set_spaset(384,385,1,-1) ;\n" "312\tassign->addblockgroup(544,576,608,640,672,704,736,768,800,832,864,896,928,960,992,1024,1056,1088,1120,1152,1184,1216,1248,1280,1312,1344,1376,1408,1440,1472,1504,1536,-1) ;\n" "313\tassign->nextsegment() ;\n" "314\tassign->SharedSenseAmps(1,8) ;\n" "315\tassign->SharedSenseAmps(9,16) ;\n" "316\tassign->SharedSenseAmps(17,24) ;\n" "317\tassign->SharedSenseAmps(25,32) ;\n" "318\tassign->SharedSenseAmps(33,40) ;\n" "319\tassign->SharedSenseAmps(41,48) ;\n" "320\tassign->SharedSenseAmps(49,56) ;\n" "321\tassign->SharedSenseAmps(57,64) ;\n" "322\tMRAColumnGroups = 512 ;\n" "323\tcseg = new segmentation(MRAColumnGroups) ;\n" "324\tassign = cseg ;\n" "325\tassign->addblockgroup(1,17,1025,1041,-1) ;\n" "326\tassign->link(1,2,3,4,-1) ;\n" "327\tassign->nextsegment() ;\n" "328\tassign->addblockgroup(2,18,1026,1042,-1) ;\n" "329\tassign->link(1,2,3,4,-1) ;\n" "330\tassign->nextsegment() ;\n" "331\tassign->addblockgroup(3,19,1027,1043,-1) ;\n" "332\tassign->link(1,2,3,4,-1) ;\n" "333\tassign->nextsegment() ;\n" "334\tassign->addblockgroup(4,20,1028,1044,-1) ;\n" "335\tassign->link(1,2,3,4,-1) ;\n" "336\tassign->nextsegment() ;\n" "337\tassign->addblockgroup(33,49,1057,1073,-1) ;\n" "338\tassign->link(5,6,7,8,-1) ;\n" "339\tassign->nextsegment() ;\n" "340\tassign->addblockgroup(34,50,1058,1074,-1) ;\n" "341\tassign->link(5,6,7,8,-1) ;\n" "342\tassign->nextsegment() ;\n" "343\tassign->addblockgroup(35,51,1059,1075,-1) ;\n" "344\tassign->link(5,6,7,8,-1) ;\n" "345\tassign->nextsegment() ;\n" "346\tassign->addblockgroup(36,52,1060,1076,-1) ;\n" "347\tassign->link(5,6,7,8,-1) ;\n" "348\tassign->nextsegment() ;\n" "349\tassign->addblockgroup(65,81,1089,1105,-1) ;\n" "350\tassign->link(9,10,11,12,-1) ;\n" "351\tassign->nextsegment() ;\n" "352\tassign->addblockgroup(66,82,1090,1106,-1) ;\n" "353\tassign->link(9,10,11,12,-1) ;\n" "354\tassign->nextsegment() ;\n" "355\tassign->addblockgroup(67,83,1091,1107,-1) ;\n" "356\tassign->link(9,10,11,12,-1) ;\n" "357\tassign->nextsegment() ;\n" "358\tassign->addblockgroup(68,84,1092,1108,-1) ;\n" "359\tassign->link(9,10,11,12,-1) ;\n" "360\tassign->nextsegment() ;\n" "361\tassign->addblockgroup(97,113,1121,1137,-1) ;\n" "362\tassign->link(13,14,15,16,-1) ;\n" "363\tassign->nextsegment() ;\n" "364\tassign->addblockgroup(98,114,1122,1138,-1) ;\n" "365\tassign->link(13,14,15,16,-1) ;\n" "366\tassign->nextsegment() ;\n" "367\tassign->addblockgroup(99,115,1123,1139,-1) ;\n" "368\tassign->link(13,14,15,16,-1) ;\n" "369\tassign->nextsegment() ;\n" "370\tassign->addblockgroup(100,116,1124,1140,-1) ;\n" "371\tassign->link(13,14,15,16,-1) ;\n" "372\tassign->nextsegment() ;\n" "373\tassign->addblockgroup(129,145,1153,1169,-1) ;\n" "374\tassign->link(17,18,19,20,-1) ;\n" "375\tassign->nextsegment() ;\n" "376\tassign->addblockgroup(130,146,1154,1170,-1) ;\n" "377\tassign->link(17,18,19,20,-1) ;\n" "378\tassign->nextsegment() ;\n" "379\tassign->addblockgroup(131,147,1155,1171,-1) ;\n" "380\tassign->link(17,18,19,20,-1) ;\n" "381\tassign->nextsegment() ;\n" "382\tassign->addblockgroup(132,148,1156,1172,-1) ;\n" "383\tassign->link(17,18,19,20,-1) ;\n" "384\tassign->nextsegment() ;\n" "385\tassign->addblockgroup(161,177,1185,1201,-1) ;\n" "386\tassign->link(21,22,23,24,-1) ;\n" "387\tassign->nextsegment() ;\n" "388\tassign->addblockgroup(162,178,1186,1202,-1) ;\n" "389\tassign->link(21,22,23,24,-1) ;\n" "390\tassign->" <- "nextsegment() ;\n" "391\tassign->addblockgroup(163,179,1187,1203,-1) ;\n" "392\tassign->link(21,22,23,24,-1) ;\n" "393\tassign->nextsegment() ;\n" "394\tassign->addblockgroup(164,180,1188,1204,-1) ;\n" "395\tassign->link(21,22,23,24,-1) ;\n" "396\tassign->nextsegment() ;\n" "397\tassign->addblockgroup(193,209,1217,1233,-1) ;\n" "398\tassign->link(25,26,27,28,-1) ;\n" "399\tassign->nextsegment() ;\n" "400\tassign->addblockgroup(194,210,1218,1234,-1) ;\n" "401\tassign->link(25,26,27,28,-1) ;\n" "402\tassign->nextsegment() ;\n" "403\tassign->addblockgroup(195,211,1219,1235,-1) ;\n" "404\tassign->link(25,26,27,28,-1) ;\n" "405\tassign->nextsegment() ;\n" "406\tassign->addblockgroup(196,212,1220,1236,-1) ;\n" "407\tassign->link(25,26,27,28,-1) ;\n" "408\tassign->nextsegment() ;\n" "409\tassign->addblockgroup(225,241,1249,1265,-1) ;\n" "410\tassign->link(29,30,31,32,-1) ;\n" "411\tassign->nextsegment() ;\n" "412\tassign->addblockgroup(226,242,1250,1266,-1) ;\n" "413\tassign->link(29,30,31,32,-1) ;\n" "414\tassign->nextsegment() ;\n" "415\tassign->addblockgroup(227,243,1251,1267,-1) ;\n" "416\tassign->link(29,30,31,32,-1) ;\n" "417\tassign->nextsegment() ;\n" "418\tassign->addblockgroup(228,244,1252,1268,-1) ;\n" "419\tassign->link(29,30,31,32,-1) ;\n" "420\tassign->nextsegment() ;\n" "421\tassign->addblockgroup(513,529,1537,1553,-1) ;\n" "422\tassign->link(33,34,35,36,-1) ;\n" "423\tassign->nextsegment() ;\n" "424\tassign->addblockgroup(514,530,1538,1554,-1) ;\n" "425\tassign->link(33,34,35,36,-1) ;\n" "426\tassign->nextsegment() ;\n" "427\tassign->addblockgroup(515,531,1539,1555,-1) ;\n" "428\tassign->link(33,34,35,36,-1) ;\n" "429\tassign->nextsegment() ;\n" "430\tassign->addblockgroup(516,532,1540,1556,-1) ;\n" "431\tassign->link(33,34,35,36,-1) ;\n" "432\tassign->nextsegment() ;\n" "433\tassign->addblockgroup(545,561,1569,1585,-1) ;\n" "434\tassign->link(37,38,39,40,-1) ;\n" "435\tassign->nextsegment() ;\n" "436\tassign->addblockgroup(546,562,1570,1586,-1) ;\n" "437\tassign->link(37,38,39,40,-1) ;\n" "438\tassign->nextsegment() ;\n" "439\tassign->addblockgroup(547,563,1571,1587,-1) ;\n" "440\tassign->link(37,38,39,40,-1) ;\n" "441\tassign->nextsegment() ;\n" "442\tassign->addblockgroup(548,564,1572,1588,-1) ;\n" "443\tassign->link(37,38,39,40,-1) ;\n" "444\tassign->nextsegment() ;\n" "445\tassign->addblockgroup(577,593,1601,1617,-1) ;\n" "446\tassign->link(41,42,43,44,-1) ;\n" "447\tassign->nextsegment() ;\n" "448\tassign->addblockgroup(578,594,1602,1618,-1) ;\n" "449\tassign->link(41,42,43,44,-1) ;\n" "450\tassign->nextsegment() ;\n" "451\tassign->addblockgroup(579,595,1603,1619,-1) ;\n" "452\tassign->link(41,42,43,44,-1) ;\n" "453\tassign->nextsegment() ;\n" "454\tassign->addblockgroup(580,596,1604,1620,-1) ;\n" "455\tassign->link(41,42,43,44,-1) ;\n" "456\tassign->nextsegment() ;\n" "457\tassign->addblockgroup(609,625,1633,1649,-1) ;\n" "458\tassign->link(45,46,47,48,-1) ;\n" "459\tassign->nextsegment() ;\n" "460\tassign->addblockgroup(610,626,1634,1650,-1) ;\n" "461\tassign->link(45,46,47,48,-1) ;\n" "462\tassign->nextsegment() ;\n" "463\tassign->addblockgroup(611,627,1635,1651,-1) ;\n" "464\tassign->link(45,46,47,48,-1) ;\n" "465\tassign->nextsegment() ;\n" "466\tassign->addblockgroup(612,628,1636,1652,-1) ;\n" "467\tassign->link(45,46,47,48,-1) ;\n" "468\tassign->nextsegment() ;\n" "469\tassign->addblockgroup(641,657,1665,1681,-1) ;\n" "470\tassign->link(49,50,51,52,-1) ;\n" "471\tassign->nextsegment() ;\n" "472\tassign->addblockgroup(642,658,1666,1682,-1) ;\n" "473\tassign->link(49,50,51,52,-1) ;\n" "474\tassign->nextsegment() ;\n" "475\tassign->addblockgroup(643,659,1667,1683,-1) ;\n" "476\tassign->link(49,50,51,52,-1) ;\n" "477\tassign->nextsegment() ;\n" "478\tassign->addblockgroup(644,660,1668,1684,-1) ;\n" "479\tassign->link(49,50,51,52,-1) ;\n" "480\tassign->nextsegment() ;\n" "481\tassign->addblockgroup(673,689,1697,1713,-1) ;\n" "482\tassign->link(53,54,55,56,-1) ;\n" "483\tassign->nextsegment() ;\n" "484\tassign->addblockgroup(674,690,1698,1714,-1) ;\n" "485\tassign->link(53,54,55,56,-1) ;\n" "486\tassign->nextsegment() ;\n" "487\tassign->addblockgroup(675,691,1699,1715,-1) ;\n" "488\tassign->link(53,54,55,56,-1) ;\n" "489\tassign->nextsegment() ;\n" "490\tassign->addblockgroup(676,692,1700,1716,-1) ;\n" "491\tassign->link(53,54,55,56,-1) ;\n" "492\tassign->nextsegment() ;\n" "493\tassign->addblockgroup(705,721,1729,1745,-1) ;\n" "494\tassign->link(57,58,59,60,-1) ;\n" "495\tassign->nextsegment() ;\n" "496\tassign->addblockgroup(706,722,1730,1746,-1) ;\n" "497\tassign->link(57,58,59,60,-1) ;\n" "498\tassign->nextsegment() ;\n" "499\tassign-" <- ">addblockgroup(707,723,1731,1747,-1) ;\n" "500\tassign->link(57,58,59,60,-1) ;\n" "501\tassign->nextsegment() ;\n" "502\tassign->addblockgroup(708,724,1732,1748,-1) ;\n" "503\tassign->link(57,58,59,60,-1) ;\n" "504\tassign->nextsegment() ;\n" "505\tassign->addblockgroup(737,753,1761,1777,-1) ;\n" "506\tassign->link(61,62,63,64,-1) ;\n" "507\tassign->nextsegment() ;\n" "508\tassign->addblockgroup(738,754,1762,1778,-1) ;\n" "509\tassign->link(61,62,63,64,-1) ;\n" "510\tassign->nextsegment() ;\n" "511\tassign->addblockgroup(739,755,1763,1779,-1) ;\n" "512\tassign->link(61,62,63,64,-1) ;\n" "513\tassign->nextsegment() ;\n" "514\tassign->addblockgroup(740,756,1764,1780,-1) ;\n" "515\tassign->link(61,62,63,64,-1) ;\n" "516\tassign->nextsegment() ;\n" "517\tassign->addblockgroup(5,21,1029,1045,-1) ;\n" "518\tassign->link(65,66,67,68,-1) ;\n" "519\tassign->nextsegment() ;\n" "520\tassign->addblockgroup(6,22,1030,1046,-1) ;\n" "521\tassign->link(65,66,67,68,-1) ;\n" "522\tassign->nextsegment() ;\n" "523\tassign->addblockgroup(7,23,1031,1047,-1) ;\n" "524\tassign->link(65,66,67,68,-1) ;\n" "525\tassign->nextsegment() ;\n" "526\tassign->addblockgroup(8,24,1032,1048,-1) ;\n" "527\tassign->link(65,66,67,68,-1) ;\n" "528\tassign->nextsegment() ;\n" "529\tassign->addblockgroup(37,53,1061,1077,-1) ;\n" "530\tassign->link(69,70,71,72,-1) ;\n" "531\tassign->nextsegment() ;\n" "532\tassign->addblockgroup(38,54,1062,1078,-1) ;\n" "533\tassign->link(69,70,71,72,-1) ;\n" "534\tassign->nextsegment() ;\n" "535\tassign->addblockgroup(39,55,1063,1079,-1) ;\n" "536\tassign->link(69,70,71,72,-1) ;\n" "537\tassign->nextsegment() ;\n" "538\tassign->addblockgroup(40,56,1064,1080,-1) ;\n" "539\tassign->link(69,70,71,72,-1) ;\n" "540\tassign->nextsegment() ;\n" "541\tassign->addblockgroup(69,85,1093,1109,-1) ;\n" "542\tassign->link(73,74,75,76,-1) ;\n" "543\tassign->nextsegment() ;\n" "544\tassign->addblockgroup(70,86,1094,1110,-1) ;\n" "545\tassign->link(73,74,75,76,-1) ;\n" "546\tassign->nextsegment() ;\n" "547\tassign->addblockgroup(71,87,1095,1111,-1) ;\n" "548\tassign->link(73,74,75,76,-1) ;\n" "549\tassign->nextsegment() ;\n" "550\tassign->addblockgroup(72,88,1096,1112,-1) ;\n" "551\tassign->link(73,74,75,76,-1) ;\n" "552\tassign->nextsegment() ;\n" "553\tassign->addblockgroup(101,117,1125,1141,-1) ;\n" "554\tassign->link(77,78,79,80,-1) ;\n" "555\tassign->nextsegment() ;\n" "556\tassign->addblockgroup(102,118,1126,1142,-1) ;\n" "557\tassign->link(77,78,79,80,-1) ;\n" "558\tassign->nextsegment() ;\n" "559\tassign->addblockgroup(103,119,1127,1143,-1) ;\n" "560\tassign->link(77,78,79,80,-1) ;\n" "561\tassign->nextsegment() ;\n" "562\tassign->addblockgroup(104,120,1128,1144,-1) ;\n" "563\tassign->link(77,78,79,80,-1) ;\n" "564\tassign->nextsegment() ;\n" "565\tassign->addblockgroup(133,149,1157,1173,-1) ;\n" "566\tassign->link(81,82,83,84,-1) ;\n" "567\tassign->nextsegment() ;\n" "568\tassign->addblockgroup(134,150,1158,1174,-1) ;\n" "569\tassign->link(81,82,83,84,-1) ;\n" "570\tassign->nextsegment() ;\n" "571\tassign->addblockgroup(135,151,1159,1175,-1) ;\n" "572\tassign->link(81,82,83,84,-1) ;\n" "573\tassign->nextsegment() ;\n" "574\tassign->addblockgroup(136,152,1160,1176,-1) ;\n" "575\tassign->link(81,82,83,84,-1) ;\n" "576\tassign->nextsegment() ;\n" "577\tassign->addblockgroup(165,181,1189,1205,-1) ;\n" "578\tassign->link(85,86,87,88,-1) ;\n" "579\tassign->nextsegment() ;\n" "580\tassign->addblockgroup(166,182,1190,1206,-1) ;\n" "581\tassign->link(85,86,87,88,-1) ;\n" "582\tassign->nextsegment() ;\n" "583\tassign->addblockgroup(167,183,1191,1207,-1) ;\n" "584\tassign->link(85,86,87,88,-1) ;\n" "585\tassign->nextsegment() ;\n" "586\tassign->addblockgroup(168,184,1192,1208,-1) ;\n" "587\tassign->link(85,86,87,88,-1) ;\n" "588\tassign->nextsegment() ;\n" "589\tassign->addblockgroup(197,213,1221,1237,-1) ;\n" "590\tassign->link(89,90,91,92,-1) ;\n" "591\tassign->nextsegment() ;\n" "592\tassign->addblockgroup(198,214,1222,1238,-1) ;\n" "593\tassign->link(89,90,91,92,-1) ;\n" "594\tassign->nextsegment() ;\n" "595\tassign->addblockgroup(199,215,1223,1239,-1) ;\n" "596\tassign->link(89,90,91,92,-1) ;\n" "597\tassign->nextsegment() ;\n" "598\tassign->addblockgroup(200,216,1224,1240,-1) ;\n" "599\tassign->link(89,90,91,92,-1) ;\n" "600\tassign->nextsegment() ;\n" "601\tassign->addblockgroup(229,245,1253,1269,-1) ;\n" "602\tassign->link(93,94,95,96,-1) ;\n" "603\tassign->nextsegment() ;\n" "604\tassign->addblockgroup(230,246,1254,1270,-1) ;\n" "605\tassign->link(93,94,95,96,-1) ;\n" "606\tassign->nextsegment() ;\n" "607\tassign->addblockgroup(231,247,1255,1271,-1) ;\n" "608\tassign->link" <- "(93,94,95,96,-1) ;\n" "609\tassign->nextsegment() ;\n" "610\tassign->addblockgroup(232,248,1256,1272,-1) ;\n" "611\tassign->link(93,94,95,96,-1) ;\n" "612\tassign->nextsegment() ;\n" "613\tassign->addblockgroup(517,533,1541,1557,-1) ;\n" "614\tassign->link(97,98,99,100,-1) ;\n" "615\tassign->nextsegment() ;\n" "616\tassign->addblockgroup(518,534,1542,1558,-1) ;\n" "617\tassign->link(97,98,99,100,-1) ;\n" "618\tassign->nextsegment() ;\n" "619\tassign->addblockgroup(519,535,1543,1559,-1) ;\n" "620\tassign->link(97,98,99,100,-1) ;\n" "621\tassign->nextsegment() ;\n" "622\tassign->addblockgroup(520,536,1544,1560,-1) ;\n" "623\tassign->link(97,98,99,100,-1) ;\n" "624\tassign->nextsegment() ;\n" "625\tassign->addblockgroup(549,565,1573,1589,-1) ;\n" "626\tassign->link(101,102,103,104,-1) ;\n" "627\tassign->nextsegment() ;\n" "628\tassign->addblockgroup(550,566,1574,1590,-1) ;\n" "629\tassign->link(101,102,103,104,-1) ;\n" "630\tassign->nextsegment() ;\n" "631\tassign->addblockgroup(551,567,1575,1591,-1) ;\n" "632\tassign->link(101,102,103,104,-1) ;\n" "633\tassign->nextsegment() ;\n" "634\tassign->addblockgroup(552,568,1576,1592,-1) ;\n" "635\tassign->link(101,102,103,104,-1) ;\n" "636\tassign->nextsegment() ;\n" "637\tassign->addblockgroup(581,597,1605,1621,-1) ;\n" "638\tassign->link(105,106,107,108,-1) ;\n" "639\tassign->nextsegment() ;\n" "640\tassign->addblockgroup(582,598,1606,1622,-1) ;\n" "641\tassign->link(105,106,107,108,-1) ;\n" "642\tassign->nextsegment() ;\n" "643\tassign->addblockgroup(583,599,1607,1623,-1) ;\n" "644\tassign->link(105,106,107,108,-1) ;\n" "645\tassign->nextsegment() ;\n" "646\tassign->addblockgroup(584,600,1608,1624,-1) ;\n" "647\tassign->link(105,106,107,108,-1) ;\n" "648\tassign->nextsegment() ;\n" "649\tassign->addblockgroup(613,629,1637,1653,-1) ;\n" "650\tassign->link(109,110,111,112,-1) ;\n" "651\tassign->nextsegment() ;\n" "652\tassign->addblockgroup(614,630,1638,1654,-1) ;\n" "653\tassign->link(109,110,111,112,-1) ;\n" "654\tassign->nextsegment() ;\n" "655\tassign->addblockgroup(615,631,1639,1655,-1) ;\n" "656\tassign->link(109,110,111,112,-1) ;\n" "657\tassign->nextsegment() ;\n" "658\tassign->addblockgroup(616,632,1640,1656,-1) ;\n" "659\tassign->link(109,110,111,112,-1) ;\n" "660\tassign->nextsegment() ;\n" "661\tassign->addblockgroup(645,661,1669,1685,-1) ;\n" "662\tassign->link(113,114,115,116,-1) ;\n" "663\tassign->nextsegment() ;\n" "664\tassign->addblockgroup(646,662,1670,1686,-1) ;\n" "665\tassign->link(113,114,115,116,-1) ;\n" "666\tassign->nextsegment() ;\n" "667\tassign->addblockgroup(647,663,1671,1687,-1) ;\n" "668\tassign->link(113,114,115,116,-1) ;\n" "669\tassign->nextsegment() ;\n" "670\tassign->addblockgroup(648,664,1672,1688,-1) ;\n" "671\tassign->link(113,114,115,116,-1) ;\n" "672\tassign->nextsegment() ;\n" "673\tassign->addblockgroup(677,693,1701,1717,-1) ;\n" "674\tassign->link(117,118,119,120,-1) ;\n" "675\tassign->nextsegment() ;\n" "676\tassign->addblockgroup(678,694,1702,1718,-1) ;\n" "677\tassign->link(117,118,119,120,-1) ;\n" "678\tassign->nextsegment() ;\n" "679\tassign->addblockgroup(679,695,1703,1719,-1) ;\n" "680\tassign->link(117,118,119,120,-1) ;\n" "681\tassign->nextsegment() ;\n" "682\tassign->addblockgroup(680,696,1704,1720,-1) ;\n" "683\tassign->link(117,118,119,120,-1) ;\n" "684\tassign->nextsegment() ;\n" "685\tassign->addblockgroup(709,725,1733,1749,-1) ;\n" "686\tassign->link(121,122,123,124,-1) ;\n" "687\tassign->nextsegment() ;\n" "688\tassign->addblockgroup(710,726,1734,1750,-1) ;\n" "689\tassign->link(121,122,123,124,-1) ;\n" "690\tassign->nextsegment() ;\n" "691\tassign->addblockgroup(711,727,1735,1751,-1) ;\n" "692\tassign->link(121,122,123,124,-1) ;\n" "693\tassign->nextsegment() ;\n" "694\tassign->addblockgroup(712,728,1736,1752,-1) ;\n" "695\tassign->link(121,122,123,124,-1) ;\n" "696\tassign->nextsegment() ;\n" "697\tassign->addblockgroup(741,757,1765,1781,-1) ;\n" "698\tassign->link(125,126,127,128,-1) ;\n" "699\tassign->nextsegment() ;\n" "700\tassign->addblockgroup(742,758,1766,1782,-1) ;\n" "701\tassign->link(125,126,127,128,-1) ;\n" "702\tassign->nextsegment() ;\n" "703\tassign->addblockgroup(743,759,1767,1783,-1) ;\n" "704\tassign->link(125,126,127,128,-1) ;\n" "705\tassign->nextsegment() ;\n" "706\tassign->addblockgroup(744,760,1768,1784,-1) ;\n" "707\tassign->link(125,126,127,128,-1) ;\n" "708\tassign->nextsegment() ;\n" "709\tassign->addblockgroup(9,25,1033,1049,-1) ;\n" "710\tassign->link(129,130,131,132,-1) ;\n" "711\tassign->nextsegment() ;\n" "712\tassign->addblockgroup(10,26,1034,1050,-1) ;\n" "713\tassign->link(129,130,131,132,-1) ;\n" "71" <- "4\tassign->nextsegment() ;\n" "715\tassign->addblockgroup(11,27,1035,1051,-1) ;\n" "716\tassign->link(129,130,131,132,-1) ;\n" "717\tassign->nextsegment() ;\n" "718\tassign->addblockgroup(12,28,1036,1052,-1) ;\n" "719\tassign->link(129,130,131,132,-1) ;\n" "720\tassign->nextsegment() ;\n" "721\tassign->addblockgroup(41,57,1065,1081,-1) ;\n" "722\tassign->link(133,134,135,136,-1) ;\n" "723\tassign->nextsegment() ;\n" "724\tassign->addblockgroup(42,58,1066,1082,-1) ;\n" "725\tassign->link(133,134,135,136,-1) ;\n" "726\tassign->nextsegment() ;\n" "727\tassign->addblockgroup(43,59,1067,1083,-1) ;\n" "728\tassign->link(133,134,135,136,-1) ;\n" "729\tassign->nextsegment() ;\n" "730\tassign->addblockgroup(44,60,1068,1084,-1) ;\n" "731\tassign->link(133,134,135,136,-1) ;\n" "732\tassign->nextsegment() ;\n" "733\tassign->addblockgroup(73,89,1097,1113,-1) ;\n" "734\tassign->link(137,138,139,140,-1) ;\n" "735\tassign->nextsegment() ;\n" "736\tassign->addblockgroup(74,90,1098,1114,-1) ;\n" "737\tassign->link(137,138,139,140,-1) ;\n" "738\tassign->nextsegment() ;\n" "739\tassign->addblockgroup(75,91,1099,1115,-1) ;\n" "740\tassign->link(137,138,139,140,-1) ;\n" "741\tassign->nextsegment() ;\n" "742\tassign->addblockgroup(76,92,1100,1116,-1) ;\n" "743\tassign->link(137,138,139,140,-1) ;\n" "744\tassign->nextsegment() ;\n" "745\tassign->addblockgroup(105,121,1129,1145,-1) ;\n" "746\tassign->link(141,142,143,144,-1) ;\n" "747\tassign->nextsegment() ;\n" "748\tassign->addblockgroup(106,122,1130,1146,-1) ;\n" "749\tassign->link(141,142,143,144,-1) ;\n" "750\tassign->nextsegment() ;\n" "751\tassign->addblockgroup(107,123,1131,1147,-1) ;\n" "752\tassign->link(141,142,143,144,-1) ;\n" "753\tassign->nextsegment() ;\n" "754\tassign->addblockgroup(108,124,1132,1148,-1) ;\n" "755\tassign->link(141,142,143,144,-1) ;\n" "756\tassign->nextsegment() ;\n" "757\tassign->addblockgroup(137,153,1161,1177,-1) ;\n" "758\tassign->link(145,146,147,148,-1) ;\n" "759\tassign->nextsegment() ;\n" "760\tassign->addblockgroup(138,154,1162,1178,-1) ;\n" "761\tassign->link(145,146,147,148,-1) ;\n" "762\tassign->nextsegment() ;\n" "763\tassign->addblockgroup(139,155,1163,1179,-1) ;\n" "764\tassign->link(145,146,147,148,-1) ;\n" "765\tassign->nextsegment() ;\n" "766\tassign->addblockgroup(140,156,1164,1180,-1) ;\n" "767\tassign->link(145,146,147,148,-1) ;\n" "768\tassign->nextsegment() ;\n" "769\tassign->addblockgroup(169,185,1193,1209,-1) ;\n" "770\tassign->link(149,150,151,152,-1) ;\n" "771\tassign->nextsegment() ;\n" "772\tassign->addblockgroup(170,186,1194,1210,-1) ;\n" "773\tassign->link(149,150,151,152,-1) ;\n" "774\tassign->nextsegment() ;\n" "775\tassign->addblockgroup(171,187,1195,1211,-1) ;\n" "776\tassign->link(149,150,151,152,-1) ;\n" "777\tassign->nextsegment() ;\n" "778\tassign->addblockgroup(172,188,1196,1212,-1) ;\n" "779\tassign->link(149,150,151,152,-1) ;\n" "780\tassign->nextsegment() ;\n" "781\tassign->addblockgroup(201,217,1225,1241,-1) ;\n" "782\tassign->link(153,154,155,156,-1) ;\n" "783\tassign->nextsegment() ;\n" "784\tassign->addblockgroup(202,218,1226,1242,-1) ;\n" "785\tassign->link(153,154,155,156,-1) ;\n" "786\tassign->nextsegment() ;\n" "787\tassign->addblockgroup(203,219,1227,1243,-1) ;\n" "788\tassign->link(153,154,155,156,-1) ;\n" "789\tassign->nextsegment() ;\n" "790\tassign->addblockgroup(204,220,1228,1244,-1) ;\n" "791\tassign->link(153,154,155,156,-1) ;\n" "792\tassign->nextsegment() ;\n" "793\tassign->addblockgroup(233,249,1257,1273,-1) ;\n" "794\tassign->link(157,158,159,160,-1) ;\n" "795\tassign->nextsegment() ;\n" "796\tassign->addblockgroup(234,250,1258,1274,-1) ;\n" "797\tassign->link(157,158,159,160,-1) ;\n" "798\tassign->nextsegment() ;\n" "799\tassign->addblockgroup(235,251,1259,1275,-1) ;\n" "800\tassign->link(157,158,159,160,-1) ;\n" "801\tassign->nextsegment() ;\n" "802\tassign->addblockgroup(236,252,1260,1276,-1) ;\n" "803\tassign->link(157,158,159,160,-1) ;\n" "804\tassign->nextsegment() ;\n" "805\tassign->addblockgroup(521,537,1545,1561,-1) ;\n" "806\tassign->link(161,162,163,164,-1) ;\n" "807\tassign->nextsegment() ;\n" "808\tassign->addblockgroup(522,538,1546,1562,-1) ;\n" "809\tassign->link(161,162,163,164,-1) ;\n" "810\tassign->nextsegment() ;\n" "811\tassign->addblockgroup(523,539,1547,1563,-1) ;\n" "812\tassign->link(161,162,163,164,-1) ;\n" "813\tassign->nextsegment() ;\n" "814\tassign->addblockgroup(524,540,1548,1564,-1) ;\n" "815\tassign->link(161,162,163,164,-1) ;\n" "816\tassign->nextsegment() ;\n" "817\tassign->addblockgroup(553,569,1577,1593,-1) ;\n" "818\tassign->link(165,166,167,168,-1) ;\n" "819\tassign->nextsegmen" <- "t() ;\n" "820\tassign->addblockgroup(554,570,1578,1594,-1) ;\n" "821\tassign->link(165,166,167,168,-1) ;\n" "822\tassign->nextsegment() ;\n" "823\tassign->addblockgroup(555,571,1579,1595,-1) ;\n" "824\tassign->link(165,166,167,168,-1) ;\n" "825\tassign->nextsegment() ;\n" "826\tassign->addblockgroup(556,572,1580,1596,-1) ;\n" "827\tassign->link(165,166,167,168,-1) ;\n" "828\tassign->nextsegment() ;\n" "829\tassign->addblockgroup(585,601,1609,1625,-1) ;\n" "830\tassign->link(169,170,171,172,-1) ;\n" "831\tassign->nextsegment() ;\n" "832\tassign->addblockgroup(586,602,1610,1626,-1) ;\n" "833\tassign->link(169,170,171,172,-1) ;\n" "834\tassign->nextsegment() ;\n" "835\tassign->addblockgroup(587,603,1611,1627,-1) ;\n" "836\tassign->link(169,170,171,172,-1) ;\n" "837\tassign->nextsegment() ;\n" "838\tassign->addblockgroup(588,604,1612,1628,-1) ;\n" "839\tassign->link(169,170,171,172,-1) ;\n" "840\tassign->nextsegment() ;\n" "841\tassign->addblockgroup(617,633,1641,1657,-1) ;\n" "842\tassign->link(173,174,175,176,-1) ;\n" "843\tassign->nextsegment() ;\n" "844\tassign->addblockgroup(618,634,1642,1658,-1) ;\n" "845\tassign->link(173,174,175,176,-1) ;\n" "846\tassign->nextsegment() ;\n" "847\tassign->addblockgroup(619,635,1643,1659,-1) ;\n" "848\tassign->link(173,174,175,176,-1) ;\n" "849\tassign->nextsegment() ;\n" "850\tassign->addblockgroup(620,636,1644,1660,-1) ;\n" "851\tassign->link(173,174,175,176,-1) ;\n" "852\tassign->nextsegment() ;\n" "853\tassign->addblockgroup(649,665,1673,1689,-1) ;\n" "854\tassign->link(177,178,179,180,-1) ;\n" "855\tassign->nextsegment() ;\n" "856\tassign->addblockgroup(650,666,1674,1690,-1) ;\n" "857\tassign->link(177,178,179,180,-1) ;\n" "858\tassign->nextsegment() ;\n" "859\tassign->addblockgroup(651,667,1675,1691,-1) ;\n" "860\tassign->link(177,178,179,180,-1) ;\n" "861\tassign->nextsegment() ;\n" "862\tassign->addblockgroup(652,668,1676,1692,-1) ;\n" "863\tassign->link(177,178,179,180,-1) ;\n" "864\tassign->nextsegment() ;\n" "865\tassign->addblockgroup(681,697,1705,1721,-1) ;\n" "866\tassign->link(181,182,183,184,-1) ;\n" "867\tassign->nextsegment() ;\n" "868\tassign->addblockgroup(682,698,1706,1722,-1) ;\n" "869\tassign->link(181,182,183,184,-1) ;\n" "870\tassign->nextsegment() ;\n" "871\tassign->addblockgroup(683,699,1707,1723,-1) ;\n" "872\tassign->link(181,182,183,184,-1) ;\n" "873\tassign->nextsegment() ;\n" "874\tassign->addblockgroup(684,700,1708,1724,-1) ;\n" "875\tassign->link(181,182,183,184,-1) ;\n" "876\tassign->nextsegment() ;\n" "877\tassign->addblockgroup(713,729,1737,1753,-1) ;\n" "878\tassign->link(185,186,187,188,-1) ;\n" "879\tassign->nextsegment() ;\n" "880\tassign->addblockgroup(714,730,1738,1754,-1) ;\n" "881\tassign->link(185,186,187,188,-1) ;\n" "882\tassign->nextsegment() ;\n" "883\tassign->addblockgroup(715,731,1739,1755,-1) ;\n" "884\tassign->link(185,186,187,188,-1) ;\n" "885\tassign->nextsegment() ;\n" "886\tassign->addblockgroup(716,732,1740,1756,-1) ;\n" "887\tassign->link(185,186,187,188,-1) ;\n" "888\tassign->nextsegment() ;\n" "889\tassign->addblockgroup(745,761,1769,1785,-1) ;\n" "890\tassign->link(189,190,191,192,-1) ;\n" "891\tassign->nextsegment() ;\n" "892\tassign->addblockgroup(746,762,1770,1786,-1) ;\n" "893\tassign->link(189,190,191,192,-1) ;\n" "894\tassign->nextsegment() ;\n" "895\tassign->addblockgroup(747,763,1771,1787,-1) ;\n" "896\tassign->link(189,190,191,192,-1) ;\n" "897\tassign->nextsegment() ;\n" "898\tassign->addblockgroup(748,764,1772,1788,-1) ;\n" "899\tassign->link(189,190,191,192,-1) ;\n" "900\tassign->nextsegment() ;\n" "901\tassign->addblockgroup(13,29,1037,1053,-1) ;\n" "902\tassign->link(193,194,195,196,-1) ;\n" "903\tassign->nextsegment() ;\n" "904\tassign->addblockgroup(14,30,1038,1054,-1) ;\n" "905\tassign->link(193,194,195,196,-1) ;\n" "906\tassign->nextsegment() ;\n" "907\tassign->addblockgroup(15,31,1039,1055,-1) ;\n" "908\tassign->link(193,194,195,196,-1) ;\n" "909\tassign->nextsegment() ;\n" "910\tassign->addblockgroup(16,32,1040,1056,-1) ;\n" "911\tassign->link(193,194,195,196,-1) ;\n" "912\tassign->nextsegment() ;\n" "913\tassign->addblockgroup(45,61,1069,1085,-1) ;\n" "914\tassign->link(197,198,199,200,-1) ;\n" "915\tassign->nextsegment() ;\n" "916\tassign->addblockgroup(46,62,1070,1086,-1) ;\n" "917\tassign->link(197,198,199,200,-1) ;\n" "918\tassign->nextsegment() ;\n" "919\tassign->addblockgroup(47,63,1071,1087,-1) ;\n" "920\tassign->link(197,198,199,200,-1) ;\n" "921\tassign->nextsegment() ;\n" "922\tassign->addblockgroup(48,64,1072,1088,-1) ;\n" "923\tassign->link(197,198,199,200,-1) ;\n" "924\tassign->nextsegment() ;\n" "925\tassign" <- "->addblockgroup(77,93,1101,1117,-1) ;\n" "926\tassign->link(201,202,203,204,-1) ;\n" "927\tassign->nextsegment() ;\n" "928\tassign->addblockgroup(78,94,1102,1118,-1) ;\n" "929\tassign->link(201,202,203,204,-1) ;\n" "930\tassign->nextsegment() ;\n" "931\tassign->addblockgroup(79,95,1103,1119,-1) ;\n" "932\tassign->link(201,202,203,204,-1) ;\n" "933\tassign->nextsegment() ;\n" "934\tassign->addblockgroup(80,96,1104,1120,-1) ;\n" "935\tassign->link(201,202,203,204,-1) ;\n" "936\tassign->nextsegment() ;\n" "937\tassign->addblockgroup(109,125,1133,1149,-1) ;\n" "938\tassign->link(205,206,207,208,-1) ;\n" "939\tassign->nextsegment() ;\n" "940\tassign->addblockgroup(110,126,1134,1150,-1) ;\n" "941\tassign->link(205,206,207,208,-1) ;\n" "942\tassign->nextsegment() ;\n" "943\tassign->addblockgroup(111,127,1135,1151,-1) ;\n" "944\tassign->link(205,206,207,208,-1) ;\n" "945\tassign->nextsegment() ;\n" "946\tassign->addblockgroup(112,128,1136,1152,-1) ;\n" "947\tassign->link(205,206,207,208,-1) ;\n" "948\tassign->nextsegment() ;\n" "949\tassign->addblockgroup(141,157,1165,1181,-1) ;\n" "950\tassign->link(209,210,211,212,-1) ;\n" "951\tassign->nextsegment() ;\n" "952\tassign->addblockgroup(142,158,1166,1182,-1) ;\n" "953\tassign->link(209,210,211,212,-1) ;\n" "954\tassign->nextsegment() ;\n" "955\tassign->addblockgroup(143,159,1167,1183,-1) ;\n" "956\tassign->link(209,210,211,212,-1) ;\n" "957\tassign->nextsegment() ;\n" "958\tassign->addblockgroup(144,160,1168,1184,-1) ;\n" "959\tassign->link(209,210,211,212,-1) ;\n" "960\tassign->nextsegment() ;\n" "961\tassign->addblockgroup(173,189,1197,1213,-1) ;\n" "962\tassign->link(213,214,215,216,-1) ;\n" "963\tassign->nextsegment() ;\n" "964\tassign->addblockgroup(174,190,1198,1214,-1) ;\n" "965\tassign->link(213,214,215,216,-1) ;\n" "966\tassign->nextsegment() ;\n" "967\tassign->addblockgroup(175,191,1199,1215,-1) ;\n" "968\tassign->link(213,214,215,216,-1) ;\n" "969\tassign->nextsegment() ;\n" "970\tassign->addblockgroup(176,192,1200,1216,-1) ;\n" "971\tassign->link(213,214,215,216,-1) ;\n" "972\tassign->nextsegment() ;\n" "973\tassign->addblockgroup(205,221,1229,1245,-1) ;\n" "974\tassign->link(217,218,219,220,-1) ;\n" "975\tassign->nextsegment() ;\n" "976\tassign->addblockgroup(206,222,1230,1246,-1) ;\n" "977\tassign->link(217,218,219,220,-1) ;\n" "978\tassign->nextsegment() ;\n" "979\tassign->addblockgroup(207,223,1231,1247,-1) ;\n" "980\tassign->link(217,218,219,220,-1) ;\n" "981\tassign->nextsegment() ;\n" "982\tassign->addblockgroup(208,224,1232,1248,-1) ;\n" "983\tassign->link(217,218,219,220,-1) ;\n" "984\tassign->nextsegment() ;\n" "985\tassign->addblockgroup(237,253,1261,1277,-1) ;\n" "986\tassign->link(221,222,223,224,-1) ;\n" "987\tassign->nextsegment() ;\n" "988\tassign->addblockgroup(238,254,1262,1278,-1) ;\n" "989\tassign->link(221,222,223,224,-1) ;\n" "990\tassign->nextsegment() ;\n" "991\tassign->addblockgroup(239,255,1263,1279,-1) ;\n" "992\tassign->link(221,222,223,224,-1) ;\n" "993\tassign->nextsegment() ;\n" "994\tassign->addblockgroup(240,256,1264,1280,-1) ;\n" "995\tassign->link(221,222,223,224,-1) ;\n" "996\tassign->nextsegment() ;\n" "997\tassign->addblockgroup(525,541,1549,1565,-1) ;\n" "998\tassign->link(225,226,227,228,-1) ;\n" "999\tassign->nextsegment() ;\n" "1000\tassign->addblockgroup(526,542,1550,1566,-1) ;\n" "1001\tassign->link(225,226,227,228,-1) ;\n" "1002\tassign->nextsegment() ;\n" "1003\tassign->addblockgroup(527,543,1551,1567,-1) ;\n" "1004\tassign->link(225,226,227,228,-1) ;\n" "1005\tassign->nextsegment() ;\n" "1006\tassign->addblockgroup(528,544,1552,1568,-1) ;\n" "1007\tassign->link(225,226,227,228,-1) ;\n" "1008\tassign->nextsegment() ;\n" "1009\tassign->addblockgroup(557,573,1581,1597,-1) ;\n" "1010\tassign->link(229,230,231,232,-1) ;\n" "1011\tassign->nextsegment() ;\n" "1012\tassign->addblockgroup(558,574,1582,1598,-1) ;\n" "1013\tassign->link(229,230,231,232,-1) ;\n" "1014\tassign->nextsegment() ;\n" "1015\tassign->addblockgroup(559,575,1583,1599,-1) ;\n" "1016\tassign->link(229,230,231,232,-1) ;\n" "1017\tassign->nextsegment() ;\n" "1018\tassign->addblockgroup(560,576,1584,1600,-1) ;\n" "1019\tassign->link(229,230,231,232,-1) ;\n" "1020\tassign->nextsegment() ;\n" "1021\tassign->addblockgroup(589,605,1613,1629,-1) ;\n" "1022\tassign->link(233,234,235,236,-1) ;\n" "1023\tassign->nextsegment() ;\n" "1024\tassign->addblockgroup(590,606,1614,1630,-1) ;\n" "1025\tassign->link(233,234,235,236,-1) ;\n" "1026\tassign->nextsegment() ;\n" "1027\tassign->addblockgroup(591,607,1615,1631,-1) ;\n" "1028\tassign->link(233,234,235,236,-1) ;\n" "1029\tassign->next" <- "segment() ;\n" "1030\tassign->addblockgroup(592,608,1616,1632,-1) ;\n" "1031\tassign->link(233,234,235,236,-1) ;\n" "1032\tassign->nextsegment() ;\n" "1033\tassign->addblockgroup(621,637,1645,1661,-1) ;\n" "1034\tassign->link(237,238,239,240,-1) ;\n" "1035\tassign->nextsegment() ;\n" "1036\tassign->addblockgroup(622,638,1646,1662,-1) ;\n" "1037\tassign->link(237,238,239,240,-1) ;\n" "1038\tassign->nextsegment() ;\n" "1039\tassign->addblockgroup(623,639,1647,1663,-1) ;\n" "1040\tassign->link(237,238,239,240,-1) ;\n" "1041\tassign->nextsegment() ;\n" "1042\tassign->addblockgroup(624,640,1648,1664,-1) ;\n" "1043\tassign->link(237,238,239,240,-1) ;\n" "1044\tassign->nextsegment() ;\n" "1045\tassign->addblockgroup(653,669,1677,1693,-1) ;\n" "1046\tassign->link(241,242,243,244,-1) ;\n" "1047\tassign->nextsegment() ;\n" "1048\tassign->addblockgroup(654,670,1678,1694,-1) ;\n" "1049\tassign->link(241,242,243,244,-1) ;\n" "1050\tassign->nextsegment() ;\n" "1051\tassign->addblockgroup(655,671,1679,1695,-1) ;\n" "1052\tassign->link(241,242,243,244,-1) ;\n" "1053\tassign->nextsegment() ;\n" "1054\tassign->addblockgroup(656,672,1680,1696,-1) ;\n" "1055\tassign->link(241,242,243,244,-1) ;\n" "1056\tassign->nextsegment() ;\n" "1057\tassign->addblockgroup(685,701,1709,1725,-1) ;\n" "1058\tassign->link(245,246,247,248,-1) ;\n" "1059\tassign->nextsegment() ;\n" "1060\tassign->addblockgroup(686,702,1710,1726,-1) ;\n" "1061\tassign->link(245,246,247,248,-1) ;\n" "1062\tassign->nextsegment() ;\n" "1063\tassign->addblockgroup(687,703,1711,1727,-1) ;\n" "1064\tassign->link(245,246,247,248,-1) ;\n" "1065\tassign->nextsegment() ;\n" "1066\tassign->addblockgroup(688,704,1712,1728,-1) ;\n" "1067\tassign->link(245,246,247,248,-1) ;\n" "1068\tassign->nextsegment() ;\n" "1069\tassign->addblockgroup(717,733,1741,1757,-1) ;\n" "1070\tassign->link(249,250,251,252,-1) ;\n" "1071\tassign->nextsegment() ;\n" "1072\tassign->addblockgroup(718,734,1742,1758,-1) ;\n" "1073\tassign->link(249,250,251,252,-1) ;\n" "1074\tassign->nextsegment() ;\n" "1075\tassign->addblockgroup(719,735,1743,1759,-1) ;\n" "1076\tassign->link(249,250,251,252,-1) ;\n" "1077\tassign->nextsegment() ;\n" "1078\tassign->addblockgroup(720,736,1744,1760,-1) ;\n" "1079\tassign->link(249,250,251,252,-1) ;\n" "1080\tassign->nextsegment() ;\n" "1081\tassign->addblockgroup(749,765,1773,1789,-1) ;\n" "1082\tassign->link(253,254,255,256,-1) ;\n" "1083\tassign->nextsegment() ;\n" "1084\tassign->addblockgroup(750,766,1774,1790,-1) ;\n" "1085\tassign->link(253,254,255,256,-1) ;\n" "1086\tassign->nextsegment() ;\n" "1087\tassign->addblockgroup(751,767,1775,1791,-1) ;\n" "1088\tassign->link(253,254,255,256,-1) ;\n" "1089\tassign->nextsegment() ;\n" "1090\tassign->addblockgroup(752,768,1776,1792,-1) ;\n" "1091\tassign->link(253,254,255,256,-1) ;\n" "1092\tassign->nextsegment() ;\n" "1093\tassign->set_first_red() ;\n" "1094\tassign->set_spaset(0,32,32,-1) ;\n" "1095\tassign->addblockgroup(257,273,1281,1297,-1) ;\n" "1096\tassign->nextsegment() ;\n" "1097\tassign->set_spaset(0,32,32,-1) ;\n" "1098\tassign->addblockgroup(258,274,1282,1298,-1) ;\n" "1099\tassign->nextsegment() ;\n" "1100\tassign->set_spaset(0,32,32,-1) ;\n" "1101\tassign->addblockgroup(259,275,1283,1299,-1) ;\n" "1102\tassign->nextsegment() ;\n" "1103\tassign->set_spaset(0,32,32,-1) ;\n" "1104\tassign->addblockgroup(260,276,1284,1300,-1) ;\n" "1105\tassign->nextsegment() ;\n" "1106\tassign->set_spaset(0,32,32,-1) ;\n" "1107\tassign->addblockgroup(289,305,1313,1329,-1) ;\n" "1108\tassign->nextsegment() ;\n" "1109\tassign->set_spaset(0,32,32,-1) ;\n" "1110\tassign->addblockgroup(290,306,1314,1330,-1) ;\n" "1111\tassign->nextsegment() ;\n" "1112\tassign->set_spaset(0,32,32,-1) ;\n" "1113\tassign->addblockgroup(291,307,1315,1331,-1) ;\n" "1114\tassign->nextsegment() ;\n" "1115\tassign->set_spaset(0,32,32,-1) ;\n" "1116\tassign->addblockgroup(292,308,1316,1332,-1) ;\n" "1117\tassign->nextsegment() ;\n" "1118\tassign->set_spaset(0,32,32,-1) ;\n" "1119\tassign->addblockgroup(321,337,1345,1361,-1) ;\n" "1120\tassign->nextsegment() ;\n" "1121\tassign->set_spaset(0,32,32,-1) ;\n" "1122\tassign->addblockgroup(322,338,1346,1362,-1) ;\n" "1123\tassign->nextsegment() ;\n" "1124\tassign->set_spaset(0,32,32,-1) ;\n" "1125\tassign->addblockgroup(323,339,1347,1363,-1) ;\n" "1126\tassign->nextsegment() ;\n" "1127\tassign->set_spaset(0,32,32,-1) ;\n" "1128\tassign->addblockgroup(324,340,1348,1364,-1) ;\n" "1129\tassign->nextsegment() ;\n" "1130\tassign->set_spaset(0,32,32,-1) ;\n" "1131\tassign->addblockgroup(353,369,1377,1393,-1) ;\n" "1132\tassign->nextsegment() " <- ";\n" "1133\tassign->set_spaset(0,32,32,-1) ;\n" "1134\tassign->addblockgroup(354,370,1378,1394,-1) ;\n" "1135\tassign->nextsegment() ;\n" "1136\tassign->set_spaset(0,32,32,-1) ;\n" "1137\tassign->addblockgroup(355,371,1379,1395,-1) ;\n" "1138\tassign->nextsegment() ;\n" "1139\tassign->set_spaset(0,32,32,-1) ;\n" "1140\tassign->addblockgroup(356,372,1380,1396,-1) ;\n" "1141\tassign->nextsegment() ;\n" "1142\tassign->set_spaset(0,32,32,-1) ;\n" "1143\tassign->addblockgroup(385,401,1409,1425,-1) ;\n" "1144\tassign->nextsegment() ;\n" "1145\tassign->set_spaset(0,32,32,-1) ;\n" "1146\tassign->addblockgroup(386,402,1410,1426,-1) ;\n" "1147\tassign->nextsegment() ;\n" "1148\tassign->set_spaset(0,32,32,-1) ;\n" "1149\tassign->addblockgroup(387,403,1411,1427,-1) ;\n" "1150\tassign->nextsegment() ;\n" "1151\tassign->set_spaset(0,32,32,-1) ;\n" "1152\tassign->addblockgroup(388,404,1412,1428,-1) ;\n" "1153\tassign->nextsegment() ;\n" "1154\tassign->set_spaset(0,32,32,-1) ;\n" "1155\tassign->addblockgroup(417,433,1441,1457,-1) ;\n" "1156\tassign->nextsegment() ;\n" "1157\tassign->set_spaset(0,32,32,-1) ;\n" "1158\tassign->addblockgroup(418,434,1442,1458,-1) ;\n" "1159\tassign->nextsegment() ;\n" "1160\tassign->set_spaset(0,32,32,-1) ;\n" "1161\tassign->addblockgroup(419,435,1443,1459,-1) ;\n" "1162\tassign->nextsegment() ;\n" "1163\tassign->set_spaset(0,32,32,-1) ;\n" "1164\tassign->addblockgroup(420,436,1444,1460,-1) ;\n" "1165\tassign->nextsegment() ;\n" "1166\tassign->set_spaset(0,32,32,-1) ;\n" "1167\tassign->addblockgroup(449,465,1473,1489,-1) ;\n" "1168\tassign->nextsegment() ;\n" "1169\tassign->set_spaset(0,32,32,-1) ;\n" "1170\tassign->addblockgroup(450,466,1474,1490,-1) ;\n" "1171\tassign->nextsegment() ;\n" "1172\tassign->set_spaset(0,32,32,-1) ;\n" "1173\tassign->addblockgroup(451,467,1475,1491,-1) ;\n" "1174\tassign->nextsegment() ;\n" "1175\tassign->set_spaset(0,32,32,-1) ;\n" "1176\tassign->addblockgroup(452,468,1476,1492,-1) ;\n" "1177\tassign->nextsegment() ;\n" "1178\tassign->set_spaset(0,32,32,-1) ;\n" "1179\tassign->addblockgroup(481,497,1505,1521,-1) ;\n" "1180\tassign->nextsegment() ;\n" "1181\tassign->set_spaset(0,32,32,-1) ;\n" "1182\tassign->addblockgroup(482,498,1506,1522,-1) ;\n" "1183\tassign->nextsegment() ;\n" "1184\tassign->set_spaset(0,32,32,-1) ;\n" "1185\tassign->addblockgroup(483,499,1507,1523,-1) ;\n" "1186\tassign->nextsegment() ;\n" "1187\tassign->set_spaset(0,32,32,-1) ;\n" "1188\tassign->addblockgroup(484,500,1508,1524,-1) ;\n" "1189\tassign->nextsegment() ;\n" "1190\tassign->set_spaset(0,32,32,-1) ;\n" "1191\tassign->addblockgroup(769,785,1793,1809,-1) ;\n" "1192\tassign->nextsegment() ;\n" "1193\tassign->set_spaset(0,32,32,-1) ;\n" "1194\tassign->addblockgroup(770,786,1794,1810,-1) ;\n" "1195\tassign->nextsegment() ;\n" "1196\tassign->set_spaset(0,32,32,-1) ;\n" "1197\tassign->addblockgroup(771,787,1795,1811,-1) ;\n" "1198\tassign->nextsegment() ;\n" "1199\tassign->set_spaset(0,32,32,-1) ;\n" "1200\tassign->addblockgroup(772,788,1796,1812,-1) ;\n" "1201\tassign->nextsegment() ;\n" "1202\tassign->set_spaset(0,32,32,-1) ;\n" "1203\tassign->addblockgroup(801,817,1825,1841,-1) ;\n" "1204\tassign->nextsegment() ;\n" "1205\tassign->set_spaset(0,32,32,-1) ;\n" "1206\tassign->addblockgroup(802,818,1826,1842,-1) ;\n" "1207\tassign->nextsegment() ;\n" "1208\tassign->set_spaset(0,32,32,-1) ;\n" "1209\tassign->addblockgroup(803,819,1827,1843,-1) ;\n" "1210\tassign->nextsegment() ;\n" "1211\tassign->set_spaset(0,32,32,-1) ;\n" "1212\tassign->addblockgroup(804,820,1828,1844,-1) ;\n" "1213\tassign->nextsegment() ;\n" "1214\tassign->set_spaset(0,32,32,-1) ;\n" "1215\tassign->addblockgroup(833,849,1857,1873,-1) ;\n" "1216\tassign->nextsegment() ;\n" "1217\tassign->set_spaset(0,32,32,-1) ;\n" "1218\tassign->addblockgroup(834,850,1858,1874,-1) ;\n" "1219\tassign->nextsegment() ;\n" "1220\tassign->set_spaset(0,32,32,-1) ;\n" "1221\tassign->addblockgroup(835,851,1859,1875,-1) ;\n" "1222\tassign->nextsegment() ;\n" "1223\tassign->set_spaset(0,32,32,-1) ;\n" "1224\tassign->addblockgroup(836,852,1860,1876,-1) ;\n" "1225\tassign->nextsegment() ;\n" "1226\tassign->set_spaset(0,32,32,-1) ;\n" "1227\tassign->addblockgroup(865,881,1889,1905,-1) ;\n" "1228\tassign->nextsegment() ;\n" "1229\tassign->set_spaset(0,32,32,-1) ;\n" "1230\tassign->addblockgroup(866,882,1890,1906,-1) ;\n" "1231\tassign->nextsegment() ;\n" "1232\tassign->set_spaset(0,32,32,-1) ;\n" "1233\tassign->addblockgroup(867,883,1891,1907,-1) ;\n" "1234\tassign->nextsegment() ;\n" "1235\tassign->set_spaset(0,32,32,-1) ;\n" "1236\tassign->addblockgroup(868,884,1892,190" <- "8,-1) ;\n" "1237\tassign->nextsegment() ;\n" "1238\tassign->set_spaset(0,32,32,-1) ;\n" "1239\tassign->addblockgroup(897,913,1921,1937,-1) ;\n" "1240\tassign->nextsegment() ;\n" "1241\tassign->set_spaset(0,32,32,-1) ;\n" "1242\tassign->addblockgroup(898,914,1922,1938,-1) ;\n" "1243\tassign->nextsegment() ;\n" "1244\tassign->set_spaset(0,32,32,-1) ;\n" "1245\tassign->addblockgroup(899,915,1923,1939,-1) ;\n" "1246\tassign->nextsegment() ;\n" "1247\tassign->set_spaset(0,32,32,-1) ;\n" "1248\tassign->addblockgroup(900,916,1924,1940,-1) ;\n" "1249\tassign->nextsegment() ;\n" "1250\tassign->set_spaset(0,32,32,-1) ;\n" "1251\tassign->addblockgroup(929,945,1953,1969,-1) ;\n" "1252\tassign->nextsegment() ;\n" "1253\tassign->set_spaset(0,32,32,-1) ;\n" "1254\tassign->addblockgroup(930,946,1954,1970,-1) ;\n" "1255\tassign->nextsegment() ;\n" "1256\tassign->set_spaset(0,32,32,-1) ;\n" "1257\tassign->addblockgroup(931,947,1955,1971,-1) ;\n" "1258\tassign->nextsegment() ;\n" "1259\tassign->set_spaset(0,32,32,-1) ;\n" "1260\tassign->addblockgroup(932,948,1956,1972,-1) ;\n" "1261\tassign->nextsegment() ;\n" "1262\tassign->set_spaset(0,32,32,-1) ;\n" "1263\tassign->addblockgroup(961,977,1985,2001,-1) ;\n" "1264\tassign->nextsegment() ;\n" "1265\tassign->set_spaset(0,32,32,-1) ;\n" "1266\tassign->addblockgroup(962,978,1986,2002,-1) ;\n" "1267\tassign->nextsegment() ;\n" "1268\tassign->set_spaset(0,32,32,-1) ;\n" "1269\tassign->addblockgroup(963,979,1987,2003,-1) ;\n" "1270\tassign->nextsegment() ;\n" "1271\tassign->set_spaset(0,32,32,-1) ;\n" "1272\tassign->addblockgroup(964,980,1988,2004,-1) ;\n" "1273\tassign->nextsegment() ;\n" "1274\tassign->set_spaset(0,32,32,-1) ;\n" "1275\tassign->addblockgroup(993,1009,2017,2033,-1) ;\n" "1276\tassign->nextsegment() ;\n" "1277\tassign->set_spaset(0,32,32,-1) ;\n" "1278\tassign->addblockgroup(994,1010,2018,2034,-1) ;\n" "1279\tassign->nextsegment() ;\n" "1280\tassign->set_spaset(0,32,32,-1) ;\n" "1281\tassign->addblockgroup(995,1011,2019,2035,-1) ;\n" "1282\tassign->nextsegment() ;\n" "1283\tassign->set_spaset(0,32,32,-1) ;\n" "1284\tassign->addblockgroup(996,1012,2020,2036,-1) ;\n" "1285\tassign->nextsegment() ;\n" "1286\tassign->set_spaset(0,32,32,-1) ;\n" "1287\tassign->addblockgroup(261,277,1285,1301,-1) ;\n" "1288\tassign->nextsegment() ;\n" "1289\tassign->set_spaset(0,32,32,-1) ;\n" "1290\tassign->addblockgroup(262,278,1286,1302,-1) ;\n" "1291\tassign->nextsegment() ;\n" "1292\tassign->set_spaset(0,32,32,-1) ;\n" "1293\tassign->addblockgroup(263,279,1287,1303,-1) ;\n" "1294\tassign->nextsegment() ;\n" "1295\tassign->set_spaset(0,32,32,-1) ;\n" "1296\tassign->addblockgroup(264,280,1288,1304,-1) ;\n" "1297\tassign->nextsegment() ;\n" "1298\tassign->set_spaset(0,32,32,-1) ;\n" "1299\tassign->addblockgroup(293,309,1317,1333,-1) ;\n" "1300\tassign->nextsegment() ;\n" "1301\tassign->set_spaset(0,32,32,-1) ;\n" "1302\tassign->addblockgroup(294,310,1318,1334,-1) ;\n" "1303\tassign->nextsegment() ;\n" "1304\tassign->set_spaset(0,32,32,-1) ;\n" "1305\tassign->addblockgroup(295,311,1319,1335,-1) ;\n" "1306\tassign->nextsegment() ;\n" "1307\tassign->set_spaset(0,32,32,-1) ;\n" "1308\tassign->addblockgroup(296,312,1320,1336,-1) ;\n" "1309\tassign->nextsegment() ;\n" "1310\tassign->set_spaset(0,32,32,-1) ;\n" "1311\tassign->addblockgroup(325,341,1349,1365,-1) ;\n" "1312\tassign->nextsegment() ;\n" "1313\tassign->set_spaset(0,32,32,-1) ;\n" "1314\tassign->addblockgroup(326,342,1350,1366,-1) ;\n" "1315\tassign->nextsegment() ;\n" "1316\tassign->set_spaset(0,32,32,-1) ;\n" "1317\tassign->addblockgroup(327,343,1351,1367,-1) ;\n" "1318\tassign->nextsegment() ;\n" "1319\tassign->set_spaset(0,32,32,-1) ;\n" "1320\tassign->addblockgroup(328,344,1352,1368,-1) ;\n" "1321\tassign->nextsegment() ;\n" "1322\tassign->set_spaset(0,32,32,-1) ;\n" "1323\tassign->addblockgroup(357,373,1381,1397,-1) ;\n" "1324\tassign->nextsegment() ;\n" "1325\tassign->set_spaset(0,32,32,-1) ;\n" "1326\tassign->addblockgroup(358,374,1382,1398,-1) ;\n" "1327\tassign->nextsegment() ;\n" "1328\tassign->set_spaset(0,32,32,-1) ;\n" "1329\tassign->addblockgroup(359,375,1383,1399,-1) ;\n" "1330\tassign->nextsegment() ;\n" "1331\tassign->set_spaset(0,32,32,-1) ;\n" "1332\tassign->addblockgroup(360,376,1384,1400,-1) ;\n" "1333\tassign->nextsegment() ;\n" "1334\tassign->set_spaset(0,32,32,-1) ;\n" "1335\tassign->addblockgroup(389,405,1413,1429,-1) ;\n" "1336\tassign->nextsegment() ;\n" "1337\tassign->set_spaset(0,32,32,-1) ;\n" "1338\tassign->addblockgroup(390,406,1414,1430,-1) ;\n" "1339\tassign->nextsegment() ;\n" "1340\tassign->set_spaset(0,32,32,-1) ;\n" "1341" <- "\tassign->addblockgroup(391,407,1415,1431,-1) ;\n" "1342\tassign->nextsegment() ;\n" "1343\tassign->set_spaset(0,32,32,-1) ;\n" "1344\tassign->addblockgroup(392,408,1416,1432,-1) ;\n" "1345\tassign->nextsegment() ;\n" "1346\tassign->set_spaset(0,32,32,-1) ;\n" "1347\tassign->addblockgroup(421,437,1445,1461,-1) ;\n" "1348\tassign->nextsegment() ;\n" "1349\tassign->set_spaset(0,32,32,-1) ;\n" "1350\tassign->addblockgroup(422,438,1446,1462,-1) ;\n" "1351\tassign->nextsegment() ;\n" "1352\tassign->set_spaset(0,32,32,-1) ;\n" "1353\tassign->addblockgroup(423,439,1447,1463,-1) ;\n" "1354\tassign->nextsegment() ;\n" "1355\tassign->set_spaset(0,32,32,-1) ;\n" "1356\tassign->addblockgroup(424,440,1448,1464,-1) ;\n" "1357\tassign->nextsegment() ;\n" "1358\tassign->set_spaset(0,32,32,-1) ;\n" "1359\tassign->addblockgroup(453,469,1477,1493,-1) ;\n" "1360\tassign->nextsegment() ;\n" "1361\tassign->set_spaset(0,32,32,-1) ;\n" "1362\tassign->addblockgroup(454,470,1478,1494,-1) ;\n" "1363\tassign->nextsegment() ;\n" "1364\tassign->set_spaset(0,32,32,-1) ;\n" "1365\tassign->addblockgroup(455,471,1479,1495,-1) ;\n" "1366\tassign->nextsegment() ;\n" "1367\tassign->set_spaset(0,32,32,-1) ;\n" "1368\tassign->addblockgroup(456,472,1480,1496,-1) ;\n" "1369\tassign->nextsegment() ;\n" "1370\tassign->set_spaset(0,32,32,-1) ;\n" "1371\tassign->addblockgroup(485,501,1509,1525,-1) ;\n" "1372\tassign->nextsegment() ;\n" "1373\tassign->set_spaset(0,32,32,-1) ;\n" "1374\tassign->addblockgroup(486,502,1510,1526,-1) ;\n" "1375\tassign->nextsegment() ;\n" "1376\tassign->set_spaset(0,32,32,-1) ;\n" "1377\tassign->addblockgroup(487,503,1511,1527,-1) ;\n" "1378\tassign->nextsegment() ;\n" "1379\tassign->set_spaset(0,32,32,-1) ;\n" "1380\tassign->addblockgroup(488,504,1512,1528,-1) ;\n" "1381\tassign->nextsegment() ;\n" "1382\tassign->set_spaset(0,32,32,-1) ;\n" "1383\tassign->addblockgroup(773,789,1797,1813,-1) ;\n" "1384\tassign->nextsegment() ;\n" "1385\tassign->set_spaset(0,32,32,-1) ;\n" "1386\tassign->addblockgroup(774,790,1798,1814,-1) ;\n" "1387\tassign->nextsegment() ;\n" "1388\tassign->set_spaset(0,32,32,-1) ;\n" "1389\tassign->addblockgroup(775,791,1799,1815,-1) ;\n" "1390\tassign->nextsegment() ;\n" "1391\tassign->set_spaset(0,32,32,-1) ;\n" "1392\tassign->addblockgroup(776,792,1800,1816,-1) ;\n" "1393\tassign->nextsegment() ;\n" "1394\tassign->set_spaset(0,32,32,-1) ;\n" "1395\tassign->addblockgroup(805,821,1829,1845,-1) ;\n" "1396\tassign->nextsegment() ;\n" "1397\tassign->set_spaset(0,32,32,-1) ;\n" "1398\tassign->addblockgroup(806,822,1830,1846,-1) ;\n" "1399\tassign->nextsegment() ;\n" "1400\tassign->set_spaset(0,32,32,-1) ;\n" "1401\tassign->addblockgroup(807,823,1831,1847,-1) ;\n" "1402\tassign->nextsegment() ;\n" "1403\tassign->set_spaset(0,32,32,-1) ;\n" "1404\tassign->addblockgroup(808,824,1832,1848,-1) ;\n" "1405\tassign->nextsegment() ;\n" "1406\tassign->set_spaset(0,32,32,-1) ;\n" "1407\tassign->addblockgroup(837,853,1861,1877,-1) ;\n" "1408\tassign->nextsegment() ;\n" "1409\tassign->set_spaset(0,32,32,-1) ;\n" "1410\tassign->addblockgroup(838,854,1862,1878,-1) ;\n" "1411\tassign->nextsegment() ;\n" "1412\tassign->set_spaset(0,32,32,-1) ;\n" "1413\tassign->addblockgroup(839,855,1863,1879,-1) ;\n" "1414\tassign->nextsegment() ;\n" "1415\tassign->set_spaset(0,32,32,-1) ;\n" "1416\tassign->addblockgroup(840,856,1864,1880,-1) ;\n" "1417\tassign->nextsegment() ;\n" "1418\tassign->set_spaset(0,32,32,-1) ;\n" "1419\tassign->addblockgroup(869,885,1893,1909,-1) ;\n" "1420\tassign->nextsegment() ;\n" "1421\tassign->set_spaset(0,32,32,-1) ;\n" "1422\tassign->addblockgroup(870,886,1894,1910,-1) ;\n" "1423\tassign->nextsegment() ;\n" "1424\tassign->set_spaset(0,32,32,-1) ;\n" "1425\tassign->addblockgroup(871,887,1895,1911,-1) ;\n" "1426\tassign->nextsegment() ;\n" "1427\tassign->set_spaset(0,32,32,-1) ;\n" "1428\tassign->addblockgroup(872,888,1896,1912,-1) ;\n" "1429\tassign->nextsegment() ;\n" "1430\tassign->set_spaset(0,32,32,-1) ;\n" "1431\tassign->addblockgroup(901,917,1925,1941,-1) ;\n" "1432\tassign->nextsegment() ;\n" "1433\tassign->set_spaset(0,32,32,-1) ;\n" "1434\tassign->addblockgroup(902,918,1926,1942,-1) ;\n" "1435\tassign->nextsegment() ;\n" "1436\tassign->set_spaset(0,32,32,-1) ;\n" "1437\tassign->addblockgroup(903,919,1927,1943,-1) ;\n" "1438\tassign->nextsegment() ;\n" "1439\tassign->set_spaset(0,32,32,-1) ;\n" "1440\tassign->addblockgroup(904,920,1928,1944,-1) ;\n" "1441\tassign->nextsegment() ;\n" "1442\tassign->set_spaset(0,32,32,-1) ;\n" "1443\tassign->addblockgroup(933,949,1957,1973,-1) ;\n" "1444\tassign->nextsegment() ;\n" "1445\tas" <- "sign->set_spaset(0,32,32,-1) ;\n" "1446\tassign->addblockgroup(934,950,1958,1974,-1) ;\n" "1447\tassign->nextsegment() ;\n" "1448\tassign->set_spaset(0,32,32,-1) ;\n" "1449\tassign->addblockgroup(935,951,1959,1975,-1) ;\n" "1450\tassign->nextsegment() ;\n" "1451\tassign->set_spaset(0,32,32,-1) ;\n" "1452\tassign->addblockgroup(936,952,1960,1976,-1) ;\n" "1453\tassign->nextsegment() ;\n" "1454\tassign->set_spaset(0,32,32,-1) ;\n" "1455\tassign->addblockgroup(965,981,1989,2005,-1) ;\n" "1456\tassign->nextsegment() ;\n" "1457\tassign->set_spaset(0,32,32,-1) ;\n" "1458\tassign->addblockgroup(966,982,1990,2006,-1) ;\n" "1459\tassign->nextsegment() ;\n" "1460\tassign->set_spaset(0,32,32,-1) ;\n" "1461\tassign->addblockgroup(967,983,1991,2007,-1) ;\n" "1462\tassign->nextsegment() ;\n" "1463\tassign->set_spaset(0,32,32,-1) ;\n" "1464\tassign->addblockgroup(968,984,1992,2008,-1) ;\n" "1465\tassign->nextsegment() ;\n" "1466\tassign->set_spaset(0,32,32,-1) ;\n" "1467\tassign->addblockgroup(997,1013,2021,2037,-1) ;\n" "1468\tassign->nextsegment() ;\n" "1469\tassign->set_spaset(0,32,32,-1) ;\n" "1470\tassign->addblockgroup(998,1014,2022,2038,-1) ;\n" "1471\tassign->nextsegment() ;\n" "1472\tassign->set_spaset(0,32,32,-1) ;\n" "1473\tassign->addblockgroup(999,1015,2023,2039,-1) ;\n" "1474\tassign->nextsegment() ;\n" "1475\tassign->set_spaset(0,32,32,-1) ;\n" "1476\tassign->addblockgroup(1000,1016,2024,2040,-1) ;\n" "1477\tassign->nextsegment() ;\n" "1478\tassign->set_spaset(0,32,32,-1) ;\n" "1479\tassign->addblockgroup(265,281,1289,1305,-1) ;\n" "1480\tassign->nextsegment() ;\n" "1481\tassign->set_spaset(0,32,32,-1) ;\n" "1482\tassign->addblockgroup(266,282,1290,1306,-1) ;\n" "1483\tassign->nextsegment() ;\n" "1484\tassign->set_spaset(0,32,32,-1) ;\n" "1485\tassign->addblockgroup(267,283,1291,1307,-1) ;\n" "1486\tassign->nextsegment() ;\n" "1487\tassign->set_spaset(0,32,32,-1) ;\n" "1488\tassign->addblockgroup(268,284,1292,1308,-1) ;\n" "1489\tassign->nextsegment() ;\n" "1490\tassign->set_spaset(0,32,32,-1) ;\n" "1491\tassign->addblockgroup(297,313,1321,1337,-1) ;\n" "1492\tassign->nextsegment() ;\n" "1493\tassign->set_spaset(0,32,32,-1) ;\n" "1494\tassign->addblockgroup(298,314,1322,1338,-1) ;\n" "1495\tassign->nextsegment() ;\n" "1496\tassign->set_spaset(0,32,32,-1) ;\n" "1497\tassign->addblockgroup(299,315,1323,1339,-1) ;\n" "1498\tassign->nextsegment() ;\n" "1499\tassign->set_spaset(0,32,32,-1) ;\n" "1500\tassign->addblockgroup(300,316,1324,1340,-1) ;\n" "1501\tassign->nextsegment() ;\n" "1502\tassign->set_spaset(0,32,32,-1) ;\n" "1503\tassign->addblockgroup(329,345,1353,1369,-1) ;\n" "1504\tassign->nextsegment() ;\n" "1505\tassign->set_spaset(0,32,32,-1) ;\n" "1506\tassign->addblockgroup(330,346,1354,1370,-1) ;\n" "1507\tassign->nextsegment() ;\n" "1508\tassign->set_spaset(0,32,32,-1) ;\n" "1509\tassign->addblockgroup(331,347,1355,1371,-1) ;\n" "1510\tassign->nextsegment() ;\n" "1511\tassign->set_spaset(0,32,32,-1) ;\n" "1512\tassign->addblockgroup(332,348,1356,1372,-1) ;\n" "1513\tassign->nextsegment() ;\n" "1514\tassign->set_spaset(0,32,32,-1) ;\n" "1515\tassign->addblockgroup(361,377,1385,1401,-1) ;\n" "1516\tassign->nextsegment() ;\n" "1517\tassign->set_spaset(0,32,32,-1) ;\n" "1518\tassign->addblockgroup(362,378,1386,1402,-1) ;\n" "1519\tassign->nextsegment() ;\n" "1520\tassign->set_spaset(0,32,32,-1) ;\n" "1521\tassign->addblockgroup(363,379,1387,1403,-1) ;\n" "1522\tassign->nextsegment() ;\n" "1523\tassign->set_spaset(0,32,32,-1) ;\n" "1524\tassign->addblockgroup(364,380,1388,1404,-1) ;\n" "1525\tassign->nextsegment() ;\n" "1526\tassign->set_spaset(0,32,32,-1) ;\n" "1527\tassign->addblockgroup(393,409,1417,1433,-1) ;\n" "1528\tassign->nextsegment() ;\n" "1529\tassign->set_spaset(0,32,32,-1) ;\n" "1530\tassign->addblockgroup(394,410,1418,1434,-1) ;\n" "1531\tassign->nextsegment() ;\n" "1532\tassign->set_spaset(0,32,32,-1) ;\n" "1533\tassign->addblockgroup(395,411,1419,1435,-1) ;\n" "1534\tassign->nextsegment() ;\n" "1535\tassign->set_spaset(0,32,32,-1) ;\n" "1536\tassign->addblockgroup(396,412,1420,1436,-1) ;\n" "1537\tassign->nextsegment() ;\n" "1538\tassign->set_spaset(0,32,32,-1) ;\n" "1539\tassign->addblockgroup(425,441,1449,1465,-1) ;\n" "1540\tassign->nextsegment() ;\n" "1541\tassign->set_spaset(0,32,32,-1) ;\n" "1542\tassign->addblockgroup(426,442,1450,1466,-1) ;\n" "1543\tassign->nextsegment() ;\n" "1544\tassign->set_spaset(0,32,32,-1) ;\n" "1545\tassign->addblockgroup(427,443,1451,1467,-1) ;\n" "1546\tassign->nextsegment() ;\n" "1547\tassign->set_spaset(0,32,32,-1) ;\n" "1548\tassign->addblockgroup(428,444,1452,1468,-1" <- ") ;\n" "1549\tassign->nextsegment() ;\n" "1550\tassign->set_spaset(0,32,32,-1) ;\n" "1551\tassign->addblockgroup(457,473,1481,1497,-1) ;\n" "1552\tassign->nextsegment() ;\n" "1553\tassign->set_spaset(0,32,32,-1) ;\n" "1554\tassign->addblockgroup(458,474,1482,1498,-1) ;\n" "1555\tassign->nextsegment() ;\n" "1556\tassign->set_spaset(0,32,32,-1) ;\n" "1557\tassign->addblockgroup(459,475,1483,1499,-1) ;\n" "1558\tassign->nextsegment() ;\n" "1559\tassign->set_spaset(0,32,32,-1) ;\n" "1560\tassign->addblockgroup(460,476,1484,1500,-1) ;\n" "1561\tassign->nextsegment() ;\n" "1562\tassign->set_spaset(0,32,32,-1) ;\n" "1563\tassign->addblockgroup(489,505,1513,1529,-1) ;\n" "1564\tassign->nextsegment() ;\n" "1565\tassign->set_spaset(0,32,32,-1) ;\n" "1566\tassign->addblockgroup(490,506,1514,1530,-1) ;\n" "1567\tassign->nextsegment() ;\n" "1568\tassign->set_spaset(0,32,32,-1) ;\n" "1569\tassign->addblockgroup(491,507,1515,1531,-1) ;\n" "1570\tassign->nextsegment() ;\n" "1571\tassign->set_spaset(0,32,32,-1) ;\n" "1572\tassign->addblockgroup(492,508,1516,1532,-1) ;\n" "1573\tassign->nextsegment() ;\n" "1574\tassign->set_spaset(0,32,32,-1) ;\n" "1575\tassign->addblockgroup(777,793,1801,1817,-1) ;\n" "1576\tassign->nextsegment() ;\n" "1577\tassign->set_spaset(0,32,32,-1) ;\n" "1578\tassign->addblockgroup(778,794,1802,1818,-1) ;\n" "1579\tassign->nextsegment() ;\n" "1580\tassign->set_spaset(0,32,32,-1) ;\n" "1581\tassign->addblockgroup(779,795,1803,1819,-1) ;\n" "1582\tassign->nextsegment() ;\n" "1583\tassign->set_spaset(0,32,32,-1) ;\n" "1584\tassign->addblockgroup(780,796,1804,1820,-1) ;\n" "1585\tassign->nextsegment() ;\n" "1586\tassign->set_spaset(0,32,32,-1) ;\n" "1587\tassign->addblockgroup(809,825,1833,1849,-1) ;\n" "1588\tassign->nextsegment() ;\n" "1589\tassign->set_spaset(0,32,32,-1) ;\n" "1590\tassign->addblockgroup(810,826,1834,1850,-1) ;\n" "1591\tassign->nextsegment() ;\n" "1592\tassign->set_spaset(0,32,32,-1) ;\n" "1593\tassign->addblockgroup(811,827,1835,1851,-1) ;\n" "1594\tassign->nextsegment() ;\n" "1595\tassign->set_spaset(0,32,32,-1) ;\n" "1596\tassign->addblockgroup(812,828,1836,1852,-1) ;\n" "1597\tassign->nextsegment() ;\n" "1598\tassign->set_spaset(0,32,32,-1) ;\n" "1599\tassign->addblockgroup(841,857,1865,1881,-1) ;\n" "1600\tassign->nextsegment() ;\n" "1601\tassign->set_spaset(0,32,32,-1) ;\n" "1602\tassign->addblockgroup(842,858,1866,1882,-1) ;\n" "1603\tassign->nextsegment() ;\n" "1604\tassign->set_spaset(0,32,32,-1) ;\n" "1605\tassign->addblockgroup(843,859,1867,1883,-1) ;\n" "1606\tassign->nextsegment() ;\n" "1607\tassign->set_spaset(0,32,32,-1) ;\n" "1608\tassign->addblockgroup(844,860,1868,1884,-1) ;\n" "1609\tassign->nextsegment() ;\n" "1610\tassign->set_spaset(0,32,32,-1) ;\n" "1611\tassign->addblockgroup(873,889,1897,1913,-1) ;\n" "1612\tassign->nextsegment() ;\n" "1613\tassign->set_spaset(0,32,32,-1) ;\n" "1614\tassign->addblockgroup(874,890,1898,1914,-1) ;\n" "1615\tassign->nextsegment() ;\n" "1616\tassign->set_spaset(0,32,32,-1) ;\n" "1617\tassign->addblockgroup(875,891,1899,1915,-1) ;\n" "1618\tassign->nextsegment() ;\n" "1619\tassign->set_spaset(0,32,32,-1) ;\n" "1620\tassign->addblockgroup(876,892,1900,1916,-1) ;\n" "1621\tassign->nextsegment() ;\n" "1622\tassign->set_spaset(0,32,32,-1) ;\n" "1623\tassign->addblockgroup(905,921,1929,1945,-1) ;\n" "1624\tassign->nextsegment() ;\n" "1625\tassign->set_spaset(0,32,32,-1) ;\n" "1626\tassign->addblockgroup(906,922,1930,1946,-1) ;\n" "1627\tassign->nextsegment() ;\n" "1628\tassign->set_spaset(0,32,32,-1) ;\n" "1629\tassign->addblockgroup(907,923,1931,1947,-1) ;\n" "1630\tassign->nextsegment() ;\n" "1631\tassign->set_spaset(0,32,32,-1) ;\n" "1632\tassign->addblockgroup(908,924,1932,1948,-1) ;\n" "1633\tassign->nextsegment() ;\n" "1634\tassign->set_spaset(0,32,32,-1) ;\n" "1635\tassign->addblockgroup(937,953,1961,1977,-1) ;\n" "1636\tassign->nextsegment() ;\n" "1637\tassign->set_spaset(0,32,32,-1) ;\n" "1638\tassign->addblockgroup(938,954,1962,1978,-1) ;\n" "1639\tassign->nextsegment() ;\n" "1640\tassign->set_spaset(0,32,32,-1) ;\n" "1641\tassign->addblockgroup(939,955,1963,1979,-1) ;\n" "1642\tassign->nextsegment() ;\n" "1643\tassign->set_spaset(0,32,32,-1) ;\n" "1644\tassign->addblockgroup(940,956,1964,1980,-1) ;\n" "1645\tassign->nextsegment() ;\n" "1646\tassign->set_spaset(0,32,32,-1) ;\n" "1647\tassign->addblockgroup(969,985,1993,2009,-1) ;\n" "1648\tassign->nextsegment() ;\n" "1649\tassign->set_spaset(0,32,32,-1) ;\n" "1650\tassign->addblockgroup(970,986,1994,2010,-1) ;\n" "1651\tassign->nextsegment() ;\n" "1652\tassign->set_spaset(0,32,32,-1) ;\n" "1653\tassign-" <- ">addblockgroup(971,987,1995,2011,-1) ;\n" "1654\tassign->nextsegment() ;\n" "1655\tassign->set_spaset(0,32,32,-1) ;\n" "1656\tassign->addblockgroup(972,988,1996,2012,-1) ;\n" "1657\tassign->nextsegment() ;\n" "1658\tassign->set_spaset(0,32,32,-1) ;\n" "1659\tassign->addblockgroup(1001,1017,2025,2041,-1) ;\n" "1660\tassign->nextsegment() ;\n" "1661\tassign->set_spaset(0,32,32,-1) ;\n" "1662\tassign->addblockgroup(1002,1018,2026,2042,-1) ;\n" "1663\tassign->nextsegment() ;\n" "1664\tassign->set_spaset(0,32,32,-1) ;\n" "1665\tassign->addblockgroup(1003,1019,2027,2043,-1) ;\n" "1666\tassign->nextsegment() ;\n" "1667\tassign->set_spaset(0,32,32,-1) ;\n" "1668\tassign->addblockgroup(1004,1020,2028,2044,-1) ;\n" "1669\tassign->nextsegment() ;\n" "1670\tassign->set_spaset(0,32,32,-1) ;\n" "1671\tassign->addblockgroup(269,285,1293,1309,-1) ;\n" "1672\tassign->nextsegment() ;\n" "1673\tassign->set_spaset(0,32,32,-1) ;\n" "1674\tassign->addblockgroup(270,286,1294,1310,-1) ;\n" "1675\tassign->nextsegment() ;\n" "1676\tassign->set_spaset(0,32,32,-1) ;\n" "1677\tassign->addblockgroup(271,287,1295,1311,-1) ;\n" "1678\tassign->nextsegment() ;\n" "1679\tassign->set_spaset(0,32,32,-1) ;\n" "1680\tassign->addblockgroup(272,288,1296,1312,-1) ;\n" "1681\tassign->nextsegment() ;\n" "1682\tassign->set_spaset(0,32,32,-1) ;\n" "1683\tassign->addblockgroup(301,317,1325,1341,-1) ;\n" "1684\tassign->nextsegment() ;\n" "1685\tassign->set_spaset(0,32,32,-1) ;\n" "1686\tassign->addblockgroup(302,318,1326,1342,-1) ;\n" "1687\tassign->nextsegment() ;\n" "1688\tassign->set_spaset(0,32,32,-1) ;\n" "1689\tassign->addblockgroup(303,319,1327,1343,-1) ;\n" "1690\tassign->nextsegment() ;\n" "1691\tassign->set_spaset(0,32,32,-1) ;\n" "1692\tassign->addblockgroup(304,320,1328,1344,-1) ;\n" "1693\tassign->nextsegment() ;\n" "1694\tassign->set_spaset(0,32,32,-1) ;\n" "1695\tassign->addblockgroup(333,349,1357,1373,-1) ;\n" "1696\tassign->nextsegment() ;\n" "1697\tassign->set_spaset(0,32,32,-1) ;\n" "1698\tassign->addblockgroup(334,350,1358,1374,-1) ;\n" "1699\tassign->nextsegment() ;\n" "1700\tassign->set_spaset(0,32,32,-1) ;\n" "1701\tassign->addblockgroup(335,351,1359,1375,-1) ;\n" "1702\tassign->nextsegment() ;\n" "1703\tassign->set_spaset(0,32,32,-1) ;\n" "1704\tassign->addblockgroup(336,352,1360,1376,-1) ;\n" "1705\tassign->nextsegment() ;\n" "1706\tassign->set_spaset(0,32,32,-1) ;\n" "1707\tassign->addblockgroup(365,381,1389,1405,-1) ;\n" "1708\tassign->nextsegment() ;\n" "1709\tassign->set_spaset(0,32,32,-1) ;\n" "1710\tassign->addblockgroup(366,382,1390,1406,-1) ;\n" "1711\tassign->nextsegment() ;\n" "1712\tassign->set_spaset(0,32,32,-1) ;\n" "1713\tassign->addblockgroup(367,383,1391,1407,-1) ;\n" "1714\tassign->nextsegment() ;\n" "1715\tassign->set_spaset(0,32,32,-1) ;\n" "1716\tassign->addblockgroup(368,384,1392,1408,-1) ;\n" "1717\tassign->nextsegment() ;\n" "1718\tassign->set_spaset(0,32,32,-1) ;\n" "1719\tassign->addblockgroup(397,413,1421,1437,-1) ;\n" "1720\tassign->nextsegment() ;\n" "1721\tassign->set_spaset(0,32,32,-1) ;\n" "1722\tassign->addblockgroup(398,414,1422,1438,-1) ;\n" "1723\tassign->nextsegment() ;\n" "1724\tassign->set_spaset(0,32,32,-1) ;\n" "1725\tassign->addblockgroup(399,415,1423,1439,-1) ;\n" "1726\tassign->nextsegment() ;\n" "1727\tassign->set_spaset(0,32,32,-1) ;\n" "1728\tassign->addblockgroup(400,416,1424,1440,-1) ;\n" "1729\tassign->nextsegment() ;\n" "1730\tassign->set_spaset(0,32,32,-1) ;\n" "1731\tassign->addblockgroup(429,445,1453,1469,-1) ;\n" "1732\tassign->nextsegment() ;\n" "1733\tassign->set_spaset(0,32,32,-1) ;\n" "1734\tassign->addblockgroup(430,446,1454,1470,-1) ;\n" "1735\tassign->nextsegment() ;\n" "1736\tassign->set_spaset(0,32,32,-1) ;\n" "1737\tassign->addblockgroup(431,447,1455,1471,-1) ;\n" "1738\tassign->nextsegment() ;\n" "1739\tassign->set_spaset(0,32,32,-1) ;\n" "1740\tassign->addblockgroup(432,448,1456,1472,-1) ;\n" "1741\tassign->nextsegment() ;\n" "1742\tassign->set_spaset(0,32,32,-1) ;\n" "1743\tassign->addblockgroup(461,477,1485,1501,-1) ;\n" "1744\tassign->nextsegment() ;\n" "1745\tassign->set_spaset(0,32,32,-1) ;\n" "1746\tassign->addblockgroup(462,478,1486,1502,-1) ;\n" "1747\tassign->nextsegment() ;\n" "1748\tassign->set_spaset(0,32,32,-1) ;\n" "1749\tassign->addblockgroup(463,479,1487,1503,-1) ;\n" "1750\tassign->nextsegment() ;\n" "1751\tassign->set_spaset(0,32,32,-1) ;\n" "1752\tassign->addblockgroup(464,480,1488,1504,-1) ;\n" "1753\tassign->nextsegment() ;\n" "1754\tassign->set_spaset(0,32,32,-1) ;\n" "1755\tassign->addblockgroup(493,509,1517,1533,-1) ;\n" "1756\tassign->nextsegment() ;\n" "1757\tas" <- "sign->set_spaset(0,32,32,-1) ;\n" "1758\tassign->addblockgroup(494,510,1518,1534,-1) ;\n" "1759\tassign->nextsegment() ;\n" "1760\tassign->set_spaset(0,32,32,-1) ;\n" "1761\tassign->addblockgroup(495,511,1519,1535,-1) ;\n" "1762\tassign->nextsegment() ;\n" "1763\tassign->set_spaset(0,32,32,-1) ;\n" "1764\tassign->addblockgroup(496,512,1520,1536,-1) ;\n" "1765\tassign->nextsegment() ;\n" "1766\tassign->set_spaset(0,32,32,-1) ;\n" "1767\tassign->addblockgroup(781,797,1805,1821,-1) ;\n" "1768\tassign->nextsegment() ;\n" "1769\tassign->set_spaset(0,32,32,-1) ;\n" "1770\tassign->addblockgroup(782,798,1806,1822,-1) ;\n" "1771\tassign->nextsegment() ;\n" "1772\tassign->set_spaset(0,32,32,-1) ;\n" "1773\tassign->addblockgroup(783,799,1807,1823,-1) ;\n" "1774\tassign->nextsegment() ;\n" "1775\tassign->set_spaset(0,32,32,-1) ;\n" "1776\tassign->addblockgroup(784,800,1808,1824,-1) ;\n" "1777\tassign->nextsegment() ;\n" "1778\tassign->set_spaset(0,32,32,-1) ;\n" "1779\tassign->addblockgroup(813,829,1837,1853,-1) ;\n" "1780\tassign->nextsegment() ;\n" "1781\tassign->set_spaset(0,32,32,-1) ;\n" "1782\tassign->addblockgroup(814,830,1838,1854,-1) ;\n" "1783\tassign->nextsegment() ;\n" "1784\tassign->set_spaset(0,32,32,-1) ;\n" "1785\tassign->addblockgroup(815,831,1839,1855,-1) ;\n" "1786\tassign->nextsegment() ;\n" "1787\tassign->set_spaset(0,32,32,-1) ;\n" "1788\tassign->addblockgroup(816,832,1840,1856,-1) ;\n" "1789\tassign->nextsegment() ;\n" "1790\tassign->set_spaset(0,32,32,-1) ;\n" "1791\tassign->addblockgroup(845,861,1869,1885,-1) ;\n" "1792\tassign->nextsegment() ;\n" "1793\tassign->set_spaset(0,32,32,-1) ;\n" "1794\tassign->addblockgroup(846,862,1870,1886,-1) ;\n" "1795\tassign->nextsegment() ;\n" "1796\tassign->set_spaset(0,32,32,-1) ;\n" "1797\tassign->addblockgroup(847,863,1871,1887,-1) ;\n" "1798\tassign->nextsegment() ;\n" "1799\tassign->set_spaset(0,32,32,-1) ;\n" "1800\tassign->addblockgroup(848,864,1872,1888,-1) ;\n" "1801\tassign->nextsegment() ;\n" "1802\tassign->set_spaset(0,32,32,-1) ;\n" "1803\tassign->addblockgroup(877,893,1901,1917,-1) ;\n" "1804\tassign->nextsegment() ;\n" "1805\tassign->set_spaset(0,32,32,-1) ;\n" "1806\tassign->addblockgroup(878,894,1902,1918,-1) ;\n" "1807\tassign->nextsegment() ;\n" "1808\tassign->set_spaset(0,32,32,-1) ;\n" "1809\tassign->addblockgroup(879,895,1903,1919,-1) ;\n" "1810\tassign->nextsegment() ;\n" "1811\tassign->set_spaset(0,32,32,-1) ;\n" "1812\tassign->addblockgroup(880,896,1904,1920,-1) ;\n" "1813\tassign->nextsegment() ;\n" "1814\tassign->set_spaset(0,32,32,-1) ;\n" "1815\tassign->addblockgroup(909,925,1933,1949,-1) ;\n" "1816\tassign->nextsegment() ;\n" "1817\tassign->set_spaset(0,32,32,-1) ;\n" "1818\tassign->addblockgroup(910,926,1934,1950,-1) ;\n" "1819\tassign->nextsegment() ;\n" "1820\tassign->set_spaset(0,32,32,-1) ;\n" "1821\tassign->addblockgroup(911,927,1935,1951,-1) ;\n" "1822\tassign->nextsegment() ;\n" "1823\tassign->set_spaset(0,32,32,-1) ;\n" "1824\tassign->addblockgroup(912,928,1936,1952,-1) ;\n" "1825\tassign->nextsegment() ;\n" "1826\tassign->set_spaset(0,32,32,-1) ;\n" "1827\tassign->addblockgroup(941,957,1965,1981,-1) ;\n" "1828\tassign->nextsegment() ;\n" "1829\tassign->set_spaset(0,32,32,-1) ;\n" "1830\tassign->addblockgroup(942,958,1966,1982,-1) ;\n" "1831\tassign->nextsegment() ;\n" "1832\tassign->set_spaset(0,32,32,-1) ;\n" "1833\tassign->addblockgroup(943,959,1967,1983,-1) ;\n" "1834\tassign->nextsegment() ;\n" "1835\tassign->set_spaset(0,32,32,-1) ;\n" "1836\tassign->addblockgroup(944,960,1968,1984,-1) ;\n" "1837\tassign->nextsegment() ;\n" "1838\tassign->set_spaset(0,32,32,-1) ;\n" "1839\tassign->addblockgroup(973,989,1997,2013,-1) ;\n" "1840\tassign->nextsegment() ;\n" "1841\tassign->set_spaset(0,32,32,-1) ;\n" "1842\tassign->addblockgroup(974,990,1998,2014,-1) ;\n" "1843\tassign->nextsegment() ;\n" "1844\tassign->set_spaset(0,32,32,-1) ;\n" "1845\tassign->addblockgroup(975,991,1999,2015,-1) ;\n" "1846\tassign->nextsegment() ;\n" "1847\tassign->set_spaset(0,32,32,-1) ;\n" "1848\tassign->addblockgroup(976,992,2000,2016,-1) ;\n" "1849\tassign->nextsegment() ;\n" "1850\tassign->set_spaset(0,32,32,-1) ;\n" "1851\tassign->addblockgroup(1005,1021,2029,2045,-1) ;\n" "1852\tassign->nextsegment() ;\n" "1853\tassign->set_spaset(0,32,32,-1) ;\n" "1854\tassign->addblockgroup(1006,1022,2030,2046,-1) ;\n" "1855\tassign->nextsegment() ;\n" "1856\tassign->set_spaset(0,32,32,-1) ;\n" "1857\tassign->addblockgroup(1007,1023,2031,2047,-1) ;\n" "1858\tassign->nextsegment() ;\n" "1859\tassign->set_spaset(0,32,32,-1) ;\n" "1860\tassign->addblockgroup(1008,1024,2032,2048" <- ",-1) ;\n" "1861\tassign->nextsegment() ;\n" "1862\tNOT_ANALYSED = 0 ;\n" "1863\tPERFECT = 1 ;\n" "1864\tREPAIRABLE = 2 ;\n" "1865\tPARTIAL = 4 ;\n" "1866\tIRREPARABLE = 3 ;\n" "1867\tARAMBinTriops = 1 ;\n" "1868\tARAMBinFileSize = 512 ;\n" "1869\tA_NOT_ANALYSED = 3 ;\n" "1870\tA_PERFECT = 1 ;\n" "1871\tA_REPAIRABLE = 2 ;\n" "1872\tA_IRREPARABLE = 3 ;\n" "1873\tSharedSAFailB = 7 ;\n" "1874\tTimeLimitFlagB = 9 ;\n" "1875\tSparseFailLimitB = 11 ;\n" "1876\tIllegalFailB = 9 ;\n" "1877\ttimeoutB = 19 ;\n" "1878\tAnalysisErrorB = 20 ;\n" "1879\tIterationFailB = 21 ;\n" "1880\tNoDut = 55 ;\n" "1881\tARAMWideSetsigns = 1 ;\n" "1882\tset_addressformat(\"MRASolutionFormat\",\"F,0,0,0, 0,0,0,0, 0,0,D1,D0, 0,0,0,X13, X14,X12,X11,X10, 0,0,0,X15, X9,X8,X7,X6, X5,X4,X3,X2\",\"F,0,0,0, 0,0,0,0, 0,0,D1,D0, 0,0,0,X13, X14,X12,X11,X10, 0,0,Y9,Y8, Y7,Y6,Y5,Y4, Y3,Y2,Y1,Y0\") ;\n" "1883\tset_addressformat(\"MRAFailAddressFormat\",\"0,0,0,0, 0,0,0,0, 0,0,D1,D0, 0,0,0,X13, X14,X12,X11,X10, 0,0,0,X15, X9,X8,X7,X6, X5,X4,X3,X2\",\"0,0,0,0, 0,0,0,0, 0,0,D1,D0, 0,0,0,0, 0,0,0,0, 0,0,Y9,Y8, Y7,Y6,Y5,Y4, Y3,Y2,Y1,Y0\") ;\n" "1884\tset_addressformat(\"ARAMSolutionFormat\",\"0,0,0,L4, L3,L2,L1,L0, X15,X14,X13,/G2, 0,0,0,0, X12,X11,X10,X9, 0,0,0,X8, X7,X6,X5,X4, X3,X2,0,0\",\"1,0,0,0, /G2,L2,L1,L0, Y9,X14,X13,0, 0,0,0,G3, X12,X11,0,0, 0,0,0,Y8, Y7,Y6,Y5,Y4, Y3,Y2,Y1,Y0\") ;\n" "1885\tARAMTimeLimit = 5000 ;\n" "1886\t\n" "1887\t}\n" "1888\t\n" "1889\tvoid (*repair_condition_array[3])() = {\n" "1890\t__erc_func0__, 0, 0\n" "1891\t} ;\n" "1892\t\n" "1893\t}\n" <- "(gdb) " # Reading file "m4.C" from GDB...done. # Source "m4.C" (from GDB) 1893 lines, 76579 characters -> "info source\n" <- "Current source file is m4.C\n" "Compilation directory is /home/clinton/ARAM/splitcol/merlin\n" "Located in /home/clinton/ARAM/splitcol/merlin/m4.C\n" "Contains 1893 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " -> "output ARAMTimeLimit\n" <- "No symbol \"ARAMTimeLimit\" in current context.\n" <- "(gdb) " -> "tbreak m4.C:1885\n" # Cont: waiting until GDB gets ready <- "Breakpoint 2 at 0x80570a6: file m4.C, line 1885.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" "2 breakpoint del y 0x080570a6 in config::__erc_func0__() at m4.C:1885\n" <- "(gdb) " -> "cont\n" <- "config::__erc_func0__() () at m4.C:1885\n" "\032\032/home/clinton/ARAM/splitcol/merlin/m4.C:1885:72679:beg:0x80570a6\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # Reading file "/home/clinton/ARAM/splitcol/merlin/m4.C"... # Reading file "/home/clinton/ARAM/splitcol/merlin/m4.C"...done. # File "/home/clinton/ARAM/splitcol/merlin/m4.C" 1893 lines, 76579 characters # Config::__erc_func0__() () at m4.C:1885 -> "info source\n" <- "Current source file is m4.C\n" "Compilation directory is /home/clinton/ARAM/splitcol/merlin\n" "Located in /home/clinton/ARAM/splitcol/merlin/m4.C\n" "Contains 1893 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " -> "print this\n" <- "No symbol \"this\" in current context.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/ARAM/splitcol/merlin/m4.C:1887:72703:beg:0x80570b0\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:89\n" "\032\032/home/clinton/cvs/aram/config.C:89:2698:beg:0x805935b\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "next\n" <- "\032\032/home/clinton/cvs/aram/config.C:94:2796:beg:0x8059384\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/config.C:99:2904:beg:0x80593b6\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/config.C:104:3008:beg:0x80593e8\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/config.C:109:3117:beg:0x8059411\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/config.C:114:3229:beg:0x8059445\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/config.C:119:3344:beg:0x8059479\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/config.C:126:3574:beg:0x80594b6\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" <- "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" <- "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/config.C:133:3960:beg:0x80594d4\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "tbreak config.C:206\n" # Cont: waiting until GDB gets ready <- "Breakpoint 3 at 0x80598db: file config.C, line 206.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" "3 breakpoint del y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "(gdb) " -> "cont\n" <- "config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:206\n" "\032\032/home/clinton/cvs/aram/config.C:206:6242:beg:0x80598db\n" "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" "(gdb) " # config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:206 -> "print cseg\n" <- "No symbol \"cseg\" in current context.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "config::segmentation::convert_links() (this=0x845f300) at config.C:886\n" "\032\032/home/clinton/cvs/aram/config.C:886:26929:beg:0x805b867\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output nsegments\n" <- "512" <- "(gdb) " -> "output iseg\n" <- "64" <- "(gdb) " -> "output segment\n" <- "(segment_t *) 0x4062300c" <- "(gdb) " -> "print *this\n" <- "$1 = {nsegments = 512, blockpt = {{segment = 0x4062300c, blockgroup = 0}, {segment = 0x40633074, blockgroup = 0}, {segment = 0x406430dc, blockgroup = 0}, {segment = 0x40653144, blockgroup = 0}, {segment = 0x40a24a0c, blockgroup = 0}, {segment = 0x40a34a74, blockgroup = 0}, {segment = 0x40a44adc, blockgroup = 0}, {segment = 0x40a54b44, blockgroup = 0}, {segment = 0x40e2640c, blockgroup = 0}, {segment = 0x40e36474, blockgroup = 0}, {segment = 0x40e464dc, blockgroup = 0}, {segment = 0x40e56544, blockgroup = 0}, {segment = 0x41227e0c, blockgroup = 0}, {segment = 0x41237e74, blockgroup = 0}, {segment = 0x41247edc, blockgroup = 0}, {segment = 0x41257f44, blockgroup = 0}, {segment = 0x4062300c, blockgroup = 0}, {segment = 0x40633074, blockgroup = 0}, {segment = 0x406430dc, blockgroup = 0}, {segment = 0x40653144, blockgroup = 0}, {segment = 0x40a24a0c, blockgroup = 0}, {segment = 0x40a34a74, blockgroup = 0}, {segment = 0x40a44adc, blockgroup = 0}, {segment = 0x40a54b44, blockgroup = 0}, {segment = 0x40e2640c, blockgroup = 0}, {segment = 0x40e36474, blockgroup = 0}, {segment = 0x40e464dc, blockgroup = 0}, {segment = 0x40e56544, blockgroup = 0}, {segment = 0x41227e0c, blockgroup = 0}, {segment = 0x41237e74, blockgroup = 0}, {segment = 0x41247edc, blockgroup = 0}, {segment = 0x41257f44, blockgroup = 0}, {segment = 0x406631ac, blockgroup = 0}, {segment = 0x40673214, blockgroup = 0}, {segment = 0x4068327c, blockgroup = 0}, {segment = 0x406932e4, blockgroup = 0}, {segment = 0x40a64bac, blockgroup = 0}, {segment = 0x40a74c14, blockgroup = 0}, {segment = 0x40a84c7c, blockgroup = 0}, {segment = 0x40a94ce4, blockgroup = 0}, {segment = 0x40e665ac, blockgroup = 0}, {segment = 0x40e76614, blockgroup = 0}, {segment = 0x40e8667c, blockgroup = 0}, {segment = 0x40e966e4, blockgroup = 0}, {segment = 0x41267fac, blockgroup = 0}, {segment = 0x41278014, blockgroup = 0}, {segment = 0x4128807c, blockgroup = 0}, {segment = 0x412980e4, blockgroup = 0}, {segment = 0x406631ac, blockgroup = 0}, {segment = 0x40673214, blockgroup = 0}, {segment = 0x4068327c, blockgroup = 0}, {segment = 0x406932e4, blockgroup = 0}, {segment = 0x40a64bac, blockgroup = 0}, {segment = 0x40a74c14, blockgroup = 0}, {segment = 0x40a84c7c, blockgroup = 0}, {segment = 0x40a94ce4, blockgroup = 0}, {segment = 0x40e665ac, blockgroup = 0}, {segment = 0x40e76614, blockgroup = 0}, {segment = 0x40e8667c, blockgroup = 0}, {segment = 0x40e966e4, blockgroup = 0}, {segment = 0x41267fac, blockgroup = 0}, {segment = 0x41278014, blockgroup = 0}, {segment = 0x4128807c, blockgroup = 0}, {segment = 0x412980e4, blockgroup = 0}, {segment = 0x406a334c, blockgroup = 0}, {segment = 0x406b33b4, blockgroup = 0}, {segment = 0x406c341c, blockgroup = 0}, {segment = 0x406d3484, blockgroup = 0}, {segment = 0x40aa4d4c, blockgroup = 0}, {segment = 0x40ab4db4, blockgroup = 0}, {segment = 0x40ac4e1c, blockgroup = 0}, {segment = 0x40ad4e84, blockgroup = 0}, {segment = 0x40ea674c, blockgroup = 0}, {segment = 0x40eb67b4, blockgroup = 0}, {segment = 0x40ec681c, blockgroup = 0}, {segment = 0x40ed6884, blockgroup = 0}, {segment = 0x412a814c, blockgroup = 0}, {segment = 0x412b81b4, blockgroup = 0}, {segment = 0x412c821c, blockgroup = 0}, {segment = 0x412d8284, blockgroup = 0}, {segment = 0x406a334c, blockgroup = 0}, {segment = 0x406b33b4, blockgroup = 0}, {segment = 0x406c341c, blockgroup = 0}, {segment = 0x406d3484, blockgroup = 0}, {segment = 0x40aa4d4c, blockgroup = 0}, {segment = 0x40ab4db4, blockgroup = 0}, {segment = 0x40ac4e1c, blockgroup = 0}, {segment = 0x40ad4e84, blockgroup = 0}, {segment = 0x40ea674c, blockgroup = 0}, {segment = 0x40eb67b4, blockgroup = 0}, {segment = 0x40ec681c, blockgroup = 0}, {segment = 0x40ed6884, blockgroup = 0}, {segment = 0x412a814c, blockgroup = 0}, {segment = 0x412b81b4, blockgroup = 0}, {segment = 0x412c821c, blockgroup = 0}, {segment = 0x412d8284, blockgroup = 0}, {segment = 0x406e34ec, blockgroup = 0}, {segment = 0x406f3554, blockgroup = 0}, {segment = 0x407035bc, blockgroup = 0}, {segment = 0x40713624, blockgroup = 0}, {segment = 0x40ae4eec, blockgroup = 0}, {segment = 0x40af4f54, blockgroup = 0}, {segment = 0x40b04fbc, blockgroup = 0}, {segment = 0x40b15024, blockgroup = 0}, {segment = 0x40ee68ec, blockgroup = 0}, {segment = 0x40ef6954, blockgroup = 0}, {segment = 0x40f069bc, blockgroup = 0}, {segment = 0x40f16a24, blockgroup = 0}, {segment = 0x412e82ec, blockgroup = 0}, {segment = 0x412f8354, blockgroup = 0}, {segment = 0x413083bc, blockgroup = 0}, {segment = 0x41318424, blockgroup = 0}, {segment = 0x406e34ec, blockgroup = 0}, {segment = 0x406f3554, blockgroup = 0}, {segment = 0x407035bc, blockgroup = 0}, {segment = 0x40713624, blockgroup = 0}, {segment = 0x40ae4eec, blockgroup = 0}, {segment = 0x40af4f54, blockgroup = 0}, {segment = 0x40b04fbc, blockgroup = 0}, {segment = 0x40b15024, blockgroup = 0}, {segment = 0x40ee68ec, blockgroup = 0}, {segment = 0x40ef6954, blockgroup = 0}, {segment = 0x40f069bc, blockgroup = 0}, {segment = 0x40f16a24, blockgroup = 0}, {segment = 0x412e82ec, blockgroup = 0}, {segment = 0x412f8354, blockgroup = 0}, {segment = 0x413083bc, blockgroup = 0}, {segment = 0x41318424, blockgroup = 0}, {segment = 0x4072368c, blockgroup = 0}, {segment = 0x407336f4, blockgroup = 0}, {segment = 0x4074375c, blockgroup = 0}, {segment = 0x407537c4, blockgroup = 0}, {segment = 0x40b2508c, blockgroup = 0}, {segment = 0x40b350f4, blockgroup = 0}, {segment = 0x40b4515c, blockgroup = 0}, {segment = 0x40b551c4, blockgroup = 0}, {segment = 0x40f26a8c, blockgroup = 0}, {segment = 0x40f36af4, blockgroup = 0}, {segment = 0x40f46b5c, blockgroup = 0}, {segment = 0x40f56bc4, blockgroup = 0}, {segment = 0x4132848c, blockgroup = 0}, {segment = 0x413384f4, blockgroup = 0}, {segment = 0x4134855c, blockgroup = 0}, {segment = 0x413585c4, blockgroup = 0}, {segment = 0x4072368c, blockgroup = 0}, {segment = 0x407336f4, blockgroup = 0}, {segment = 0x4074375c, blockgroup = 0}, {segment = 0x407537c4, blockgroup = 0}, {segment = 0x40b2508c, blockgroup = 0}, {segment = 0x40b350f4, blockgroup = 0}, {segment = 0x40b4515c, blockgroup = 0}, {segment = 0x40b551c4, blockgroup = 0}, {segment = 0x40f26a8c, blockgroup = 0}, {segment = 0x40f36af4, blockgroup = 0}, {segment = 0x40f46b5c, blockgroup = 0}, {segment = 0x40f56bc4, blockgroup = 0}, {segment = 0x4132848c, blockgroup = 0}, {segment = 0x413384f4, blockgroup = 0}, {segment = 0x4134855c, blockgroup = 0}, {segment = 0x413585c4, blockgroup = 0}, {segment = 0x4076382c, blockgroup = 0}, {segment = 0x40773894, blockgroup = 0}, {segment = 0x407838fc, blockgroup = 0}, {segment = 0x40793964, blockgroup = 0}, {segment = 0x40b6522c, blockgroup = 0}, {segment = 0x40b75294, blockgroup = 0}, {segment = 0x40b852fc, blockgroup = 0}, {segment = 0x40b95364, blockgroup = 0}, {segment = 0x40f66c2c, blockgroup = 0}, {segment = 0x40f76c94, blockgroup = 0}, {segment = 0x40f86cfc, blockgroup = 0}, {segment = 0x40f96d64, blockgroup = 0}, {segment = 0x4136862c, blockgroup = 0}, {segment = 0x41378694, blockgroup = 0}, {segment = 0x413886fc, blockgroup = 0}, {segment = 0x41398764, blockgroup = 0}, {segment = 0x4076382c, blockgroup = 0}, {segment = 0x40773894, blockgroup = 0}, {segment = 0x407838fc, blockgroup = 0}, {segment = 0x40793964, blockgroup = 0}, {segment = 0x40b6522c, blockgroup = 0}, {segment = 0x40b75294, blockgroup = 0}, {segment = 0x40b852fc, blockgroup = 0}, {segment = 0x40b95364, blockgroup = 0}, {segment = 0x40f66c2c, blockgroup = 0}, {segment = 0x40f76c94, blockgroup = 0}, {segment = 0x40f86cfc, blockgroup = 0}, {segment = 0x40f96d64, blockgroup = 0}, {segment = 0x4136862c, blockgroup = 0}, {segment = 0x41378694, blockgroup = 0}, {segment = 0x413886fc, blockgroup = 0}, {segment = 0x41398764, blockgroup = 0}, {segment = 0x407a39cc, blockgroup = 0}, {segment = 0x407b3a34, blockgroup = 0}, {segment = 0x407c3a9c, blockgroup = 0}, {segment = 0x407d3b04, blockgroup = 0}, {segment = 0x40ba53cc, blockgroup = 0}, {segment = 0x40bb5434, blockgroup = 0}, {segment = 0x40bc549c, blockgroup = 0}, {segment = 0x40bd5504, blockgroup = 0}...}, segment = 0x4062300c, segmentpt = 0x4263000c, first_red = 0x4162980c}\n" "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" "(gdb) " -> "output yib\n" <- "No symbol \"yib\" in current context.\n" <- "(gdb) " -> "output columnsearch.yval\n" <- "No symbol \"columnsearch\" in current context.\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/config.C:887:26992:beg:0x805b886\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output convert\n" <- "No symbol \"convert\" in current context.\n" <- "(gdb) " -> "output segpt\n" <- "(segment_t *) 0x4062300c(gdb) " -> "output segment\n" <- "(segment_t *) 0x4062300c" <- "(gdb) " -> "output xib\n" <- "No symbol \"xib\" in current context.\n" <- "(gdb) " -> "output unsigned\n" <- "Attempt to use a type name as an expression\n" <- "(gdb) " -> "print *segment\n" <- "$2 = {redundant = false, nspares = 0, nlinks = 4, SharedSASeg = 0x0, nspasets = 0, spaset = {0x0 }, nblocks = 4, nblockgroups = 1, bgrep = 0x0, blockgroup = {0, -1 , 0, -1 , 0, -1 , 0, -1 }, member = {0, 16, 1024, 1040, 0 }, link = 0x846f318, in_partition = 0x0}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print segment->link[0]\n" <- "$3 = {s = 0x0, n = 0}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print segment->address@hidden>nlinks\n" <- "$4 = {{s = 0x0, n = 0}, {s = 0x1, n = 1}, {s = 0x2, n = 2}, {s = 0x3, n = 3}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print address@hidden" <- "$5 = {{s = 0x0, n = 0}, {s = 0x1, n = 1}, {s = 0x2, n = 2}, {s = 0x3, n = 3}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print address@hidden" <- "$6 = {{s = 0x0, n = 0}, {s = 0x1, n = 1}, {s = 0x2, n = 2}, {s = 0x3, n = 3}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print address@hidden" <- "$7 = {{s = 0x0, n = 0}, {s = 0x1, n = 1}, {s = 0x2, n = 2}, {s = 0x3, n = 3}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print address@hidden" <- "$8 = {{s = 0x4, n = 4}, {s = 0x5, n = 5}, {s = 0x6, n = 6}, {s = 0x7, n = 7}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print first_red\n" <- "$9 = (segment_t *) 0x4162980c\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print first_red-segment\n" <- "$10 = 256\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "tbreak config.C:891\n" # Cont: waiting until GDB gets ready <- "Breakpoint 4 at 0x805b902: file config.C, line 891.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" "4 breakpoint del y 0x0805b902 in config::taddress(int, unsigned, unsigned) at config.C:891\n" <- "(gdb) " -> "cont\n" <- "config::taddress(int, unsigned, unsigned) (blockno=1, xib=4, yib=3221220528) at config.C:891\n" "\032\032/home/clinton/cvs/aram/config.C:891:27084:beg:0x805b902\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # config::taddress(int, unsigned, unsigned) (blockno=1, xib=4, yib=3221220528) at config.C:891 -> "print segment->address@hidden>nlinks\n" <- "No symbol \"segment\" in current context.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output i\n" <- "No symbol \"i\" in current context.\n" <- "(gdb) " -> "output segpt->link\n" <- "No symbol \"segpt\" in current context.\n" <- "(gdb) " -> "output unsigned\n" <- "Attempt to use a type name as an expression\n" <- "(gdb) " -> "output a\n" <- "1075948688" <- "(gdb) " -> "up\n" <- "#1 0x080581f3 in main (argc=5, argv=0xbffff164) at aram.C:257\n" "\032\032/home/clinton/cvs/aram/aram.C:257:6794:beg:0x80581f3\n" <- "(gdb) " -> "frame\n" <- "#1 0x080581f3 in main (argc=5, argv=0xbffff164) at aram.C:257\n" "\032\032/home/clinton/cvs/aram/aram.C:257:6794:beg:0x80581f3\n" <- "(gdb) " -> "display\n" <- "(gdb) " # File "/home/clinton/cvs/aram/aram.C" 368 lines, 11933 characters -> "down\n" <- "#0 config::taddress(int, unsigned, unsigned) (blockno=1, xib=4, yib=3221220528) at config.C:891\n" "\032\032/home/clinton/cvs/aram/config.C:891:27084:beg:0x805b902\n" <- "(gdb) " -> "frame\n" <- "#0 config::taddress(int, unsigned, unsigned) (blockno=1, xib=4, yib=3221220528) at config.C:891\n" "\032\032/home/clinton/cvs/aram/config.C:891:27084:beg:0x805b902\n" <- "(gdb) " -> "display\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "up\n" <- "#1 0x080581f3 in main (argc=5, argv=0xbffff164) at aram.C:257\n" "\032\032/home/clinton/cvs/aram/aram.C:257:6794:beg:0x80581f3\n" <- "(gdb) " -> "frame\n" <- "#1 0x080581f3 in main (argc=5, argv=0xbffff164) at aram.C:257\n" "\032\032/home/clinton/cvs/aram/aram.C:257:6794:beg:0x80581f3\n" <- "(gdb) " -> "display\n" <- "(gdb) " # File "/home/clinton/cvs/aram/aram.C" 368 lines, 11933 characters -> "down\n" <- "#0 config::taddress(int, unsigned, unsigned) (blockno=1, xib=4, yib=3221220528) at config.C:891\n" "\032\032/home/clinton/cvs/aram/config.C:891:27084:beg:0x805b902\n" <- "(gdb) " -> "frame\n" <- "#0 config::taddress(int, unsigned, unsigned) (blockno=1, xib=4, yib=3221220528) at config.C:891\n" "\032\032/home/clinton/cvs/aram/config.C:891:27084:beg:0x805b902\n" <- "(gdb) " -> "display\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "next\n" <- "config::taddress(int, unsigned, unsigned) (blockno=3, xib=118, yib=0) at config.C:892\n" "\032\032/home/clinton/cvs/aram/config.C:892:27152:beg:0x805b909\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "up\n" <- "#1 0x0806198a in config::format_solution(int, int, config::partition**, mra_dut*) (ichip=1, nparts=4, part=0xbfffecb0, dut=0x8559ec4) at format_solution.C:126\n" "\032\032/home/clinton/cvs/aram/format_solution.C:126:3987:beg:0x806198a\n" <- "(gdb) " -> "frame\n" <- "#1 0x0806198a in config::format_solution(int, int, config::partition**, mra_dut*) (ichip=1, nparts=4, part=0xbfffecb0, dut=0x8559ec4) at format_solution.C:126\n" "\032\032/home/clinton/cvs/aram/format_solution.C:126:3987:beg:0x806198a\n" <- "(gdb) " -> "display\n" <- "(gdb) " # Reading file "/home/clinton/cvs/aram/format_solution.C"... # Reading file "/home/clinton/cvs/aram/format_solution.C"...done. # File "/home/clinton/cvs/aram/format_solution.C" 345 lines, 11745 characters -> "info source\n" <- "Current source file is format_solution.C\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/format_solution.C\n" "Contains 345 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " -> "\003" <- "Quit\n" <- "(gdb) " -> "\003" <- "Quit\n" <- "(gdb) " -> "\003" <- "Quit\n" <- "(gdb) " -> "\003" <- "Quit\n" <- "(gdb) " -> "set environment TERM dumb\n" <- "(gdb) " -> "run\n" <- "\n" <- "Breakpoint 1, main (argc=5, argv=0xbffff164) at aram.C:152\n" <- "\032\032/home/clinton/cvs/aram/aram.C:152:3549:beg:0x80578d3\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" <- "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" <- "\tbreakpoint already hit 1 time\n" <- "(gdb) " # File "/home/clinton/cvs/aram/aram.C" 368 lines, 11933 characters -> "step\n" <- "config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:72\n" "\032\032/home/clinton/cvs/aram/config.C:72:2179:beg:0x8059286\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "tbreak config.C:206\n" # Cont: waiting until GDB gets ready <- "Breakpoint 5 at 0x80598db: file config.C, line 206.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" "5 breakpoint del y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" <- "(gdb) " -> "cont\n" <- "config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:206\n" "\032\032/home/clinton/cvs/aram/config.C:206:6242:beg:0x80598db\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:206 -> "output The\n" <- "No symbol \"The\" in current context.\n" <- "(gdb) " -> "step\n" <- "config::segmentation::convert_links() (this=0x845f300) at config.C:886\n" "\032\032/home/clinton/cvs/aram/config.C:886:26929:beg:0x805b867\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "up\n" <- "#1 0x080598e9 in config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:206\n" "\032\032/home/clinton/cvs/aram/config.C:206:6242:beg:0x80598e9\n" <- "(gdb) " -> "frame\n" <- "#1 0x080598e9 in config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:206\n" "\032\032/home/clinton/cvs/aram/config.C:206:6242:beg:0x80598e9\n" <- "(gdb) " -> "display\n" <- "(gdb) " -> "tbreak config.C:214\n" # Cont: waiting until GDB gets ready <- "Breakpoint 6 at 0x80598ec: file config.C, line 214.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" "6 breakpoint del y 0x080598ec in config::config(config::partition**, unsigned) at config.C:214\n" <- "(gdb) " -> "cont\n" <- "config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:214\n" "\032\032/home/clinton/cvs/aram/config.C:214:6479:beg:0x80598ec\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:214 -> "output fprintf\n" <- "{} 0x40151c50 " <- "(gdb) " -> "output config\n" <- "No symbol \"config\" in current context.\n" <- "(gdb) " -> "output too\n" <- "No symbol \"too\" in current context.\n" <- "(gdb) " -> "output rseg->convert_links\n" <- "No symbol \"rseg\" in current context.\n" <- "(gdb) " -> "output cseg->convert_links\n" <- "No symbol \"cseg\" in current context.\n" <- "(gdb) " -> "output ARAMTimeLimit\n" <- "No symbol \"ARAMTimeLimit\" in current context.\n" <- "(gdb) " -> "break config.C:206\n" <- "Breakpoint 7 at 0x80598db: file config.C, line 206.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" "\tbreakpoint already hit 1 time\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" <- "(gdb) " -> "output else\n" <- "No symbol \"else\" in current context.\n" <- "(gdb) " -> "set environment TERM dumb\n" <- "(gdb) " -> "run\n" <- "\n" <- "Breakpoint 1, main (argc=5, argv=0xbffff164) at aram.C:152\n" <- "\032\032/home/clinton/cvs/aram/aram.C:152:3549:beg:0x80578d3\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" <- "1 breakpoint keep y 0x080578d3 in main at aram.C:152\n" <- "\tbreakpoint already hit 1 time\n" <- "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" <- "(gdb) " # File "/home/clinton/cvs/aram/aram.C" 368 lines, 11933 characters -> "output while\n" <- "No symbol \"while\" in current context.\n" <- "(gdb) " -> "delete 1\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" <- "(gdb) " -> "cont\n" <- "\n" "Breakpoint 7, config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:206\n" "\032\032/home/clinton/cvs/aram/config.C:206:6242:beg:0x80598db\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "output ARAMTimeLimit\n" <- "No symbol \"ARAMTimeLimit\" in current context.\n" <- "(gdb) " -> "step\n" <- "config::segmentation::convert_links() (this=0x845f300) at config.C:886\n" <- "\032\032/home/clinton/cvs/aram/config.C:886:26929:beg:0x805b867\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" <- "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" <- "\tbreakpoint already hit 1 time\n" <- "(gdb) " # Source "config.C" (from GDB) 972 lines, 31959 characters -> "output segpt->link\n" <- "(link_t *) 0x0" <- "(gdb) " -> "output segpt\n" <- "(segment_t *) 0x40622a0c" <- "(gdb) " -> "output for\n" <- "No symbol \"for\" in current context.\n" <- "(gdb) " -> "output segment\n" <- "(segment_t *) 0x4062300c" <- "(gdb) " -> "tbreak config.C:889\n" # Cont: waiting until GDB gets ready <- "Breakpoint 8 at 0x805b8f9: file config.C, line 889.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "8 breakpoint del y 0x0805b8f9 in config::segmentation::convert_links() at config.C:889\n" <- "(gdb) " -> "cont\n" <- "config::segmentation::convert_links() (this=0x845f300) at config.C:889\n" "\032\032/home/clinton/cvs/aram/config.C:889:27080:beg:0x805b8f9\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters # config::segmentation::convert_links() (this=0x845f300) at config.C:889 -> "output compute\n" <- "No symbol \"compute\" in current context.\n" <- "(gdb) " -> "print segment->address@hidden>nlinks\n" <- "$11 = {{s = 0x4162980c, n = 1096980492}, {s = 0x41639874, n = 1097046132}, {s = 0x416498dc, n = 1097111772}, {s = 0x41659944, n = 1097177412}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print segment+256\n" <- "$12 = (segment_t *) 0x4162980c\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print segment+257\n" <- "$13 = (segment_t *) 0x41639874\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print address@hidden" <- "$14 = {{s = 0x416699ac, n = 1097243052}, {s = 0x41679a14, n = 1097308692}, {s = 0x41689a7c, n = 1097374332}, {s = 0x41699ae4, n = 1097439972}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print address@hidden" <- "$15 = {{s = 0x4162980c, n = 1096980492}, {s = 0x41639874, n = 1097046132}, {s = 0x416498dc, n = 1097111772}, {s = 0x41659944, n = 1097177412}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output these\n" <- "No symbol \"these\" in current context.\n" <- "(gdb) " -> "print address@hidden" <- "$16 = {{s = 0x4162980c, n = 1096980492}, {s = 0x41639874, n = 1097046132}, {s = 0x416498dc, n = 1097111772}, {s = 0x41659944, n = 1097177412}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:214\n" "\032\032/home/clinton/cvs/aram/config.C:214:6479:beg:0x80598ec\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:215:6560:beg:0x8059913\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:216:6629:beg:0x8059924\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:220:6730:beg:0x805994d\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "partition (this=0x8473608, mxsec=64, mysec=512) at config.h:173\n" "\032\032/home/clinton/cvs/aram/config.h:173:5815:beg:0x805c0b5\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # Reading file "/home/clinton/cvs/aram/config.h"... # Reading file "/home/clinton/cvs/aram/config.h"...done. # File "/home/clinton/cvs/aram/config.h" 550 lines, 22533 characters -> "info source\n" <- "Current source file is config.h\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/config.h\n" "Contains 550 lines.\n" "Source language is c++.\n" "Compiled with unknown debugging format.\n" <- "(gdb) " -> "output xrsec\n" <- "(short unsigned int *) 0x0" <- "(gdb) " -> "output ymsec\n" <- "(short unsigned int *) 0x0" <- "(gdb) " -> "tbreak config.h:193\n" # Cont: waiting until GDB gets ready <- "Breakpoint 9 at 0x805c208: file config.h, line 193.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "9 breakpoint del y 0x0805c208 in partition at config.h:193\n" <- "(gdb) " -> "cont\n" <- "partition (this=0x8473608, mxsec=64, mysec=512) at config.h:193\n" "\032\032/home/clinton/cvs/aram/config.h:193:6464:beg:0x805c208\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # partition (this=0x8473608, mxsec=64, mysec=512) at config.h:193 -> "output Constructor\n" <- "No symbol \"Constructor\" in current context.\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.h:194:6503:beg:0x805c243\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:221\n" "\032\032/home/clinton/cvs/aram/config.C:221:6787:beg:0x80599f9\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "output works\n" <- "No symbol \"works\" in current context.\n" <- "(gdb) " -> "output number\n" <- "No symbol \"number\" in current context.\n" <- "(gdb) " -> "output have\n" <- "No symbol \"have\" in current context.\n" <- "(gdb) " -> "output row\n" <- "No symbol \"row\" in current context.\n" <- "(gdb) " -> "output cseg->convert_links\n" <- "No symbol \"cseg\" in current context.\n" <- "(gdb) " -> "output rseg->convert_links\n" <- "No symbol \"rseg\" in current context.\n" <- "(gdb) " -> "step\n" <- "config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:335\n" "\032\032/home/clinton/cvs/aram/config.C:335:10570:beg:0x8059ebc\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:337:10608:beg:0x8059ecd\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output rblockpt\n" <- "(const block_coord *) 0x844dfec" <- "(gdb) " -> "tbreak config.C:361\n" # Cont: waiting until GDB gets ready <- "Breakpoint 10 at 0x8059fa0: file config.C, line 361.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "10 breakpoint del y 0x08059fa0 in config::add_column_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) at config.C:361\n" <- "(gdb) " -> "cont\n" <- "config::add_column_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4062300c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:361\n" "\032\032/home/clinton/cvs/aram/config.C:361:11418:beg:0x8059fa0\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # config::add_column_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4062300c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:361 -> "output block_coord\n" <- "Attempt to use a type name as an expression\n" <- "(gdb) " -> "output segment\n" <- "(segment_t *) 0x4062300c" <- "(gdb) " -> "print *segment\n" <- "$17 = {redundant = false, nspares = 0, nlinks = 4, SharedSASeg = 0x0, nspasets = 0, spaset = {0x0 }, nblocks = 4, nblockgroups = 1, bgrep = 0x0, blockgroup = {0, -1 , 0, -1 , 0, -1 , 0, -1 }, member = {0, 16, 1024, 1040, 0 }, link = 0x846f318, in_partition = 0x0}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print segment->address@hidden>nlinks\n" <- "$18 = {{s = 0x4162980c, n = 1096980492}, {s = 0x41639874, n = 1097046132}, {s = 0x416498dc, n = 1097111772}, {s = 0x41659944, n = 1097177412}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output if\n" <- "A parse error in expression, near `if\'.\n" <- "(gdb) " -> "output segment->in\n" <- "There is no member or method named in.\n" <- "(gdb) " -> "output segment->in_partition\n" <- "(partition *) 0x0" <- "(gdb) " -> "output ib\n" <- "0" <- "(gdb) " -> "output cblockpt\n" <- "(const block_coord *) 0x845f304" <- "(gdb) " -> "output find\n" <- "No symbol \"find\" in current context.\n" <- "(gdb) " -> "output segment->member\n" <- "{0, 16, 1024, 1040, 0 }" <- "(gdb) " -> "output through\n" <- "No symbol \"through\" in current context.\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:363:11456:beg:0x8059fb1\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output i\n" <- "1075948688" <- "(gdb) " -> "output segment\n" <- "(segment_t *) 0x4062300c" <- "(gdb) " -> "output column\n" <- "No symbol \"column\" in current context.\n" <- "(gdb) " -> "up\n" <- "#1 0x08059f4b in config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:345\n" "\032\032/home/clinton/cvs/aram/config.C:345:10889:beg:0x8059f4b\n" <- "(gdb) " -> "frame\n" <- "#1 0x08059f4b in config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:345\n" "\032\032/home/clinton/cvs/aram/config.C:345:10889:beg:0x8059f4b\n" <- "(gdb) " -> "display\n" <- "(gdb) " -> "up\n" <- "#2 0x08059a16 in config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:221\n" "\032\032/home/clinton/cvs/aram/config.C:221:6787:beg:0x8059a16\n" <- "(gdb) " -> "frame\n" <- "#2 0x08059a16 in config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:221\n" "\032\032/home/clinton/cvs/aram/config.C:221:6787:beg:0x8059a16\n" <- "(gdb) " -> "display\n" <- "(gdb) " -> "up\n" <- "#3 0x080578e5 in main (argc=5, argv=0xbffff164) at aram.C:152\n" "\032\032/home/clinton/cvs/aram/aram.C:152:3549:beg:0x80578e5\n" <- "(gdb) " -> "frame\n" <- "#3 0x080578e5 in main (argc=5, argv=0xbffff164) at aram.C:152\n" "\032\032/home/clinton/cvs/aram/aram.C:152:3549:beg:0x80578e5\n" <- "(gdb) " -> "display\n" <- "(gdb) " # File "/home/clinton/cvs/aram/aram.C" 368 lines, 11933 characters -> "down\n" <- "#2 0x08059a16 in config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:221\n" "\032\032/home/clinton/cvs/aram/config.C:221:6787:beg:0x8059a16\n" <- "(gdb) " -> "frame\n" <- "#2 0x08059a16 in config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:221\n" "\032\032/home/clinton/cvs/aram/config.C:221:6787:beg:0x8059a16\n" <- "(gdb) " -> "display\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "tbreak config.C:223\n" # Cont: waiting until GDB gets ready <- "Breakpoint 11 at 0x8059a19: file config.C, line 223.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "11 breakpoint del y 0x08059a19 in config::config(config::partition**, unsigned) at config.C:223\n" <- "(gdb) " -> "cont\n" -> "\003" # Cont: waiting until GDB gets ready <- "\n" "Program received signal SIGINT, Interrupt.\n" "0x08059ebf in config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x40481f7c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:335\n" "\032\032/home/clinton/cvs/aram/config.C:335:10570:beg:0x8059ebf\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "11 breakpoint del y 0x08059a19 in config::config(config::partition**, unsigned) at config.C:223\n" <- "(gdb) " # Source "config.C" (from GDB) 972 lines, 31959 characters -> "output for\n" <- "No symbol \"for\" in current context.\n" <- "(gdb) " -> "cont\n" <- "config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:223\n" "\032\032/home/clinton/cvs/aram/config.C:223:6852:beg:0x8059a19\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "output part\n" <- "(partition **) 0xbfffecb0" <- "(gdb) " -> "output if\n" <- "A parse error in expression, near `if\'.\n" <- "(gdb) " -> "output nparts\n" <- "0" <- "(gdb) " -> "output memmove\n" <- "{} 0x40177090 " <- "(gdb) " -> "output ARAMSeparateMode\n" <- "No symbol \"ARAMSeparateMode\" in current context.\n" <- "(gdb) " -> "print ppart->csegment[0]->link[0]\n" <- "$19 = {s = 0x4162980c, n = 1096980492}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output partition\n" <- "Attempt to use a type name as an expression\n" <- "(gdb) " -> "output ok\n" <- "No symbol \"ok\" in current context.\n" <- "(gdb) " -> "print ppart->csegment[0]->address@hidden>csegment[0]->nlinks\n" <- "$20 = {{s = 0x4162980c, n = 1096980492}, {s = 0x41639874, n = 1097046132}, {s = 0x416498dc, n = 1097111772}, {s = 0x41659944, n = 1097177412}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print ppart->csegment[3]->address@hidden>csegment[3]->nlinks\n" <- "$21 = {{s = 0x4186a6ac, n = 1099343532}, {s = 0x4187a714, n = 1099409172}, {s = 0x4188a77c, n = 1099474812}, {s = 0x4189a7e4, n = 1099540452}}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output ARAMPartialBinFormat\n" <- "No symbol \"ARAMPartialBinFormat\" in current context.\n" <- "(gdb) " -> "output add_row_segment\n" <- "No symbol \"add_row_segment\" in current context.\n" <- "(gdb) " -> "break config.C:221\n" <- "Breakpoint 12 at 0x80599f9: file config.C, line 221.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" <- "(gdb) " -> "set environment TERM dumb\n" <- "(gdb) " -> "run\n" <- "\n" "Breakpoint 7, config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:206\n" "\032\032/home/clinton/cvs/aram/config.C:206:6242:beg:0x80598db\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" <- "(gdb) " -> "output cseg\n" <- "No symbol \"cseg\" in current context.\n" <- "(gdb) " -> "step\n" <- "config::segmentation::convert_links() (this=0x845f300) at config.C:886\n" "\032\032/home/clinton/cvs/aram/config.C:886:26929:beg:0x805b867\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" <- "(gdb) " -> "output segpt\n" <- "(segment_t *) 0x40622a0c" <- "(gdb) " -> "tbreak config.C:889\n" # Cont: waiting until GDB gets ready <- "Breakpoint 13 at 0x805b8f9: file config.C, line 889.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "13 breakpoint del y 0x0805b8f9 in config::segmentation::convert_links() at config.C:889\n" <- "(gdb) " -> "cont\n" <- "config::segmentation::convert_links() (this=0x845f300) at config.C:889\n" "\032\032/home/clinton/cvs/aram/config.C:889:27080:beg:0x805b8f9\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" <- "(gdb) " # config::segmentation::convert_links() (this=0x845f300) at config.C:889 -> "output bit\n" <- "No symbol \"bit\" in current context.\n" <- "(gdb) " -> "print segment[0]->link[0]\n" <- "$22 = {s = 0x4162980c, n = 1096980492}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" <- "(gdb) " -> "print segment[2]->link[0]\n" <- "$23 = {s = 0x4162980c, n = 1096980492}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" <- "(gdb) " -> "print segment[3]->link[0]\n" <- "$24 = {s = 0x4162980c, n = 1096980492}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" <- "(gdb) " -> "output mask\n" <- "No symbol \"mask\" in current context.\n" <- "(gdb) " -> "cont\n" <- "\n" "Breakpoint 12, config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:221\n" "\032\032/home/clinton/cvs/aram/config.C:221:6787:beg:0x80599f9\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:335\n" "\032\032/home/clinton/cvs/aram/config.C:335:10570:beg:0x8059ebc\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "up\n" <- "#1 0x08059a16 in config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:221\n" "\032\032/home/clinton/cvs/aram/config.C:221:6787:beg:0x8059a16\n" <- "(gdb) " -> "frame\n" <- "#1 0x08059a16 in config::config(config::partition**, unsigned) (part=0xbfffecb0, timelimit=0) at config.C:221\n" "\032\032/home/clinton/cvs/aram/config.C:221:6787:beg:0x8059a16\n" <- "(gdb) " -> "display\n" <- "(gdb) " -> "output correctly\n" <- "No symbol \"correctly\" in current context.\n" <- "(gdb) " -> "output not\n" <- "No symbol \"not\" in current context.\n" <- "(gdb) " -> "output partial\n" <- "No symbol \"partial\" in current context.\n" <- "(gdb) " -> "output ARAMSeparateMode\n" <- "No symbol \"ARAMSeparateMode\" in current context.\n" <- "(gdb) " -> "output binning\n" <- "No symbol \"binning\" in current context.\n" <- "(gdb) " -> "output found\n" <- "No symbol \"found\" in current context.\n" <- "(gdb) " -> "down\n" <- "#0 config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:335\n" "\032\032/home/clinton/cvs/aram/config.C:335:10570:beg:0x8059ebc\n" <- "(gdb) " -> "frame\n" <- "#0 config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:335\n" "\032\032/home/clinton/cvs/aram/config.C:335:10570:beg:0x8059ebc\n" <- "(gdb) " -> "display\n" <- "(gdb) " -> "output add\n" <- "No symbol \"add\" in current context.\n" <- "(gdb) " -> "output add_column_segment\n" <- "No symbol \"add_column_segment\" in current context.\n" <- "(gdb) " -> "output ib\n" <- "1073819436" <- "(gdb) " -> "output column\n" <- "No symbol \"column\" in current context.\n" <- "(gdb) " -> "tbreak config.C:343\n" # Cont: waiting until GDB gets ready <- "Breakpoint 14 at 0x8059f09: file config.C, line 343.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" "14 breakpoint del y 0x08059f09 in config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) at config.C:343\n" <- "(gdb) " -> "cont\n" <- "config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:343\n" "\032\032/home/clinton/cvs/aram/config.C:343:10818:beg:0x8059f09\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:343 -> "output column\n" <- "No symbol \"column\" in current context.\n" <- "(gdb) " -> "output segment\n" <- "(segment_t *) 0x4022100c" <- "(gdb) " -> "output segments\n" <- "No symbol \"segments\" in current context.\n" <- "(gdb) " -> "output segment->nspares\n" <- "0" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:344:10860:beg:0x8059f1d\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:345:10889:beg:0x8059f2d\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output for\n" <- "No symbol \"for\" in current context.\n" <- "(gdb) " -> "output add_column_segment\n" <- "No symbol \"add_column_segment\" in current context.\n" <- "(gdb) " -> "output ib\n" <- "0" <- "(gdb) " -> "output cblockpt\n" <- "(const block_coord *) 0x845f304" <- "(gdb) " -> "output i\n" <- "0" <- "(gdb) " -> "output segment->nblocks\n" <- "32" <- "(gdb) " -> "print cblockpt[ib].segment\n" <- "$25 = (segment_t *) 0x4062300c\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print *cblockpt[ib].segment\n" <- "$26 = {redundant = false, nspares = 0, nlinks = 4, SharedSASeg = 0x0, nspasets = 0, spaset = {0x0 }, nblocks = 4, nblockgroups = 1, bgrep = 0x0, blockgroup = {0, -1 , 0, -1 , 0, -1 , 0, -1 }, member = {0, 16, 1024, 1040, 0 }, link = 0x846f318, in_partition = 0x0}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "config::add_column_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4062300c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:361\n" "\032\032/home/clinton/cvs/aram/config.C:361:11418:beg:0x8059fa0\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print segment[0]->link[0]\n" <- "$27 = {s = 0x4162980c, n = 1096980492}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print segment[1]->link[0]\n" <- "$28 = {s = 0x4162980c, n = 1096980492}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "print segment[2]->link[0]\n" <- "$29 = {s = 0x4162980c, n = 1096980492}\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output segments\n" <- "No symbol \"segments\" in current context.\n" <- "(gdb) " -> "output columnsearch\n" <- "No symbol \"columnsearch\" in current context.\n" <- "(gdb) " -> "output add_column_segment\n" <- "No symbol \"add_column_segment\" in current context.\n" <- "(gdb) " -> "step\n" <- "\032\032/home/clinton/cvs/aram/config.C:363:11456:beg:0x8059fb1\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "config::xybits::addrs() const (this=0x807d48c) at config.h:283\n" "\032\032/home/clinton/cvs/aram/config.h:283:10086:beg:0x805c31d\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.h" 550 lines, 22533 characters -> "output nx\n" <- "0" <- "(gdb) " -> "output ny\n" <- "6" <- "(gdb) " -> "step\n" <- "config::partition::add_column_section(int, int, config::segment_t*) (this=0x8473608, yvs=64, nspares=0, seg=0x4062300c) at cpartition.C:67\n" <- "\032\032/home/clinton/cvs/aram/cpartition.C:67:2395:beg:0x805fa19\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # Reading file "/home/clinton/ARAM/splitcol/griffin/cpartition.C"... # Reading file "/home/clinton/ARAM/splitcol/griffin/cpartition.C"...No such file or directory. -> "info source\n" <- "Current source file is cpartition.C\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/cpartition.C\n" "Contains 424 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " # Reading file "cpartition.C" from GDB... -> "list cpartition.C:1,1000000\n" <- "1\t/*!#!#*/\n" "2\t\n" "3\t#include \n" "4\t\n" "5\t#include \"config.h\"\n" "6\t#include \"partition.h\"\n" "7\t\n" "8\tstatic const char _rcs_id_cpartition_c_[] =\n" "9\t\"$Id: cpartition.C,v 1.9.2.2 2003/02/12 11:44:18 clinton Exp $ $Name: $\" ;\n" "10\t\n" "11\t//------------------------------------------------------------------------------\n" "12\tnamespace config {\n" "13\t//------------------------------------------------------------------------------\n" "14\t\n" "15\t //-----------------------------------------------------------------------------\n" "16\t void partition::newdut(int nf, unsigned char b) {\n" "17\t //-----------------------------------------------------------------------------\n" "18\t bin = b ;\n" "19\t timeout = false ;\n" "20\t SharedSAFail = false ;\n" "21\t base_partition::newdut(nf) ;\n" "22\t if(spart) spart->newdut(nf) ;\n" "23\t pconfig->reset() ;\n" "24\t if(fm) delete[] fm ; nfm = 0 ;\n" "25\t if(fr) delete[] fr ; nfr = 0 ;\n" "26\t if(nf>0) {\n" "27\t fm = new edge*[nf] ;\n" "28\t fr = new edge*[nf] ;\n" "29\t } else fm = fr = 0 ;\n" "30\t }\n" "31\t\n" "32\t //-----------------------------------------------------------------------------\n" "33\t bool partition::perfect() const {\n" "34\t //-----------------------------------------------------------------------------\n" "35\t int i ;\n" "36\t if(G || spart->graph()) return false ; // partition has single fails\n" "37\t\n" "38\t // check for must repairs \n" "39\t for(i=0; iget_nsm()) return false ;\n" "40\t for(i=0; iget_nsm()) return false ;\n" "41\t\n" "42\t return true ;\n" "43\t }\n" "44\t\n" "45\t //-----------------------------------------------------------------------------\n" "46\t void partition::add_row_section(int xvs, int nspares, segment_t *seg) {\n" "47\t //-----------------------------------------------------------------------------\n" "48\t xsec[xsections] = new partition::section(nvx,xvs,nspares,\n" "49\t seg->getSpareAddresses(),\n" "50\t seg->getForbiddenAddresses(),\n" "51\t seg->getSharedSASeg()) ;\n" "52\t nvx += xvs ;\n" "53\t rsegment[xsections] = seg ;\n" "54\t\n" "55\t if(seg < rseg->get_first_red()) xmsec[nxmsec++] = xsections ;\n" "56\t else xrsec[nxrsec++] = xsections ;\n" "57\t\n" "58\t xsections++ ;\n" "59\t\n" "60\t // mark partition(!) with shared sense amplifier segments\n" "61\t if(seg->getSharedSASeg()) SharedSAs = true ;\n" "62\t }\n" "63\t\n" "64\t //-----------------------------------------------------------------------------\n" "65\t void partition::add_column_section(int yvs, int nspares, segment_t *seg) {\n" "66\t //-----------------------------------------------------------------------------\n" "67\t ysec[ysections] = new partition::section(nvy,yvs,nspares,\n" "68\t seg->getSpareAddresses(),\n" "69\t seg->getForbiddenAddresses(),\n" "70\t seg->getSharedSASeg()) ;\n" "71\t nvy += yvs ;\n" "72\t csegment[ysections] = seg ;\n" "73\t\n" "74\t if(seg < cseg->get_first_red()) ymsec[nymsec++] = ysections ;\n" "75\t else yrsec[nyrsec++] = ysections ;\n" "76\t\n" "77\t ysections++ ;\n" "78\t }\n" "79\t\n" "80\t\n" "81\t //-----------------------------------------------------------------------------\n" "82\t bool partition::set_mra_must(int type, int x, int y, bool xred, bool yred) {\n" "83\t //-----------------------------------------------------------------------------\n" "84\t int sec, secc, secs, nsections, a, aspares, xspare, setstat ;\n" "85\t section **secpc, *secps ;\n" "86\t section *(spartition::*get_sec)(int) const ;\n" "87\t bool red ;\n" "88\t \n" "89\t if(type==ROW) {\n" "90\t secpc = xsec ;\n" "91\t nsections = xsections ;\n" "92\t get_sec = &spartition::get_xsec ;\n" "93\t a = x ;\n" "94\t red = xred ;\n" "95\t } else {\n" "96\t secpc = ysec ;\n" "97\t nsections = ysections ;\n" "98\t get_sec = &spartition::get_ysec ;\n" "99\t a = y ;\n" "100\t red = yred ;\n" "101\t }\n" "102\t\n" "103\t for(secc=nsections-1; secc>=0; secc--) if(secpc[secc]->first <= a) break ;\n" "104\t\n" "105\t#ifdef DEBUG\n" "106\t// note: when a pseudo configuration is used there could be more musts in the\n" "107\t// pseudo result than are available in the real chip\n" "108\t if(secc < 0 || secpc[secc]->fspares < 0 ||\n" "109\t !pconfig && secpc[secc]->fspares == 0) {\n" "110\t fprintf(stderr,\"set_must: error\\n" "\") ;\n" "111\t exit(2) ;\n" "112\t }\n" "113\t#endif\n" "114\t\n" "115\t if((setstat = secpc[secc]->add_mra_must(a,red)) != 1) {\n" "116\t if(setstat == 0) {\n" "117\t#ifdef DEBUG\n" "118\t fprintf(stderr,\"Warning: MRA Must Repair ignored because \"\n" "119\t \"it has occured before\\n" "\") ;\n" "120\t#endif\n" "121\t return true ; // has been set before\n" "122\t }\n" "123\t if(setstat == -1) {\n" "124\t#ifdef DEBUG\n" "125\t fprintf(stderr,\"Warning: Failed because of too many MRA Must Repairs.\\n" "\") ;\n" "126\t#endif\n" "127\t return false ; // too many MRA musts\n" "128\t }\n" "129\t }\n" "130\t\n" "131\t if(!pconfig) secs = secc ;\n" "132\t else if(type == ROW) secs = pconfig->xsmap[secc] ;\n" "133\t else secs = pconfig->ysmap[secc] ;\n" "134\t\n" "135\t secps = (spart->*get_sec)(secs) ;\n" "136\t\n" "137\t#ifdef DEBUG\n" "138\t if(secps->fspares == 0) puts(\"failed b/o too many mapped musts\") ;\n" "139\t#endif\n" "140\t\n" "141\t if(secps->fspares == 0) return false ;\n" "142\t\n" "143\t secps->fspares-- ;\n" "144\t\n" "145\t if(type == COLUMN && ARAMExtendMustRepairs) {\n" "146\t // set fails on all RWLs on that column in the corresponding red. section\n" "147\t\n" "148\t // 1. find the row section (secc at the moment is the column section\n" "149\t for(secc=xsections-1; secc>=0; secc--) if(xsec[secc]->first <= x) break ;\n" "150\t /////////for(secc=xsections-1; secc>=0; secc--) if(secpc[secc]->first <= x) break ;\n" "151\t //////// shouldn\'t this be xsec instead of secpc as type is column!!\n" "152\t\n" "153\t // 2. find the redundant row section belonging to it\n" "154\t for(sec=0; secxrmlink[sec]] == secc) break ;\n" "155\t\n" "156\t // 3. set all bits on this column in this red. row section fail\n" "157\t aspares = xsec[xrsec[sec]]->get_aspares() ;\n" "158\t for(int i=0; iget_spa(i) ;\n" "160\t y = mapMainRed(xspare,y,true,sec);\n" "161\t set_fault(xspare,y,true) ;\n" "162\t }\n" "163\t }\n" "164\t\n" "165\t return true ;\n" "166\t\n" "167\t }\n" "168\t\n" "169\t\n" "170\t //-----------------------------------------------------------------------------\n" "171\t int partition::set_fault(int x, int y, bool xred, bool yred) {\n" "172\t //-----------------------------------------------------------------------------\n" "173\t if(G) {\n" "174\t // Check that fault has not yet been sampled.\n" "175\t // Fault addresses can occur more than once if they are different\n" "176\t // in the cell array but equivalent according to the MRA configuration.\n" "177\t for(int i=0; iget_ne(); i++) if(edge(x,y) == *G->get_edge(i)) return 0 ;\n" "178\t }\n" "179\t if(base_partition::set_fault(x,y,xred,yred) < 0) return -1 ;\n" "180\t\n" "181\t if(!xred) {\n" "182\t fm[nfm++] = G->get_edge(G->get_ne()-1) ;\n" "183\t spart->set_fault(c2px(x),c2py(y)) ;\n" "184\t } else {\n" "185\t if(nfr >= max_ne) {\n" "186\t fprintf(stderr,\"Out of space for \\\"fr\\\". Increase FROVERSIZE.\\n" "\") ;\n" "187\t exit(2) ;\n" "188\t }\n" "189\t fr[nfr++] = G->get_edge(G->get_ne()-1) ;\n" "190\t }\n" "191\t\n" "192\t return 1 ; // fault set\n" "193\t }\n" "194\t\n" "195\t\n" "196\t //-----------------------------------------------------------------------------\n" "197\t int partition::xsecno(segment_t *seg) const {\n" "198\t //-----------------------------------------------------------------------------\n" "199\t int i ;\n" "200\t for(i=0; iset_bgrps() ;\n" "219\t for(i=0; iset_bgrps() ;\n" "220\t\n" "221\t no = INT_MAX ;\n" "222\t for(i=0; iget_bgrp(bg)) >=0; bg++)\n" "224\t no = std::min(no,bgr) ;\n" "225\t\n" "226\t for(i=0; iget_bgrp(bg)) >=0; bg++)\n" "228\t no = std::min(no,bgr) ;\n" "229\t\n" "230\t }\n" "231\t\n" "232\t //-----------------------------------------------------------------------------\n" "233\t partition &partition::operator=(const spartition &p) {\n" "234\t //-----------------------------------------------------------------------------\n" "235\t int i ;\n" "236\t\n" "237\t if(G) delete G ;\n" "238\t if(p.graph()) {\n" "239\t G = new bigraph(p.graph()->get_ne()) ;\n" "240\t for(i=0; iget_ne(); i++) G->add_edge(p.graph()->get_edge(i)) ;\n" "241\t } else G = 0 ;\n" "242\t\n" "243\t for(i=0; i=0; secc--) if(xsec[secc]->first <= a) break ;\n" "266\t\n" "267\t secs = pconfig->xsmap[secc] ;\n" "268\t\n" "269\t for(offs=0,i=0; ixslist[secs]->size(); i++) {\n" "270\t sec = (*pconfig->xslist[secs])[i] ;\n" "271\t if(sec == secc) break ;\n" "272\t offs += xsec[sec]->addresses() ;\n" "273\t }\n" "274\t\n" "275\t return a - xsec[secc]->first + spart->get_xsec(secs)->first + offs ;\n" "276\t\n" "277\t }\n" "278\t\n" "279\t //-----------------------------------------------------------------------------\n" "280\t int partition::c2py(int a) {\n" "281\t //-----------------------------------------------------------------------------\n" "282\t int i, offs, sec, secs, secc ;\n" "283\t\n" "284\t for(secc=ysections-1; secc>=0; secc--) if(ysec[secc]->first <= a) break ;\n" "285\t\n" "286\t secs = pconfig->ysmap[secc] ;\n" "287\t\n" "288\t for(offs=0,i=0; iyslist[secs]->size(); i++) {\n" "289\t sec = (*pconfig->yslist[secs])[i] ;\n" "290\t if(sec == secc) break ;\n" "291\t offs += ysec[sec]->addresses() ;\n" "292\t }\n" "293\t\n" "294\t return a - ysec[secc]->first + spart->get_ysec(secs)->first + offs ;\n" "295\t\n" "296\t }\n" "297\t\n" "298\t //-----------------------------------------------------------------------------\n" "299\t int partition::p2cx(int a) {\n" "300\t //-----------------------------------------------------------------------------\n" "301\t int i, firsts, ads, offs, secs, secc ;\n" "302\t\n" "303\t for(secs=spart->get_xsections()-1; secs>=0; secs--)\n" "304\t if((firsts = spart->get_xsec(secs)->first) <= a) break ;\n" "305\t\n" "306\t for(offs=0,i=0; ixslist[secs]->size(); i++) {\n" "307\t secc = (*pconfig->xslist[secs])[i] ;\n" "308\t ads = xsec[secc]->addresses() ;\n" "309\t if(offs+ads > a - firsts) break ;\n" "310\t offs += ads ;\n" "311\t }\n" "312\t\n" "313\t return a - firsts - offs + xsec[secc]->first ;\n" "314\t\n" "315\t }\n" "316\t\n" "317\t //-----------------------------------------------------------------------------\n" "318\t int partition::p2cy(int a) {\n" "319\t //-----------------------------------------------------------------------------\n" "320\t int i, firsts, ads, offs, secs, secc ;\n" "321\t\n" "322\t for(secs=spart->get_ysections()-1; secs>=0; secs--)\n" "323\t if((firsts = spart->get_ysec(secs)->first) <= a) break ;\n" "324\t\n" "325\t for(offs=0,i=0; iyslist[secs]->size(); i++) {\n" "326\t secc = (*pconfig->yslist[secs])[i] ;\n" "327\t ads = ysec[secc]->addresses() ;\n" "328\t if(offs+ads > a - firsts) break ;\n" "329\t offs += ads ;\n" "330\t }\n" "331\t\n" "332\t return a - firsts - offs + ysec[secc]->first ;\n" "333\t\n" "334\t }\n" "335\t\n" "336\t //-----------------------------------------------------------------------------\n" "337\t void partition::map_spares(int type) {\n" "338\t //-----------------------------------------------------------------------------\n" "339\t int i, s, a, ca, va, ads, offs, secs, secc ;\n" "340\t section *secpc, *secps ;\n" "341\t \n" "342\t int nse" <- "ctions ;\n" "343\t section **partition::*sectio ;\n" "344\t int (base_partition::*get_sections)() const ;\n" "345\t section *(base_partition::*get_sec)(int) const ;\n" "346\t iList **slist ;\n" "347\t\n" "348\t if(type == ROW) {\n" "349\t nsections = xsections ;\n" "350\t sectio = &base_partition::xsec ;\n" "351\t get_sections = &base_partition::get_xsections ;\n" "352\t get_sec = &base_partition::get_xsec ;\n" "353\t slist = pconfig->xslist ;\n" "354\t } else {\n" "355\t nsections = ysections ;\n" "356\t sectio = &base_partition::ysec ;\n" "357\t get_sections = &base_partition::get_ysections ;\n" "358\t get_sec = &base_partition::get_ysec ;\n" "359\t slist = pconfig->yslist ;\n" "360\t }\n" "361\t\n" "362\t for(secs=0; secs<(spart->*get_sections)(); secs++) {\n" "363\t secps = (spart->*get_sec)(secs) ;\n" "364\t for(s=0; sget_ns(); s++) {\n" "365\t a = secps->get_spare(s) ;\n" "366\t for(offs=0,i=0; isize(); i++) {\n" "367\t secc = (*slist[secs])[i] ;\n" "368\t secpc = (this->*sectio)[secc] ;\n" "369\t ads = secpc->addresses() ;\n" "370\t if(offs+ads > a - secps->first) break ;\n" "371\t offs += ads ;\n" "372\t }\n" "373\t ca = a - secps->first - offs + secpc->first ;\n" "374\t if(type == COLUMN || (va=pconfig->vamap[ca]) == USHRT_MAX) {\n" "375\t secpc->set_spare(ca) ;\n" "376\t } else {\n" "377\t // In this case a defective spare is covered by a defective spare. By\n" "378\t // setting the original address it is easy to later identify such a spare.\n" "379\t for(secc=nsections-1; secc>=0; secc--)\n" "380\t if((this->*sectio)[secc]->first <= va) break ;\n" "381\t#ifdef DEBUG\n" "382\t if(secc<0) {\n" "383\t fprintf(stderr,\"map_spares: secc not found\\n" "\") ;\n" "384\t exit(2) ;\n" "385\t }\n" "386\t#endif\n" "387\t set_spare(secc,va,ROW) ;\n" "388\t }\n" "389\t }\n" "390\t for(s=0; sget_nsm(); s++) {\n" "391\t a = secps->get_must(s) ;\n" "392\t for(offs=0,i=0; isize(); i++) {\n" "393\t secc = (*slist[secs])[i] ;\n" "394\t secpc = (this->*sectio)[secc] ;\n" "395\t ads = secpc->addresses() ;\n" "396\t if(offs+ads > a - secps->first) break ;\n" "397\t offs += ads ;\n" "398\t }\n" "399\t // map \"musts\" on normal spares, because they are here only advance repairs\n" "400\t // and thus no real musts.\n" "401\t ca = a - secps->first - offs + secpc->first ;\n" "402\t if(type == COLUMN || (va=pconfig->vamap[ca]) == USHRT_MAX) {\n" "403\t secpc->set_spare(ca) ;\n" "404\t } else {\n" "405\t // In this case a defective spare is covered by a defective spare. By\n" "406\t // setting the original address it is easy to later identify such a spare.\n" "407\t for(secc=nsections-1; secc>=0; secc--)\n" "408\t if((this->*sectio)[secc]->first <= va) break ;\n" "409\t#ifdef DEBUG\n" "410\t if(secc<0) {\n" "411\t fprintf(stderr,\"map_spares: secc not found\\n" "\") ;\n" "412\t exit(2) ;\n" "413\t }\n" "414\t#endif\n" "415\t set_spare(secc,va,ROW) ;\n" "416\t }\n" "417\t }\n" "418\t } // end of loop over secs\n" "419\t\n" "420\t //-----------------------------------------------------------------------------\n" "421\t } // end of partition::map_spares(...)\n" "422\t //-----------------------------------------------------------------------------\n" "423\t\n" "424\t} // end of namespace config\n" <- "(gdb) " # Reading file "cpartition.C" from GDB...done. # Source "cpartition.C" (from GDB) 424 lines, 14926 characters -> "info source\n" <- "Current source file is cpartition.C\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/cpartition.C\n" "Contains 424 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " -> "output yvs\n" <- "64" <- "(gdb) " -> "output nspares\n" <- "0" <- "(gdb) " -> "output seg\n" <- "(segment_t *) 0x4062300c" <- "(gdb) " -> "up\n" <- "#1 0x08059fde in config::add_column_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4062300c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:363\n" "\032\032/home/clinton/cvs/aram/config.C:363:11456:beg:0x8059fde\n" <- "(gdb) " -> "frame\n" <- "#1 0x08059fde in config::add_column_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4062300c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:363\n" "\032\032/home/clinton/cvs/aram/config.C:363:11456:beg:0x8059fde\n" <- "(gdb) " -> "display\n" <- "(gdb) " # File "/home/clinton/cvs/aram/config.C" 972 lines, 31959 characters -> "output segments\n" <- "No symbol \"segments\" in current context.\n" <- "(gdb) " -> "up\n" <- "#2 0x08059f4b in config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:345\n" "\032\032/home/clinton/cvs/aram/config.C:345:10889:beg:0x8059f4b\n" <- "(gdb) " -> "frame\n" <- "#2 0x08059f4b in config::add_row_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4022100c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:345\n" "\032\032/home/clinton/cvs/aram/config.C:345:10889:beg:0x8059f4b\n" <- "(gdb) " -> "display\n" <- "(gdb) " -> "output segment\n" <- "(segment_t *) 0x4022100c" <- "(gdb) " -> "down\n" <- "#1 0x08059fde in config::add_column_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4062300c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:363\n" "\032\032/home/clinton/cvs/aram/config.C:363:11456:beg:0x8059fde\n" <- "(gdb) " -> "frame\n" <- "#1 0x08059fde in config::add_column_segment(config::segment_t*, config::partition*, config::block_coord const*, config::block_coord const*) (segment=0x4062300c, part=0x8473608, rblockpt=0x844dfec, cblockpt=0x845f304) at config.C:363\n" "\032\032/home/clinton/cvs/aram/config.C:363:11456:beg:0x8059fde\n" <- "(gdb) " -> "display\n" <- "(gdb) " -> "down\n" <- "#0 config::partition::add_column_section(int, int, config::segment_t*) (this=0x8473608, yvs=64, nspares=0, seg=0x4062300c) at cpartition.C:67\n" "\032\032/home/clinton/cvs/aram/cpartition.C:67:2395:beg:0x805fa19\n" <- "(gdb) " -> "frame\n" <- "#0 config::partition::add_column_section(int, int, config::segment_t*) (this=0x8473608, yvs=64, nspares=0, seg=0x4062300c) at cpartition.C:67\n" "\032\032/home/clinton/cvs/aram/cpartition.C:67:2395:beg:0x805fa19\n" <- "(gdb) " -> "display\n" <- "(gdb) " # Reading file "/home/clinton/cvs/aram/cpartition.C"... # Reading file "/home/clinton/cvs/aram/cpartition.C"...done. # File "/home/clinton/cvs/aram/cpartition.C" 424 lines, 14926 characters -> "info source\n" <- "Current source file is cpartition.C\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/cpartition.C\n" "Contains 424 lines.\n" "Source language is c++.\n" "Compiled with DWARF 2 debugging format.\n" <- "(gdb) " -> "output ysections\n" <- "0" <- "(gdb) " -> "output seg\n" <- "(segment_t *) 0x4062300c" <- "(gdb) " -> "output partition::set_mra_must\n" <- "{bool (partition * const, int, int, int, bool, bool)} 0x805fb6a " <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/cpartition.C:71:2665:beg:0x805fae4\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" <- "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" <- "\tbreakpoint already hit 1 time\n" <- "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" <- "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/cpartition.C:72:2680:beg:0x805faf3\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "next\n" <- "\032\032/home/clinton/cvs/aram/cpartition.C:74:2711:beg:0x805fb0c\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "output nvy\n" <- "64" <- "(gdb) " -> "output csegment\n" <- "(segment_t **) 0x84740a8" <- "(gdb) " -> "display ysections\n" <- "(gdb) " -> "display csegment[ysections]->address@hidden>nlinks\n" <- "(gdb) " -> "output cseg->get_first_red\n" <- "No symbol \"cseg\" in current context.\n" <- "(gdb) " -> "output cseg\n" <- "No symbol \"cseg\" in current context.\n" <- "(gdb) " -> "output partition\n" <- "Attempt to use a type name as an expression\n" <- "(gdb) " -> "output cseg->g\n" <- "No symbol \"cseg\" in current context.\n" <- "(gdb) " -> "output yrsec\n" <- "(short unsigned int *) 0x8474dc8" <- "(gdb) " -> "output int\n" <- "Attempt to use a type name as an expression\n" <- "(gdb) " -> "print cseg->get_first_red()\n" <- "No symbol \"cseg\" in current context.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " -> "step\n" <- "config::segmentation::get_first_red() const (this=0x845f300) at config.h:486\n" <- "\032\032/home/clinton/cvs/aram/config.h:486:18036:beg:0x8061049\n" <- "2: this->csegment[this->ysections]->link[0] @ this->csegment[this->ysections]->nlinks = There is no member or method named csegment.\n" "Disabling display 2 to avoid infinite recursion.\n" <- "(gdb) " -> "info breakpoints\n" <- "Num Type Disp Enb Address What\n" "7 breakpoint keep y 0x080598db in config::config(config::partition**, unsigned) at config.C:206\n" "\tbreakpoint already hit 1 time\n" "12 breakpoint keep y 0x080599f9 in config::config(config::partition**, unsigned) at config.C:221\n" "\tbreakpoint already hit 1 time\n" <- "(gdb) " # Reading file "/home/clinton/ARAM/splitcol/griffin/config.h"... # Reading file "/home/clinton/ARAM/splitcol/griffin/config.h"...No such file or directory. -> "info source\n" <- "Current source file is config.h\n" "Compilation directory is /home/clinton/cvs/aram\n" "Located in /home/clinton/cvs/aram/config.h\n" "Contains 550 lines.\n" "Source language is c++.\n" "Compiled with unknown debugging format.\n" <- "(gdb) " # Reading file "config.h" from GDB... -> "list config.h:1,1000000\n" <- "1\t/*!#!#*/\n" "2\t\n" "3\t#ifndef _CONFIG_H // protection against repeated inclusion\n" "4\t#define _CONFIG_H\n" "5\t\n" "6\t#include \n" "7\t#include \n" "8\t\n" "9\t#include \"dimensions.h\"\n" "10\t#include \"aram.h\"\n" "11\t#include \"partition.h\"\n" "12\t#include \"mra.h\"\n" "13\t#include \"distribution.h\"\n" "14\t\n" "15\tstatic const char _rcs_id_config_h_[] =\n" "16\t\"$Id: config.h,v 7.17.2.4 2003/02/13 16:52:36 clinton Exp $ $Name: $ \"\n" "17\t\"$Locker: $\" ;\n" "18\t\n" "19\tclass partition ;\t// forward declaration\n" "20\t\n" "21\t//------------------------------------------------------------------------------\n" "22\tnamespace config {\n" "23\t//------------------------------------------------------------------------------\n" "24\t\n" "25\t class PartialBinning {\n" "26\t int n ;\n" "27\t int maxPart ;\n" "28\t int counter ;\n" "29\t int *partitions ;\n" "30\t public:\n" "31\t int ptbin, bin ;\n" "32\t inline PartialBinning(int _ptbin, int _bin, int _n) ;\n" "33\t inline void addPartition(int partition) ;\n" "34\t inline bool containsPartition(int partition) const ;\n" "35\t inline int getMaxPartition() const { return maxPart ; }\n" "36\t inline int getPtBin() const { return ptbin ; }\n" "37\t inline int getBin() const { return bin ; }\n" "38\t int matchLength(unsigned short bbin[]) const ;\n" "39\t } ;\n" "40\t\n" "41\t extern PartialBinning *partialBinning[MAXPARTS] ;\n" "42\t\n" "43\t extern int MRAXAddress ;\n" "44\t extern int MRAYAddress ;\n" "45\t extern int MRAZAddress ;\n" "46\t extern int MRADataBit ;\n" "47\t extern int MRAMultiAreaCount ;\n" "48\t extern bool MRAReductionMode ;\n" "49\t extern const char *MRAReductionBit[3] ;\n" "50\t extern unsigned xcompression, ycompression ;\n" "51\t extern const char *ColumnRepair ;\n" "52\t extern const char *ColumnSearch ;\n" "53\t extern const char *ColumnSplit ;\n" "54\t extern const char *RowRepair ;\n" "55\t extern const char *RowSearch ;\n" "56\t extern const char *RowSplit ;\n" "57\t extern int MRARowGroups ;\n" "58\t extern int MRAColumnGroups ;\n" "59\t extern int MRATotalBlocks ; // row and column blocks are identical!\n" "60\t extern int ARAMRepairPriority ;\n" "61\t extern int ARAMTimeLimit ;\n" "62\t extern int ARAMBinFileSize ;\n" "63\t extern bool ARAMSeparateMode ;\n" "64\t extern bool ARAMExtendMustRepairs ;\n" "65\t extern bool ARAMWideSetsigns ;\n" "66\t extern bool ARAMBinTriops ;\n" "67\t extern binclass NOT_ANALYSED,PERFECT,REPAIRABLE,PARTIAL,IRREPARABLE ;\n" "68\t extern binclass A_NOT_ANALYSED,A_PERFECT,A_REPAIRABLE,A_PARTIAL,A_IRREPARABLE ;\n" "69\t extern binclass RepeatedB,RepeatedRDB,SharedSAFailB,TimeLimitFlagB,\n" "70\t SparseFailLimitB,IllegalFailB,timeoutB,AnalysisErrorB,\n" "71\t\t\t IterationFailB,NoDut ;\n" "72\t\n" "73\t\n" "74\t extern int npbcs ; // number of partial binning codes\n" "75\t extern int nblocks ; // genuine total number of blocks,\n" "76\t // = MRATotalBlocks*MRADataBit\n" "77\t extern int rows_per_block, columns_per_block ;\n" "78\t\n" "79\t class segment_t ;\t\t\t\t// forward\n" "80\t class partition_address ;\t\t\t// forward\n" "81\t class segmentation ;\t\t\t\t// forward\n" "82\t\n" "83\t extern segmentation *rseg, *cseg ;\n" "84\t\n" "85\t //-----------------------------------------------------------------------------\n" "86\t struct OAddress {\n" "87\t //-----------------------------------------------------------------------------\n" "88\t int bix ; // block index\n" "89\t int ais ; // address in section\n" "90\t OAddress() { bix = ais = -1 ; }\n" "91\t OAddress(int ibix, int iais) { bix = ibix ; ais = iais ; }\n" "92\t bool invalid() const { return bix < 0 || ais < 0 ; }\n" "93\t } ;\n" "94\t\n" "95\t inline PartialBinning::PartialBinning(int _ptbin, int _bin, int _n) {\n" "96\t counter = 0 ;\n" "97\t maxPart = 0 ;\n" "98\t ptbin = _ptbin ;\n" "99\t bin = _bin ;\n" "100\t n = _n ;\n" "101\t partitions = new int[n] ;\n" "102\t }\n" "103\t\n" "104\t inline void PartialBinning::addPartition(int partition) {\n" "105\t partitions[counter++] = partition - 1 ; // -1: starting from 0 internally\n" "106\t if(partition > maxPart) maxPart = partition ;\n" "107\t }\n" "108\t\n" "109\t inline bool PartialBinning::containsPartition(int partition) const {\n" "110\t for(int i = 0; i0 ? new bitformat[ng] : 0 ;\n" "316\t lbits = nl>0 ? new bitformat[nl] : 0 ;\n" "317\t }\n" "318\t ~addrbits() {\n" "319\t delete[] xbits ;\n" "320\t delete[] ybits ;\n" "321\t delete[] dbits ;\n" "322\t if(gbits) delete[] gbits ;\n" "323\t if(lbits) delete[] lbits ;\n" "324\t }\n" "325\t } ;\n" "326\t\n" "327\t //-----------------------------------------------------------------------------\n" "328\t class block_coord {\n" "329\t //-----------------------------------------------------------------------------\n" "330\t /*********************************************************************** \n" "331\t * for a given block in the RCF store the pointer of the segment this *\n" "332\t * block belongs to and the block group number *\n" "333\t ***********************************************************************/\n" "334\t public:\n" "335\t segment_t *segment ;\n" "336\t int blockgroup ;\n" "337\t block_coord() { segment = 0 ; blockgroup = -1 ; } ;\n" "338\t block_coord(segment_t *a1, int a2) {segment = a1 ; blockgroup = a2 ; } ;\n" "339\t friend class segmentation ;\n" "340\t } ;\n" "341\t\n" "342\t //-----------------------------------------------------------------------------\n" "343\t struct block_address { // block number and address within a block\n" "344\t //-----------------------------------------------------------------------------\n" "345\t int n, x, y ;\n" "346\t block_address() { n = x = y = -1 ; } ; // initialisation to invalid values\n" "347\t block_address(int a1, int a2, int a3) : n(a1), x(a2), y(a3) {} ;\n" "348\t } ;\n" "349\t\n" "350\t //-----------------------------------------------------------------------------\n" "351\t struct partition_address {\n" "352\t //-----------------------------------------------------------------------------\n" "353\t\t \n" "354\t // partition pointer, section number in partition, and x/y address in partition\n" "355\t\t \n" "356\t partition *part ;\n" "357\t int x, y ;\n" "358\t bool xred, yred ;\n" "359\t // initialisation to invalid values\n" "360\t partition_address() { part = 0 ; x = y = -1 ; xred = yred = false ; } ;\n" "361\t partition_address(partition *p, int xin, int yin, bool _xred, bool _yred) {\n" "362\t part = p ; x = xin ; y = yin ; xred = _xred ; yred = _yred ;\n" "363\t }\n" "364\t } ;\n" "365\t\n" "366\t //-----------------------------------------------------------------------------\n" "367\t class segment_t {\n" "368\t //-----------------------------------------------------------------------------\n" "369\t union link_t { segment_t *s ; int n ; } ;\n" "370\t\n" "371\t class SPASet {\n" "372\t int n, forbiddenAddress ;\n" "373\t int *a ;\n" "374\t\n" "375\t public:\n" "376\t\n" "377\t SPASet(int start,int stop,int step,int forbidden) {\n" "378\t int at ;\n" "379\t if(step==0) {\n" "380\t fprintf(stderr,\"SPAset: illegal step size\\n" "\") ;\n" "381\t exit(2) ;\n" "382\t }\n" "383\t if(step > 0) for(n=0,at=start; at<=stop; at+=step) n++ ;\n" "384\t else for(n=0,at=start; at>=stop; at+=step) n++ ;\n" "385\t\n" "386\t a = new int[n] ;\n" "387\t if(step > 0) for(n=0,at=start; at<=stop; at+=step) a[n++] = at ;\n" "388\t else for(n=0,at=start; at>=stop; at+=step) a[n++] = at ;\n" "389\t\n" "390\t forbiddenAddress = forbidden ;\n" "391\t }\n" "392\t\n" "393\t ~SPASet() { delete[] a ; }\n" "394\t bool is_spare(int ain) {\n" "395\t int i ;\n" "396\t for(i=0; i0) delete[] link ;\n" "434\t if(bgrep) delete[] bgrep ;\n" "435\t for(int i = 0; iset_spaset(start,stop,step,forbidden) ;\n" "491\t }\n" "492\t void addblockgroup(int,...) ;\n" "493\t void addblocks(int,...) ;\n" "494\t friend int config(partition *part[],unsigned timelimit) ;\n" "495\t friend partition_address find_partition_address\n" "496\t (unsigned x, unsigned y, unsigned DQ) ;\n" "497\t friend bool mra_musts(const int n, const unsigned *address,\n" "498\t " <- " const addrbits *solf, int type) ;\n" "499\t friend bool format_solution(const int ichip, const int nparts,\n" "500\t partition *part[], mra_dut *dut) ;\n" "501\t //-----------------------------------------------------------------------------\n" "502\t } ; // end of class segmentation\n" "503\t //-----------------------------------------------------------------------------\n" "504\t\n" "505\t extern xybits rowrepair, rowsearch, rowsplit ;\n" "506\t extern xybits columnrepair, columnsearch, columnsplit ;\n" "507\t\n" "508\t extern addrbits *xfailf, *yfailf, *xsolf, *ysolf ;\n" "509\t extern addrbits *xpsolf, *ypsolf ; // solution format of pseudo-configuration\n" "510\t\n" "511\t\n" "512\t // pointer to configuration function\n" "513\t extern void (*repair_condition_array[3])() ;\n" "514\t extern void (**repair_condition)() ;\n" "515\t\n" "516\t int config(partition*[], unsigned timelimit) ; // sets it all up\n" "517\t void repairblock() ;\n" "518\t partition_address find_partition_address(unsigned x, unsigned y, unsigned DQ) ;\n" "519\t xybits getbits(const char *) ;\n" "520\t\n" "521\t void add_row_segment(segment_t *segment, partition *part,\n" "522\t const block_coord*, const block_coord*) ;\n" "523\t void add_column_segment(segment_t *segment, partition *part,\n" "524\t const block_coord*, const block_coord*) ;\n" "525\t\n" "526\t void addPartialBinning(int ptbin, int bin, ...) ;\n" "527\t\n" "528\t bool mra_musts(const int n, const unsigned *address,\n" "529\t const addrbits *solf, int type) ;\n" "530\t bool construct_graphs(mra_dut *) ;\n" "531\t void set_addressformat(const char *type,\n" "532\t const char *XFailAddress, const char *YFailAddress) ;\n" "533\t addrbits *set_addressbits(const char *string, int gb, int lb) ;\n" "534\t\n" "535\t void get_xyd(const unsigned *address,unsigned &x,unsigned &y,unsigned &DQ) ;\n" "536\t bool format_solution(const int ichip, const int nparts, partition *part[],\n" "537\t mra_dut *dut) ;\n" "538\t int find_rwl(int ais, int nsections, int sec, int rsec,\n" "539\t partition::section **secarray, segment_t **segarray) ;\n" "540\t int find_scsl(int ais, int nsections, int sec, int rsec,\n" "541\t partition::section **secarray, segment_t **segarray) ;\n" "542\t unsigned taddress(const int blockno, unsigned xib, unsigned yib) ;\n" "543\t block_address find_block_address(const unsigned x, const unsigned y,\n" "544\t const unsigned DQ) ;\n" "545\t\n" "546\t//----------------------------------------------------------------------------\n" "547\t} // end of namespace config\n" "548\t//----------------------------------------------------------------------------\n" "549\t\n" "550\t#endif // end of protection against repeated inclusion\n" <- "(gdb) " # Reading file "config.h" from GDB...done. # Source "config.h" (from GDB) 550 lines, 22533 characters # Updating displays... # Updating displays...done. -> "display\n" <- "1: this->ysections = There is no member or method named ysections.\n" "Disabling display 1 to avoid infinite recursion.\n" ! Segmentation fault ! Segmentation fault + /bin/sh -c 'gdb -x /tmp/dddsBLnhf ddd core' GNU gdb 5.2.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i586-suse-linux"...(no debugging symbols found)... Core was generated by `ddd ../merlin/m4.x'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/X11R6/lib/libXm.so.3... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXm.so.3 Reading symbols from /usr/X11R6/lib/libXaw.so.7... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXaw.so.7 Reading symbols from /usr/X11R6/lib/libXmu.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXmu.so.6 Reading symbols from /usr/X11R6/lib/libXt.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXt.so.6 Reading symbols from /usr/X11R6/lib/libXpm.so.4... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXpm.so.4 Reading symbols from /usr/X11R6/lib/libXp.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXp.so.6 Reading symbols from /usr/X11R6/lib/libXext.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libXext.so.6 Reading symbols from /usr/X11R6/lib/libX11.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libX11.so.6 Reading symbols from /usr/X11R6/lib/libSM.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libSM.so.6 Reading symbols from /usr/X11R6/lib/libICE.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/X11R6/lib/libICE.so.6 Reading symbols from /lib/libncurses.so.5...(no debugging symbols found)... done. Loaded symbols for /lib/libncurses.so.5 Reading symbols from /usr/lib/libstdc++.so.5...(no debugging symbols found)... done. Loaded symbols for /usr/lib/libstdc++.so.5 Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/libm.so.6 Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/libgcc_s.so.1 Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/lib/gconv/ISO8859-1.so... (no debugging symbols found)...done. Loaded symbols for /usr/lib/gconv/ISO8859-1.so Reading symbols from /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2...done. Loaded symbols for /usr/X11R6/lib/X11/locale/lib/common/xlcDef.so.2 Reading symbols from /lib/libnss_files.so.2...done. Loaded symbols for /lib/libnss_files.so.2 Reading symbols from /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2...done. Loaded symbols for /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2 #0 0x0820d365 in PosBuffer::answer_ended() () #0 0x0820d365 in PosBuffer::answer_ended() () #1 0x080f1bc5 in buffered_gdb_output() () #2 0x08063bc3 in _gdb_out(string const&) () #3 0x080f13f6 in send_gdb_command(string, _WidgetRec*, void (*)(string const&, void*), void (*)(void*), void*, bool, bool, bool, bool, bool) () #4 0x081a6c6f in _do_gdb_command(Command const&, bool) () #5 0x081a7406 in do_gdb_command(Command&, bool) () #6 0x081a7ca7 in gdb_command(Command const&) () #7 0x0810c601 in ddd_show_signal(int) () #8 0x0813704b in ddd_main_loop() () #9 0x08053f18 in main () #10 0x405a74a2 in __libc_start_main () from /lib/libc.so.6 # Saving history in "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/history"... # Saving history in "/home/clinton/.ddd/sessions/11c0a80002000104627902600000010790012/history"...done. # Thanks for using DDD 3.3.1! (We apologize for the inconvenience.)