⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gp.test.list

📁 标准的GP源代码,由Andy Singleton维护
💻 LIST
📖 第 1 页 / 共 2 页
字号:
first r2insert d2 r2prtlistscorep 2 d2 d1breakfirst r3insert d3 r3prtlist	scorep 3 d3 d2 d1breakfirst r4insert d4 r4prtlist	scorep 4 d4 d3 d2 d1%breakfirst r5insert d5 r5prtlist	scorep 5 d5 d4 d3 d2 d1%break%set_ok firstfirst r6insert d6 r6prtlist	scorep  6 d6 d5 d4 d3 d2 d1%breakfirst r7insert d7 r7prtlist	scorep  7 d7 d6 d5 d4 d3 d2 d1%breakfirst r8insert d8 r8prtlist	scorep  8 d8 d7 d6 d5 d4 d3 d2 d1breakfirst r9next r8 r9insert d9 r8prtlist	scorep  9 d8 d9 d7 d6 d5 d4 d3 d2 d1breakset_ok firstset_ok prtlistmakenul r1      %Initialise list 16.4first r2        %Insert items, choose location at random (from those in use) scoreq r2 r1    %break     	%Use NEXT, PREVIOUS and END to choose positionsinsert d1 r1	%and update.  Keep going to there are nine elements infirst r1	%the list.  check contents of list after each insertprtlist		%using Printlist.  scorep 1 d1breakfirst r1insert d2 r1prtlistscorep 2 d2 d1breakfirst r1next r2 r1insert d3 r2prtlistscorep 3 d2 d3 d1breakfirst r1next r2 r1insert d4 r2prtlistscorep 4 d2 d4 d3 d1breakfirst r1next r2 r1next r2 r2insert d5 r2prtlistscorep 5 d2 d4 d5 d3 d1breakfirst r1next r2 r1next r2 r2next r2 r2insert d6 r2prtlistscorep 6 d2 d4 d5 d6 d3 d1breakfirst r1next r2 r1next r2 r2next r2 r2next r2 r2next r2 r2insert d7 r2prtlistscorep 7 d2 d4 d5 d6 d3 d7 d1breakfirst r1next r2 r1next r2 r2next r2 r2next r2 r2next r2 r2next r2 r2next r2 r2insert d8 r2prtlistscorep 8 d2 d4 d5 d6 d3 d7 d1 d8breakfirst r1insert d9 r1prtlistscorep 9 d9 d2 d4 d5 d6 d3 d7 d1 d8breakset_ok firstset_ok nextset_ok prtlistset_ok insertend_testseed 19randomstart 118	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% seq 18 makenul r1	%check prev one item listinsert d1 r1end r0prev r9 r0scoreq r9 r1breakmakenul r1	%Same again check prev one item listinsert d2 r1end r0prev r9 r0scoreq r9 r1scorneq 2 r1 r0   %but check end<>startretriev r9 r1scoreq r9 d2	%and can use pointer returned by prevbreakend_testseed 20randomstart 0		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% seq 19makenul r1	%check prev two item listinsert u1 r1end r1insert u2 r1	%u1 u2first r1next r0 r1	%u2end  r9prev r8 r9	%u2scoreq r8 r0scorneq 3 r1 r0 r9retriev r2 r8scoreq r2 u2	%and can use pointer returned by prevbreakprev r7 r8	%u1scoreq r7 r1scorneq 3 r1 r0 r9 	%u1 u2 endretriev r3 r7scoreq r3 u1	%and can use pointer returned by prevbreakend_testseed 21randomstart 120	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% seq 20makenul r1	%check prev three item listinsert u1 r1end r1insert u2 r1end r1insert u3 r1	%u1 u2 u3first r1next r0 r1	%u2end  r9prev r8 r9	%u3scorneq 4 r1 r0 r8 r9retriev r2 r8scoreq r2 u3	%and can use pointersbreakprev r7 r8	%u2scoreq r7 r0retriev r2 r7scoreq r2 u2	%and can use pointersbreakprev r6 r7	%u1scoreq r6 r1retriev r2 r6scoreq r2 u1	%and can use pointersbreakend_testend_phase	%%%%%%%%%%%%%%%%%%% END PHASE 1seed 5randomstart 0		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  seq 4.p2makenul r1      %Initialise listfirst r2        %Insert items, choose location at random (from those in use) scoreq r2 r1    %if not end of list, delete existing element first.break     	%Use NEXT, PREVIOUS and END to choose positions to delete insert d1 r1	%and update.  Keep going to there are nine elements infirst r1	%the list.  check contents of list after each insert%delete r1	%or delete using Printlist.  %prtlist%scorep 1 d1%break%first r1insert d3 r1%prtlist%scorep 2 d3 d1break%delete r1%prtlist%scorep 0%break%first r2%end r3%scorneq 2 r2 r3%breakfirst r3insert d4 r3insert d5 r3next r4 r3insert d6 r4%prtlist%scorep 5 d5 d6 d4 d3 d1%break%set_ok firstdelete r4	%delete from middle of listprtlistscorep 4 d5 d4 d3 d1breakfirst r5delete r5	%delete firstprtlistscorep 3 d4 d3 d1breakfirst r6delete r6	%delete firstprtlistscorep 2 d3 d1breakfirst r7insert d7 r7insert d8 r7next r8 r7insert d9 r8prtlistscorep 5 d8 d9 d7 d3 d1breaknext r9 r8next r9 r9delete r9prtlistscorep 4 d8 d9 d7 d1breakend r0prev r0 r0delete r0prtlistscorep 3 d8 d3 d7breakdelete r7prtlistscorep 2 d3 d7break%set_ok prtlistend_testseed 7randomstart 0		%%%%%%%%%%% seq 6makenul r1insert d1 r1 %insert an item, check Locate finds itlocate r2 d1scoreq r1 r2 %update scores of locate and makenulbreaklocate r2 u1 %check locate doesnt find a different item.end r3scoreq r3 r2 %update scores of locate and endscorneq 2 r1 r2	%check end<>makenullbreakmakenul r1	%%%%%%%%%%%  seq 5 Locate 2 Feb 1995locate r2 d1	%locate a random item, check result is END (ie value returnedscoreq r1 r2breakend_testseed 8randomstart 107	% Seq 7 insert two items, check Locate finds them (in themakenul r1	%right place, by comparing with positions used to insert d1 r1 	 %store them) check locate doesnt find a different item.insert d2 r1 locate r2 d2scoreq r2 r1	%d2 at begining of list?locate r3 d1next r4 r1 scoreq r3 r4	%d1 after d2?scorneq 2 r3 r2breaklocate r5 u2	%find u2next r6 r4scoreq r5 r6	%u2 NOT in list?scorneq 2 r6 r1 %end of list <> start of list?breakend_testseed 9randomstart 0		%%%%%%%%%%%%% seq 8makenul r9	%insert eightitems, check Locate finds them (in the right placeinsert u1 r9	%check locate doesnt find a different item.insert u2 r9insert u3 r9insert u4 r9insert u5 r9insert u6 r9insert u7 r9insert u8 r9%locate r1 u1	%%%%%%%%%%%%%%%%%%%%%%%locate r2 u2retriev r0 r2scoreq r0 u2breaknext r0 r2locate r3 u3scorneq 4 r3 r2 r1 r9breaknext r0 r3scoreq r0 r2locate r4 u4scorneq 5 r4 r3 r2 r1 r9breaknext r0 r4scoreq r0 r3locate r5 u5scorneq 6 r5 r4 r3 r2 r1 r9breaknext r0 r5scoreq r0 r4locate r6 u6scorneq 7 r6 r5 r4 r3 r2 r1 r9breaknext r0 r6scoreq r0 r5locate r7 u7scorneq 8 r7 r6 r5 r4 r3 r2 r1 r9breaknext r0 r7scoreq r0 r6locate r8 u8scorneq 8 r8 r7 r6 r5 r4 r3 r2 r1scoreq r8 r9breakend_test%seed 10%random%start 109		%%%%%%%%%%%%%%%%%  seq 9%makenul r1		%insert two items, delete one%insert u1 r1		%check locate doesnt find the deleted one%insert u2 r1%delete r1 %locate r2 u1%first r3%scoreq r3 r2	%could check r2 <> end but would need another operation%break%end_testseed 11randomstart 110	%%%%%%%%%%%%%  seq 10makenul r1	%insert nine items, delete all but u1insert u1 r1	%check locate doesnt find any of theminsert u2 r1insert u3 r1end r0locate r3 u3	scoreq r1 r3	%does find u3scorneq 2 r0 r1	%check begining <> endbreaklocate r2 u2	%does find u2scorneq 3 r2 r1 r0	%check u2 <> begining <> endbreaklocate r9 u1	%does find u1scorneq 4 r9 r2 r1 r0	%check u1 <> u2 <> begining <> endbreakinsert u4 r1insert u5 r1insert u6 r1insert u7 r1insert u8 r1insert u9 r1end r0locate r7 u7	%does find u1scorneq 3 r7 r1 r0	%check u7 <> begining <> endbreakdelete r1delete r1delete r1delete r1delete r1delete r1delete r1delete r1end r2locate r3 u1	scoreq r1 r3	%does find itscorneq 2 r2 r1	%check begining <> endlocate r3 u2	scoreq r2 r3scorneq 2 r2 r1	%check begining <> endbreaklocate r3 u3	scoreq r2 r3scorneq 2 r2 r1	%check begining <> endbreaklocate r3 u4	scoreq r2 r3scorneq 2 r2 r1	%check begining <> endbreaklocate r3 u5	scoreq r2 r3scorneq 2 r2 r1	%check begining <> endbreaklocate r3 u6	scoreq r2 r3scorneq 2 r2 r1	%check begining <> endbreaklocate r3 u7	scoreq r2 r3scorneq 2 r2 r1	%check begining <> endbreaklocate r3 u8	scoreq r2 r3scorneq 2 r2 r1	%check begining <> endbreaklocate r3 u9	scoreq r2 r3scorneq 2 r2 r1	%check begining <> endbreakend_testseed 15randomstart 214		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% seq 14makenul r0              %Next. 2 Feb 1995insert u1 r0    	%Insert eight items in the list.insert u2 r0insert u3 r0insert u4 r0insert u5 r0insert u6 r0insert u7 r0insert u8 r0first r0 		%start from first, next r7 r0	%u7next r6 r7	%u6next r5 r6	%u5next r4 r5	%u4%next r3 r4	%u3%next r2 r3	%u2%next r1 r2	%u1%next r8 r1	%end%scoreq r8 r9%scorneq 9 r0 r1 r2 r3 r4 r5 r6 r7 r9%breakdelete r4	%u4	%delete random item in listprtlistscorep 7 u8 u7 u6 u5 u3 u2 u1first r0		%start from first u8end r9			%check next points to each in turn correctly.next r7 r0	%u7next r6 r7	%u6next r5 r6	%u5next r3 r5	%u3next r2 r3	%u2next r1 r2	%u1next r8 r1	%endscoreq r8 r9scorneq 8 r0 r1 r2 r3 r5 r6 r7 r9breakdelete r0	%u8	%delete first item in listprtlistscorep 6 u7 u6 u5 u3 u2 u1breakend r9prev r1 r9	%u1delete r1		%delete last item in list u1prtlistscorep 5 u7 u6 u5 u3 u2breakfirst r0	next r6 r0	%u6	%start from firstdelete r6	%u6	%delete another random item in listprtlistscorep 4 u7 u5 u3 u2breakdelete r0	%u7	%delete first item in listprtlistscorep 3 u5 u3 u2breakdelete r0	%u5	%delete first item in listprtlistscorep 2 u3 u2breakdelete r0	%u3	%delete first item in listprtlistscorep 1 u2breakdelete r0	%u2	%delete last item in listprtlistscorep 0breakend_testseed 16randomFINISHED_TESTSstart 0			%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% seq 15makenul r1              %prev. 2 Feb 1995insert u1 r1    	%Insert eight items in the list.insert u2 r1		%see also seq 18 and 19insert u3 r1insert u4 r1insert u5 r1insert u6 r1insert u7 r1insert u8 r1prtlistscorep 8 u8 u7 u6 u5 u4 u3 u2 u1end r0			%check prev points to each in turn correctly.prev r1 r0	%u1delete r1		%delete last item in listprtlistscorep 7 u8 u7 u6 u5 u4 u3 u2	%ensure delete is workingfirst r9		end r1			%start from lastprev r2 r1	%u2	%check prev points to each in turn correctly.prev r3 r2	%u3prev r4 r3	%u4prev r5 r4	%u5prev r6 r5	%u6prev r7 r6	%u7prev r8 r7	%u8scoreq r8 r9scorneq 8 r1 r2 r3 r4 r5 r6 r7 r8breakdelete r8		%delete first item in listfirst r9		end r1		prev r2 r1	%u2	%start from lastprev r3 r2	%u3	%check prev points to each in turn correctly.prev r4 r3	%u4prev r5 r4	%u5prev r6 r5	%u6prev r7 r6	%u7scoreq r7 r9scorneq 7 r1 r2 r3 r4 r5 r6 r7breakdelete r5	%u5	%delete random item in listfirst r9end r1prev r2 r1	%u2	%start from lastprev r3 r2	%u3	%check prev points to each in turn correctly.prev r4 r3	%u4prev r6 r4	%u6prev r7 r6	%u7scoreq r7 r9scorneq 6 r1 r2 r3 r4 r6 r7prtlistscorep 5 u7 u6 u4 u3 u2breakend_testFINISHED_TESTSModifications (chronilogical order)WBL	14 Mar 95	Add 0 to all start instructionsWBL	14 Feb 95	Ensure all scorxx are followed by break			Require by change to test.run.ccWBL	14 Feb 95	Add more tests on pointers before giving them credit			And combine sub_sequences (by removing break)WBL	22 May 95	In half cases initialise stores to fixed			random random pattern rather than zero.			Tighten tests on delete. Use more delete other			than start or end of list.WBL	26 May 95	Make more difficult for insert to pass by more			checks and tests for random insertion pointsWBL	27 May 95	Add set_ok sWBL	10 Jun 95	Prevent running delete until rest ofoperations, particularly insert, have made some progress. At presentin most runs there is no sensible selection presure on delete.Directed crossover will reduce loss of initial randomness until it isused.WBL	12 Jun 95	Make harder for prev, next and end to be set_ok			Make sure seq 16 and 17 are identical to 0-4 and 5-10WBL	18 Jun 95	Remove all locate and delete tests.			Reduce number of tests where insert at end of listWBL	23 Jun 95	Back track. Restore version 1.15+14? and moveon. Make seq 14 check original contents of list as it goes rather thanjust at the end. Also some changes to order of items on list.Make seq 2 and 3 check insert in body of list before allowing set_okprtlist etcWBL	25 Jun 95	Add checks that pointers returned by Prev are legit.WBL	27 Jun 95	Restore delete and locate tests (from r1.20 1.15+12) 			Break into 2 phase remove seqs 5 6 7 8 9 and 17			Change delete and locate 			combine seq 5 and 6. Cant fit seq 15 in 1000 limit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -