home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lifeos2.zip / LIFE-1.02 / TESTS / REFOUT / PROFILER.R01 < prev    next >
Text File  |  1996-06-04  |  8KB  |  210 lines

  1.  
  2. *** Yes
  3.  
  4. Type 'profile_help ?' to get some help about the profiler
  5.  
  6.  
  7. *** Yes
  8. *** Yes
  9. S = [['Start       ',_A: x,_B: x,_C: x,' ',o|_D: [o|_E: [o|_F: []]]],
  10.      ['o move left ',_A,_B,_C,o,' '|_D],
  11.      ['x jump right',_A,_B,' '|_G: [o|_H: [x|_D]]],
  12.      ['x move right',_A,' ',x|_G],
  13.      ['o jump left ',_A,_I: o,_J: x,' '|_H],
  14.      ['o jump left ',_A,_I,_J,_K: o,_L: x,' '|_E],
  15.      ['o move left ',_A,_I,_J,_K,_L,o,' '|_F],
  16.      ['x jump right',_A,_I,_J,_K,' '|_M: [o|_N: [x|_F]]],
  17.      ['x jump right',_A,_I,' '|_O: [o|_P: [x|_M]]],
  18.      ['x jump right',' ',o|_Q: [x|_O]],
  19.      ['o move left ',_R: o,' '|_Q],
  20.      ['o jump left ',_R,_S: o,_T: x,' '|_P],
  21.      ['o jump left ',_R,_S,_T,_U: o,x,' '|_N],
  22.      ['x move right',_R,_S,_T,_U,' '|_V: [x|_N]],
  23.      ['x jump right',_R,_S,' ',o|_W: [x|_V]],
  24.      ['o move left ',_R,_S,o,' '|_W]].
  25.  
  26. --1> 
  27. *** No
  28. > Profile : Added profiling code to predicate 'go' at goal level
  29.  
  30. *** Yes
  31. --1> Profile : Added profiling code to predicate 'move' at goal level
  32.  
  33. *** Yes
  34. ----2> 
  35. *** Yes
  36. S = [['Start       ',_A: x,_B: x,_C: x,' ',o|_D: [o|_E: [o|_F: []]]],
  37.      ['o move left ',_A,_B,_C,o,' '|_D],
  38.      ['x jump right',_A,_B,' '|_G: [o|_H: [x|_D]]],
  39.      ['x move right',_A,' ',x|_G],
  40.      ['o jump left ',_A,_I: o,_J: x,' '|_H],
  41.      ['o jump left ',_A,_I,_J,_K: o,_L: x,' '|_E],
  42.      ['o move left ',_A,_I,_J,_K,_L,o,' '|_F],
  43.      ['x jump right',_A,_I,_J,_K,' '|_M: [o|_N: [x|_F]]],
  44.      ['x jump right',_A,_I,' '|_O: [o|_P: [x|_M]]],
  45.      ['x jump right',' ',o|_Q: [x|_O]],
  46.      ['o move left ',_R: o,' '|_Q],
  47.      ['o jump left ',_R,_S: o,_T: x,' '|_P],
  48.      ['o jump left ',_R,_S,_T,_U: o,x,' '|_N],
  49.      ['x move right',_R,_S,_T,_U,' '|_V: [x|_N]],
  50.      ['x jump right',_R,_S,' ',o|_W: [x|_V]],
  51.      ['o move left ',_R,_S,o,' '|_W]].
  52.  
  53. ------3> > 
  54. Profiling statistics for predicates :
  55. -----------------------------------
  56.  
  57.   *Tries*    Entries    Success   %Tot.fail %Expl.fail   predicates
  58.    288         ---       125        83.33      62.50     move
  59.     37         ---        16        56.75      56.75     go
  60.  
  61.   *Tries*    Entries    Success   %Tot.fail %Expl.fail   predicates
  62.     37          1          1          0          0       go#1
  63.     36         36         15        58.33      58.33     go#2
  64.    288        252         89        86.90      68.65     move#1
  65.    255          7          7        71.42        0       move#2
  66.    253         13         13        69.23        0       move#3
  67.    249          8          8        37.50        0       move#4
  68.    244          8          8         50          0       move#5
  69.  
  70.    Tries    *Entries*   Success   %Tot.fail %Expl.fail   predicates
  71.     36         36         15        58.33      58.33     go#2
  72.     37          1          1          0          0       go#1
  73.    288        252         89        86.90      68.65     move#1
  74.    253         13         13        69.23        0       move#3
  75.    249          8          8        37.50        0       move#4
  76.    244          8          8         50          0       move#5
  77.    255          7          7        71.42        0       move#2
  78.  
  79.    Tries     Entries   *Success*  %Tot.fail %Expl.fail   predicates
  80.     36         36         15        58.33      58.33     go#2
  81.     37          1          1          0          0       go#1
  82.    288        252         89        86.90      68.65     move#1
  83.    253         13         13        69.23        0       move#3
  84.    249          8          8        37.50        0       move#4
  85.    244          8          8         50          0       move#5
  86.    255          7          7        71.42        0       move#2
  87.  
  88.  
  89. *** Yes
  90. > Profile : Added profiling code to predicate 'move' at clause level
  91.  
  92. *** Yes
  93. --1> 
  94. *** Yes
  95. S = [['Start       ',_A: x,_B: x,_C: x,' ',o|_D: [o|_E: [o|_F: []]]],
  96.      ['o move left ',_A,_B,_C,o,' '|_D],
  97.      ['x jump right',_A,_B,' '|_G: [o|_H: [x|_D]]],
  98.      ['x move right',_A,' ',x|_G],
  99.      ['o jump left ',_A,_I: o,_J: x,' '|_H],
  100.      ['o jump left ',_A,_I,_J,_K: o,_L: x,' '|_E],
  101.      ['o move left ',_A,_I,_J,_K,_L,o,' '|_F],
  102.      ['x jump right',_A,_I,_J,_K,' '|_M: [o|_N: [x|_F]]],
  103.      ['x jump right',_A,_I,' '|_O: [o|_P: [x|_M]]],
  104.      ['x jump right',' ',o|_Q: [x|_O]],
  105.      ['o move left ',_R: o,' '|_Q],
  106.      ['o jump left ',_R,_S: o,_T: x,' '|_P],
  107.      ['o jump left ',_R,_S,_T,_U: o,x,' '|_N],
  108.      ['x move right',_R,_S,_T,_U,' '|_V: [x|_N]],
  109.      ['x jump right',_R,_S,' ',o|_W: [x|_V]],
  110.      ['o move left ',_R,_S,o,' '|_W]].
  111.  
  112. ----2> 
  113. Profiling statistics for predicates :
  114. -----------------------------------
  115.  
  116.   *Tries*    Entries    Success   %Tot.fail %Expl.fail   predicates
  117.    288         ---       125        83.33      62.50     move
  118.     74         ---        32        56.75      56.75     go
  119.  
  120.   *Tries*    Entries    Success   %Tot.fail %Expl.fail   predicates
  121.     74          2          2          0          0       go#1
  122.     72         72         30        58.33      58.33     go#2
  123.    288        252         89        86.90      68.65     move#1
  124.    255          7          7        71.42        0       move#2
  125.    253         13         13        69.23        0       move#3
  126.    249          8          8        37.50        0       move#4
  127.    244          8          8         50          0       move#5
  128.  
  129.    Tries    *Entries*   Success   %Tot.fail %Expl.fail   predicates
  130.     72         72         30        58.33      58.33     go#2
  131.     74          2          2          0          0       go#1
  132.    288        252         89        86.90      68.65     move#1
  133.    253         13         13        69.23        0       move#3
  134.    249          8          8        37.50        0       move#4
  135.    244          8          8         50          0       move#5
  136.    255          7          7        71.42        0       move#2
  137.  
  138.    Tries     Entries   *Success*  %Tot.fail %Expl.fail   predicates
  139.     72         72         30        58.33      58.33     go#2
  140.     74          2          2          0          0       go#1
  141.    288        252         89        86.90      68.65     move#1
  142.    253         13         13        69.23        0       move#3
  143.    249          8          8        37.50        0       move#4
  144.    244          8          8         50          0       move#5
  145.    255          7          7        71.42        0       move#2
  146.  
  147.  
  148. *** Yes
  149. S = [['Start       ',_A: x,_B: x,_C: x,' ',o|_D: [o|_E: [o|_F: []]]],
  150.      ['o move left ',_A,_B,_C,o,' '|_D],
  151.      ['x jump right',_A,_B,' '|_G: [o|_H: [x|_D]]],
  152.      ['x move right',_A,' ',x|_G],
  153.      ['o jump left ',_A,_I: o,_J: x,' '|_H],
  154.      ['o jump left ',_A,_I,_J,_K: o,_L: x,' '|_E],
  155.      ['o move left ',_A,_I,_J,_K,_L,o,' '|_F],
  156.      ['x jump right',_A,_I,_J,_K,' '|_M: [o|_N: [x|_F]]],
  157.      ['x jump right',_A,_I,' '|_O: [o|_P: [x|_M]]],
  158.      ['x jump right',' ',o|_Q: [x|_O]],
  159.      ['o move left ',_R: o,' '|_Q],
  160.      ['o jump left ',_R,_S: o,_T: x,' '|_P],
  161.      ['o jump left ',_R,_S,_T,_U: o,x,' '|_N],
  162.      ['x move right',_R,_S,_T,_U,' '|_V: [x|_N]],
  163.      ['x jump right',_R,_S,' ',o|_W: [x|_V]],
  164.      ['o move left ',_R,_S,o,' '|_W]].
  165.  
  166. ----2> Profile : restored original clauses for predicate 'move'
  167. Profile : restored original clauses for predicate 'go'
  168.  
  169. *** Yes
  170. S = [['Start       ',_A: x,_B: x,_C: x,' ',o|_D: [o|_E: [o|_F: []]]],
  171.      ['o move left ',_A,_B,_C,o,' '|_D],
  172.      ['x jump right',_A,_B,' '|_G: [o|_H: [x|_D]]],
  173.      ['x move right',_A,' ',x|_G],
  174.      ['o jump left ',_A,_I: o,_J: x,' '|_H],
  175.      ['o jump left ',_A,_I,_J,_K: o,_L: x,' '|_E],
  176.      ['o move left ',_A,_I,_J,_K,_L,o,' '|_F],
  177.      ['x jump right',_A,_I,_J,_K,' '|_M: [o|_N: [x|_F]]],
  178.      ['x jump right',_A,_I,' '|_O: [o|_P: [x|_M]]],
  179.      ['x jump right',' ',o|_Q: [x|_O]],
  180.      ['o move left ',_R: o,' '|_Q],
  181.      ['o jump left ',_R,_S: o,_T: x,' '|_P],
  182.      ['o jump left ',_R,_S,_T,_U: o,x,' '|_N],
  183.      ['x move right',_R,_S,_T,_U,' '|_V: [x|_N]],
  184.      ['x jump right',_R,_S,' ',o|_W: [x|_V]],
  185.      ['o move left ',_R,_S,o,' '|_W]].
  186.  
  187. ------3> > 
  188. dynamic(move)?
  189. move([_A|_B],[_A|_C],_D) :-
  190.         move(_B,_C,_D).
  191. move([x,' '|_A],[' ',x|_A],'x move right') :-
  192.         succeed.
  193. move([' ',o|_A],[o,' '|_A],'o move left ') :-
  194.         succeed.
  195. move([x,o,' '|_A],[' ',o,x|_A],'x jump right') :-
  196.         succeed.
  197. move([' ',x,o|_A],[o,x,' '|_A],'o jump left ') :-
  198.         succeed.
  199.  
  200. dynamic(go)?
  201. go(_A,_A,[]) :-
  202.         succeed.
  203. go(_A,_B,[[_C|_D]|_E]) :-
  204.         move(_A,_D,_C),
  205.         go(_D,_B,_E).
  206.  
  207. *** Yes
  208.