Advertisement
Variouscacti

Old Square Root Function Hypixel Housing

Apr 19th, 2023 (edited)
1,171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | Gaming | 0 0
  1. //by Variouscacti, with help from Anotherslime
  2.  
  3. //How to Use:
  4. //Name function "sqrt" for compatibility with my other functions
  5. //Input a value to the stat "sqrtInput", where 0 < input <= 100,000,000,000,000,000 (10^17, 100 quadrillion)
  6. //Output will be in the stat "sqrtOutput" (Note: Input and output are integers, so for more accuracy, multiply input by x^2, and output/x will be the intended output. For example, sqrt(2) = 1, but sqrt(2*1,000,000) = 1,414)
  7.  
  8. //Desmos graph: https://www.desmos.com/calculator/hdo97titz1
  9. //Source for estimation: https://en.wikipedia.org/wiki/Methods_of_computing_square_roots (Modified version of Bakhshali method used)
  10.  
  11. //Enjoy!
  12.  
  13. //check input
  14. if and (stat sqrtInput > 0, stat sqrtInput <= 100000000000000000) {
  15. stat sqrtTemp0 = %stat.player/sqrtInput%
  16. } else {
  17. chat "Error! Invalid sqrt input!"
  18. exit
  19. }
  20.  
  21. //keep input near seed
  22. if and (stat sqrtInput >= 10000000000) {
  23. stat sqrtRefine = 1000
  24. stat sqrtInput *= 50
  25. } else {
  26. stat sqrtRefine = 1
  27. stat sqrtInput *= 50000000
  28. }
  29.  
  30. //iteration 1
  31. if and () {
  32. stat sqrtTemp0 /= 20
  33. stat sqrtTemp0 /= %stat.player/sqrtRefine%
  34. stat sqrtTemp0 /= %stat.player/sqrtRefine%
  35. stat sqrtTemp0 -= 5000000
  36. stat sqrtTemp1 = 10000000
  37. }
  38. if and () {
  39. stat sqrtTemp1 += %stat.player/sqrtTemp0%
  40. stat sqrtTemp0 *= %stat.player/sqrtTemp0%
  41. stat sqrtTemp0 /= 2
  42. stat sqrtTemp0 /= %stat.player/sqrtTemp1%
  43. stat sqrtTemp1 -= %stat.player/sqrtTemp0%
  44. }
  45.  
  46. //iterations 2-5
  47. if and () {
  48. stat sqrtTemp0 = %stat.player/sqrtInput%
  49. stat sqrtTemp0 /= %stat.player/sqrtTemp1%
  50. stat sqrtTemp2 = %stat.player/sqrtTemp1%
  51. stat sqrtTemp2 /= 2
  52. stat sqrtTemp0 -= %stat.player/sqrtTemp2%
  53. }
  54. if and () {
  55. stat sqrtTemp1 += %stat.player/sqrtTemp0%
  56. stat sqrtTemp0 *= %stat.player/sqrtTemp0%
  57. stat sqrtTemp0 /= 2
  58. stat sqrtTemp0 /= %stat.player/sqrtTemp1%
  59. stat sqrtTemp1 -= %stat.player/sqrtTemp0%
  60. }
  61. if and () {
  62. stat sqrtTemp0 = %stat.player/sqrtInput%
  63. stat sqrtTemp0 /= %stat.player/sqrtTemp1%
  64. stat sqrtTemp2 = %stat.player/sqrtTemp1%
  65. stat sqrtTemp2 /= 2
  66. stat sqrtTemp0 -= %stat.player/sqrtTemp2%
  67. }
  68. if and () {
  69. stat sqrtTemp1 += %stat.player/sqrtTemp0%
  70. stat sqrtTemp0 *= %stat.player/sqrtTemp0%
  71. stat sqrtTemp0 /= 2
  72. stat sqrtTemp0 /= %stat.player/sqrtTemp1%
  73. stat sqrtTemp1 -= %stat.player/sqrtTemp0%
  74. }
  75. if and () {
  76. stat sqrtTemp0 = %stat.player/sqrtInput%
  77. stat sqrtTemp0 /= %stat.player/sqrtTemp1%
  78. stat sqrtTemp2 = %stat.player/sqrtTemp1%
  79. stat sqrtTemp2 /= 2
  80. stat sqrtTemp0 -= %stat.player/sqrtTemp2%
  81. }
  82. if and () {
  83. stat sqrtTemp1 += %stat.player/sqrtTemp0%
  84. stat sqrtTemp0 *= %stat.player/sqrtTemp0%
  85. stat sqrtTemp0 /= 2
  86. stat sqrtTemp0 /= %stat.player/sqrtTemp1%
  87. stat sqrtTemp1 -= %stat.player/sqrtTemp0%
  88. }
  89. if and () {
  90. stat sqrtTemp0 = %stat.player/sqrtInput%
  91. stat sqrtTemp0 /= %stat.player/sqrtTemp1%
  92. stat sqrtTemp2 = %stat.player/sqrtTemp1%
  93. stat sqrtTemp2 /= 2
  94. stat sqrtTemp0 -= %stat.player/sqrtTemp2%
  95. }
  96. if and () {
  97. stat sqrtTemp1 += %stat.player/sqrtTemp0%
  98. stat sqrtTemp0 *= %stat.player/sqrtTemp0%
  99. stat sqrtTemp0 /= 2
  100. stat sqrtTemp0 /= %stat.player/sqrtTemp1%
  101. stat sqrtTemp1 -= %stat.player/sqrtTemp0%
  102. }
  103.  
  104. //get final result
  105. if and () {
  106. stat sqrtTemp1 *= %stat.player/sqrtRefine%
  107. stat sqrtTemp1 += 5000
  108. stat sqrtTemp1 /= 10000
  109. stat sqrtOutput = %stat.player/sqrtTemp1%
  110. }
  111.  
  112. //cleanup
  113. if and () {
  114. stat sqrtTemp0 = 0
  115. stat sqrtTemp1 = 0
  116. stat sqrtTemp2 = 0
  117. stat sqrtRefine = 0
  118. stat sqrtInput = 0
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement