home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / brklyprl.lha / Emulator / Benchmarks / qs4.w < prev    next >
Encoding:
Text File  |  1989-04-14  |  3.1 KB  |  197 lines

  1. procedure  main/0
  2.  
  3. _836:
  4.     init  Y1
  5.     put_variable_y  Y2,X1
  6.     call  list50/1,2
  7.     put_nil  X3
  8.     put_unsafe_value  Y2,X1
  9.     put_variable_y  Y1,X2
  10.     call  qsort/3,1
  11.     put_unsafe_value  Y1,X1
  12.     escape  write/1
  13.     escape  nl/0
  14.     proceed
  15.  
  16.  
  17. procedure  qsort/3
  18.  
  19.     switch_on_term  _1653,_1654,fail
  20. _1659:
  21.     try_me_else  _1664,3
  22. _1654:
  23.     init  Y3
  24.     get_variable_y  Y1,X2
  25.     get_variable_y  Y5,X3
  26.     get_list  X1
  27.     unify_variable_y  Y4
  28.     unify_variable_x  X1
  29.     put_value_y  Y4,X2
  30.     put_variable_y  Y2,X3
  31.     put_variable_y  Y6,X4
  32.     call  partition/4,6
  33.     put_unsafe_value  Y6,X1
  34.     put_variable_y  Y3,X2
  35.     put_value_y  Y5,X3
  36.     call  qsort/3,4
  37.     put_list  X3
  38.     unify_value_write_y  Y4
  39.     unify_variable_write_x  X8
  40.     get_value_y  Y3,X8
  41.     put_unsafe_value  Y2,X1
  42.     put_value_y  Y1,X2
  43.     execute_proc  qsort/3
  44. _1664:
  45.     trust_me_else  fail
  46. _1653:
  47.     get_value_x  X2,X3
  48.     get_nil  X1
  49.     proceed
  50.  
  51.  
  52. procedure  partition/4
  53.  
  54.     switch_on_term  _3537,_3538,fail
  55. _3543:
  56.     try_me_else  _3548,4
  57. _3552:
  58.     get_list  X1
  59.     unify_variable_x  X1
  60.     unify_variable_x  X5
  61.     get_list  X3
  62.     unify_value_x  X1
  63.     unify_variable_x  X3
  64.     escape  </2
  65.     cut
  66.     put_value_x  X5,X1
  67.     execute_proc  partition/4
  68. _3548:
  69.     retry_me_else  _3626
  70. _3630:
  71.     get_list  X1
  72.     unify_variable_x  X5
  73.     unify_variable_x  X1
  74.     get_list  X4
  75.     unify_value_x  X5
  76.     unify_variable_x  X4
  77.     execute_proc  partition/4
  78. _3626:
  79.     trust_me_else  fail
  80. _3537:
  81.     get_nil  X1
  82.     get_nil  X3
  83.     get_nil  X4
  84.     proceed
  85. _3538:
  86.     try  _3552,4
  87.     trust  _3630
  88.  
  89.  
  90. procedure  list50/1
  91.  
  92. _4358:
  93.     get_list  X1
  94.     unify_constant  &27
  95.     get_cdr_list
  96.     unify_constant  &74
  97.     get_cdr_list
  98.     unify_constant  &17
  99.     get_cdr_list
  100.     unify_constant  &33
  101.     get_cdr_list
  102.     unify_constant  &94
  103.     get_cdr_list
  104.     unify_constant  &18
  105.     get_cdr_list
  106.     unify_constant  &46
  107.     get_cdr_list
  108.     unify_constant  &83
  109.     get_cdr_list
  110.     unify_constant  &65
  111.     get_cdr_list
  112.     unify_constant  &2
  113.     get_cdr_list
  114.     unify_constant  &32
  115.     get_cdr_list
  116.     unify_constant  &53
  117.     get_cdr_list
  118.     unify_constant  &28
  119.     get_cdr_list
  120.     unify_constant  &85
  121.     get_cdr_list
  122.     unify_constant  &99
  123.     get_cdr_list
  124.     unify_constant  &47
  125.     get_cdr_list
  126.     unify_constant  &28
  127.     get_cdr_list
  128.     unify_constant  &82
  129.     get_cdr_list
  130.     unify_constant  &6
  131.     get_cdr_list
  132.     unify_constant  &11
  133.     get_cdr_list
  134.     unify_constant  &55
  135.     get_cdr_list
  136.     unify_constant  &29
  137.     get_cdr_list
  138.     unify_constant  &39
  139.     get_cdr_list
  140.     unify_constant  &81
  141.     get_cdr_list
  142.     unify_constant  &90
  143.     get_cdr_list
  144.     unify_constant  &37
  145.     get_cdr_list
  146.     unify_constant  &10
  147.     get_cdr_list
  148.     unify_constant  &0
  149.     get_cdr_list
  150.     unify_constant  &66
  151.     get_cdr_list
  152.     unify_constant  &51
  153.     get_cdr_list
  154.     unify_constant  &7
  155.     get_cdr_list
  156.     unify_constant  &21
  157.     get_cdr_list
  158.     unify_constant  &85
  159.     get_cdr_list
  160.     unify_constant  &27
  161.     get_cdr_list
  162.     unify_constant  &31
  163.     get_cdr_list
  164.     unify_constant  &63
  165.     get_cdr_list
  166.     unify_constant  &75
  167.     get_cdr_list
  168.     unify_constant  &4
  169.     get_cdr_list
  170.     unify_constant  &95
  171.     get_cdr_list
  172.     unify_constant  &99
  173.     get_cdr_list
  174.     unify_constant  &11
  175.     get_cdr_list
  176.     unify_constant  &28
  177.     get_cdr_list
  178.     unify_constant  &61
  179.     get_cdr_list
  180.     unify_constant  &74
  181.     get_cdr_list
  182.     unify_constant  &18
  183.     get_cdr_list
  184.     unify_constant  &92
  185.     get_cdr_list
  186.     unify_constant  &40
  187.     get_cdr_list
  188.     unify_constant  &53
  189.     get_cdr_list
  190.     unify_constant  &59
  191.     get_cdr_list
  192.     unify_constant  &8
  193.     unify_nil
  194.     proceed
  195.  
  196.  
  197.