test._old_ 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. .insrt clusys;alpha >
  2. cluster
  3. st.cod==0 ; tvec+5
  4. st.eq==1 ; equal hash chain
  5. st.lt==2 ; lesser hash tree
  6. st.gt==3 ; greater hash tree
  7. st.ha==4 ; hash code
  8. st..==5
  9. se.cod==0 ; tvec+4
  10. se.nxt==1 ; next equal hash item (se.nxt==st.eq)
  11. se.nam==2 ; string
  12. se.val==3 ; value
  13. se..==4
  14. proc tst,[],[cnt,disp],[tint,0]
  15. $for all,rr,call %table$entries,1,[$mtab]
  16. skipe 1(rr)
  17. aos cnt(er)
  18. $rof all
  19. $rtn cnt(er)
  20. corp collisions
  21. proc max
  22. call dive,1,[$mtab]
  23. $rtn rr
  24. corp max_depth
  25. proc dive,[table]
  26. move r0,table(er)
  27. $crtnc r0,e,$zero
  28. call dive,1,[st.lt(r0)]
  29. push sp,rr
  30. move r0,table(er)
  31. call dive,1,[st.gt(r0)]
  32. pop sp,r0
  33. camle r0,rr
  34. exch r0,rr
  35. aos rr
  36. $rtn rr
  37. corp dive,[table]
  38. proc items
  39. call count_items,1,[$mtab]
  40. $rtn rr
  41. corp items
  42. proc cntit,[table]
  43. move r0,table(er)
  44. $crtnc r0,e,$zero
  45. call count_items,1,[st.lt(r0)]
  46. push sp,rr
  47. move r0,table(er)
  48. call count_items,1,[st.gt(r0)]
  49. pop sp,r0
  50. hrrz r0,r0
  51. add rr,r0
  52. move r0,table(er)
  53. $loop
  54. skipn r0,st.eq(r0)
  55. $rtn rr
  56. aos rr
  57. $pool
  58. $rtn rr
  59. corp count_items,[table]
  60. retsulc
  61. .insrt clusys;omega >