data-structure-typed 1.21.3 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/.auto-changelog +9 -0
  2. package/.auto-changelog-template.hbs +36 -0
  3. package/.eslintrc.js +61 -0
  4. package/.github/workflows/ci.yml +30 -0
  5. package/.prettierignore +6 -0
  6. package/.prettierrc.js +16 -0
  7. package/CHANGELOG.md +17 -0
  8. package/README.md +150 -98
  9. package/dist/data-structures/binary-tree/aa-tree.js +6 -2
  10. package/dist/data-structures/binary-tree/aa-tree.js.map +1 -0
  11. package/dist/data-structures/binary-tree/abstract-binary-tree.js +398 -672
  12. package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -0
  13. package/dist/data-structures/binary-tree/avl-tree.js +122 -151
  14. package/dist/data-structures/binary-tree/avl-tree.js.map +1 -0
  15. package/dist/data-structures/binary-tree/b-tree.js +6 -2
  16. package/dist/data-structures/binary-tree/b-tree.js.map +1 -0
  17. package/dist/data-structures/binary-tree/binary-indexed-tree.js +24 -54
  18. package/dist/data-structures/binary-tree/binary-indexed-tree.js.map +1 -0
  19. package/dist/data-structures/binary-tree/binary-tree.js +31 -32
  20. package/dist/data-structures/binary-tree/binary-tree.js.map +1 -0
  21. package/dist/data-structures/binary-tree/bst.js +266 -208
  22. package/dist/data-structures/binary-tree/bst.js.map +1 -0
  23. package/dist/data-structures/binary-tree/index.js +1 -0
  24. package/dist/data-structures/binary-tree/index.js.map +1 -0
  25. package/dist/data-structures/binary-tree/rb-tree.js +46 -37
  26. package/dist/data-structures/binary-tree/rb-tree.js.map +1 -0
  27. package/dist/data-structures/binary-tree/segment-tree.js +124 -127
  28. package/dist/data-structures/binary-tree/segment-tree.js.map +1 -0
  29. package/dist/data-structures/binary-tree/splay-tree.js +6 -2
  30. package/dist/data-structures/binary-tree/splay-tree.js.map +1 -0
  31. package/dist/data-structures/binary-tree/tree-multiset.js +227 -354
  32. package/dist/data-structures/binary-tree/tree-multiset.js.map +1 -0
  33. package/dist/data-structures/binary-tree/two-three-tree.js +6 -2
  34. package/dist/data-structures/binary-tree/two-three-tree.js.map +1 -0
  35. package/dist/data-structures/graph/abstract-graph.js +582 -609
  36. package/dist/data-structures/graph/abstract-graph.js.map +1 -0
  37. package/dist/data-structures/graph/directed-graph.js +276 -312
  38. package/dist/data-structures/graph/directed-graph.js.map +1 -0
  39. package/dist/data-structures/graph/index.js +1 -0
  40. package/dist/data-structures/graph/index.js.map +1 -0
  41. package/dist/data-structures/graph/map-graph.js +88 -100
  42. package/dist/data-structures/graph/map-graph.js.map +1 -0
  43. package/dist/data-structures/graph/undirected-graph.js +180 -195
  44. package/dist/data-structures/graph/undirected-graph.js.map +1 -0
  45. package/dist/data-structures/hash/coordinate-map.js +46 -58
  46. package/dist/data-structures/hash/coordinate-map.js.map +1 -0
  47. package/dist/data-structures/hash/coordinate-set.js +43 -48
  48. package/dist/data-structures/hash/coordinate-set.js.map +1 -0
  49. package/dist/data-structures/hash/hash-table.js +6 -2
  50. package/dist/data-structures/hash/hash-table.js.map +1 -0
  51. package/dist/data-structures/hash/index.js +1 -0
  52. package/dist/data-structures/hash/index.js.map +1 -0
  53. package/dist/data-structures/hash/pair.js +6 -2
  54. package/dist/data-structures/hash/pair.js.map +1 -0
  55. package/dist/data-structures/hash/tree-map.js +6 -2
  56. package/dist/data-structures/hash/tree-map.js.map +1 -0
  57. package/dist/data-structures/hash/tree-set.js +6 -2
  58. package/dist/data-structures/hash/tree-set.js.map +1 -0
  59. package/dist/data-structures/heap/heap.js +83 -120
  60. package/dist/data-structures/heap/heap.js.map +1 -0
  61. package/dist/data-structures/heap/index.js +1 -0
  62. package/dist/data-structures/heap/index.js.map +1 -0
  63. package/dist/data-structures/heap/max-heap.js +27 -24
  64. package/dist/data-structures/heap/max-heap.js.map +1 -0
  65. package/dist/data-structures/heap/min-heap.js +27 -25
  66. package/dist/data-structures/heap/min-heap.js.map +1 -0
  67. package/dist/data-structures/index.js +1 -0
  68. package/dist/data-structures/index.js.map +1 -0
  69. package/dist/data-structures/linked-list/doubly-linked-list.js +202 -307
  70. package/dist/data-structures/linked-list/doubly-linked-list.js.map +1 -0
  71. package/dist/data-structures/linked-list/index.js +1 -0
  72. package/dist/data-structures/linked-list/index.js.map +1 -0
  73. package/dist/data-structures/linked-list/singly-linked-list.js +223 -251
  74. package/dist/data-structures/linked-list/singly-linked-list.js.map +1 -0
  75. package/dist/data-structures/linked-list/skip-linked-list.js +6 -2
  76. package/dist/data-structures/linked-list/skip-linked-list.js.map +1 -0
  77. package/dist/data-structures/matrix/index.js +1 -0
  78. package/dist/data-structures/matrix/index.js.map +1 -0
  79. package/dist/data-structures/matrix/matrix.js +9 -22
  80. package/dist/data-structures/matrix/matrix.js.map +1 -0
  81. package/dist/data-structures/matrix/matrix2d.js +75 -149
  82. package/dist/data-structures/matrix/matrix2d.js.map +1 -0
  83. package/dist/data-structures/matrix/navigator.js +38 -46
  84. package/dist/data-structures/matrix/navigator.js.map +1 -0
  85. package/dist/data-structures/matrix/vector2d.js +90 -254
  86. package/dist/data-structures/matrix/vector2d.js.map +1 -0
  87. package/dist/data-structures/priority-queue/index.js +1 -0
  88. package/dist/data-structures/priority-queue/index.js.map +1 -0
  89. package/dist/data-structures/priority-queue/max-priority-queue.js +47 -32
  90. package/dist/data-structures/priority-queue/max-priority-queue.js.map +1 -0
  91. package/dist/data-structures/priority-queue/min-priority-queue.js +47 -33
  92. package/dist/data-structures/priority-queue/min-priority-queue.js.map +1 -0
  93. package/dist/data-structures/priority-queue/priority-queue.js +150 -241
  94. package/dist/data-structures/priority-queue/priority-queue.js.map +1 -0
  95. package/dist/data-structures/queue/deque.js +130 -162
  96. package/dist/data-structures/queue/deque.js.map +1 -0
  97. package/dist/data-structures/queue/index.js +1 -0
  98. package/dist/data-structures/queue/index.js.map +1 -0
  99. package/dist/data-structures/queue/queue.js +181 -100
  100. package/dist/data-structures/queue/queue.js.map +1 -0
  101. package/dist/data-structures/stack/index.js +1 -0
  102. package/dist/data-structures/stack/index.js.map +1 -0
  103. package/dist/data-structures/stack/stack.js +23 -71
  104. package/dist/data-structures/stack/stack.js.map +1 -0
  105. package/dist/data-structures/tree/index.js +1 -0
  106. package/dist/data-structures/tree/index.js.map +1 -0
  107. package/dist/data-structures/tree/tree.js +46 -33
  108. package/dist/data-structures/tree/tree.js.map +1 -0
  109. package/dist/data-structures/trie/index.js +1 -0
  110. package/dist/data-structures/trie/index.js.map +1 -0
  111. package/dist/data-structures/trie/trie.js +201 -129
  112. package/dist/data-structures/trie/trie.js.map +1 -0
  113. package/dist/index.js +1 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/interfaces/abstract-binary-tree.js +1 -0
  116. package/dist/interfaces/abstract-binary-tree.js.map +1 -0
  117. package/dist/interfaces/abstract-graph.js +1 -0
  118. package/dist/interfaces/abstract-graph.js.map +1 -0
  119. package/dist/interfaces/avl-tree.js +1 -0
  120. package/dist/interfaces/avl-tree.js.map +1 -0
  121. package/dist/interfaces/binary-tree.js +1 -0
  122. package/dist/interfaces/binary-tree.js.map +1 -0
  123. package/dist/interfaces/bst.js +1 -0
  124. package/dist/interfaces/bst.js.map +1 -0
  125. package/dist/interfaces/directed-graph.js +1 -0
  126. package/dist/interfaces/directed-graph.js.map +1 -0
  127. package/dist/interfaces/doubly-linked-list.js +1 -0
  128. package/dist/interfaces/doubly-linked-list.js.map +1 -0
  129. package/dist/interfaces/heap.js +1 -0
  130. package/dist/interfaces/heap.js.map +1 -0
  131. package/dist/interfaces/index.js +1 -0
  132. package/dist/interfaces/index.js.map +1 -0
  133. package/dist/interfaces/navigator.js +1 -0
  134. package/dist/interfaces/navigator.js.map +1 -0
  135. package/dist/interfaces/priority-queue.js +1 -0
  136. package/dist/interfaces/priority-queue.js.map +1 -0
  137. package/dist/interfaces/rb-tree.js +1 -0
  138. package/dist/interfaces/rb-tree.js.map +1 -0
  139. package/dist/interfaces/segment-tree.js +1 -0
  140. package/dist/interfaces/segment-tree.js.map +1 -0
  141. package/dist/interfaces/singly-linked-list.js +1 -0
  142. package/dist/interfaces/singly-linked-list.js.map +1 -0
  143. package/dist/interfaces/tree-multiset.js +1 -0
  144. package/dist/interfaces/tree-multiset.js.map +1 -0
  145. package/dist/interfaces/undirected-graph.js +1 -0
  146. package/dist/interfaces/undirected-graph.js.map +1 -0
  147. package/dist/types/data-structures/abstract-binary-tree.js +1 -7
  148. package/dist/types/data-structures/abstract-binary-tree.js.map +1 -0
  149. package/dist/types/data-structures/abstract-graph.js +1 -0
  150. package/dist/types/data-structures/abstract-graph.js.map +1 -0
  151. package/dist/types/data-structures/avl-tree.js +1 -0
  152. package/dist/types/data-structures/avl-tree.js.map +1 -0
  153. package/dist/types/data-structures/binary-tree.js +1 -0
  154. package/dist/types/data-structures/binary-tree.js.map +1 -0
  155. package/dist/types/data-structures/bst.js +1 -0
  156. package/dist/types/data-structures/bst.js.map +1 -0
  157. package/dist/types/data-structures/directed-graph.js +1 -0
  158. package/dist/types/data-structures/directed-graph.js.map +1 -0
  159. package/dist/types/data-structures/doubly-linked-list.js +1 -0
  160. package/dist/types/data-structures/doubly-linked-list.js.map +1 -0
  161. package/dist/types/data-structures/heap.js +1 -0
  162. package/dist/types/data-structures/heap.js.map +1 -0
  163. package/dist/types/data-structures/index.js +1 -0
  164. package/dist/types/data-structures/index.js.map +1 -0
  165. package/dist/types/data-structures/map-graph.js +1 -0
  166. package/dist/types/data-structures/map-graph.js.map +1 -0
  167. package/dist/types/data-structures/navigator.js +1 -0
  168. package/dist/types/data-structures/navigator.js.map +1 -0
  169. package/dist/types/data-structures/priority-queue.js +1 -0
  170. package/dist/types/data-structures/priority-queue.js.map +1 -0
  171. package/dist/types/data-structures/rb-tree.js +1 -0
  172. package/dist/types/data-structures/rb-tree.js.map +1 -0
  173. package/dist/types/data-structures/segment-tree.js +1 -0
  174. package/dist/types/data-structures/segment-tree.js.map +1 -0
  175. package/dist/types/data-structures/singly-linked-list.js +1 -0
  176. package/dist/types/data-structures/singly-linked-list.js.map +1 -0
  177. package/dist/types/data-structures/tree-multiset.js +1 -0
  178. package/dist/types/data-structures/tree-multiset.js.map +1 -0
  179. package/dist/types/helpers.js +1 -0
  180. package/dist/types/helpers.js.map +1 -0
  181. package/dist/types/index.js +1 -0
  182. package/dist/types/index.js.map +1 -0
  183. package/dist/types/utils/index.js +1 -0
  184. package/dist/types/utils/index.js.map +1 -0
  185. package/dist/types/utils/utils.js +1 -0
  186. package/dist/types/utils/utils.js.map +1 -0
  187. package/dist/types/utils/validate-type.js +1 -0
  188. package/dist/types/utils/validate-type.js.map +1 -0
  189. package/dist/utils/index.js +1 -0
  190. package/dist/utils/index.js.map +1 -0
  191. package/dist/utils/utils.js +108 -22
  192. package/dist/utils/utils.js.map +1 -0
  193. package/docs/.nojekyll +1 -0
  194. package/docs/assets/highlight.css +127 -0
  195. package/docs/assets/main.js +58 -0
  196. package/docs/assets/search.js +1 -0
  197. package/docs/assets/style.css +1367 -0
  198. package/docs/classes/AVLTree.html +2259 -0
  199. package/docs/classes/AVLTreeNode.html +399 -0
  200. package/docs/classes/AaTree.html +202 -0
  201. package/docs/classes/AbstractBinaryTree.html +1913 -0
  202. package/docs/classes/AbstractBinaryTreeNode.html +441 -0
  203. package/docs/classes/AbstractEdge.html +345 -0
  204. package/docs/classes/AbstractGraph.html +1105 -0
  205. package/docs/classes/AbstractVertex.html +299 -0
  206. package/docs/classes/ArrayDeque.html +469 -0
  207. package/docs/classes/BST.html +2103 -0
  208. package/docs/classes/BSTNode.html +400 -0
  209. package/docs/classes/BTree.html +202 -0
  210. package/docs/classes/BinaryIndexedTree.html +371 -0
  211. package/docs/classes/BinaryTree.html +1944 -0
  212. package/docs/classes/BinaryTreeNode.html +399 -0
  213. package/docs/classes/Character.html +250 -0
  214. package/docs/classes/CoordinateMap.html +513 -0
  215. package/docs/classes/CoordinateSet.html +474 -0
  216. package/docs/classes/Deque.html +1005 -0
  217. package/docs/classes/DirectedEdge.html +404 -0
  218. package/docs/classes/DirectedGraph.html +1530 -0
  219. package/docs/classes/DirectedVertex.html +286 -0
  220. package/docs/classes/DoublyLinkedList.html +998 -0
  221. package/docs/classes/DoublyLinkedListNode.html +327 -0
  222. package/docs/classes/HashTable.html +202 -0
  223. package/docs/classes/Heap.html +647 -0
  224. package/docs/classes/HeapItem.html +296 -0
  225. package/docs/classes/LinkedListQueue.html +884 -0
  226. package/docs/classes/MapEdge.html +391 -0
  227. package/docs/classes/MapGraph.html +1583 -0
  228. package/docs/classes/MapVertex.html +356 -0
  229. package/docs/classes/Matrix2D.html +532 -0
  230. package/docs/classes/MatrixNTI2D.html +270 -0
  231. package/docs/classes/MaxHeap.html +671 -0
  232. package/docs/classes/MaxPriorityQueue.html +866 -0
  233. package/docs/classes/MinHeap.html +672 -0
  234. package/docs/classes/MinPriorityQueue.html +868 -0
  235. package/docs/classes/Navigator.html +343 -0
  236. package/docs/classes/ObjectDeque.html +527 -0
  237. package/docs/classes/Pair.html +202 -0
  238. package/docs/classes/PriorityQueue.html +790 -0
  239. package/docs/classes/Queue.html +521 -0
  240. package/docs/classes/RBTree.html +2101 -0
  241. package/docs/classes/RBTreeNode.html +431 -0
  242. package/docs/classes/SegmentTree.html +464 -0
  243. package/docs/classes/SegmentTreeNode.html +387 -0
  244. package/docs/classes/SinglyLinkedList.html +830 -0
  245. package/docs/classes/SinglyLinkedListNode.html +300 -0
  246. package/docs/classes/SkipLinkedList.html +202 -0
  247. package/docs/classes/SplayTree.html +202 -0
  248. package/docs/classes/Stack.html +398 -0
  249. package/docs/classes/TreeMap.html +202 -0
  250. package/docs/classes/TreeMultiset.html +2587 -0
  251. package/docs/classes/TreeMultisetNode.html +447 -0
  252. package/docs/classes/TreeNode.html +344 -0
  253. package/docs/classes/TreeSet.html +202 -0
  254. package/docs/classes/Trie.html +402 -0
  255. package/docs/classes/TrieNode.html +310 -0
  256. package/docs/classes/TwoThreeTree.html +202 -0
  257. package/docs/classes/UndirectedEdge.html +374 -0
  258. package/docs/classes/UndirectedGraph.html +1285 -0
  259. package/docs/classes/UndirectedVertex.html +284 -0
  260. package/docs/classes/Vector2D.html +835 -0
  261. package/docs/enums/CP.html +211 -0
  262. package/docs/enums/FamilyPosition.html +239 -0
  263. package/docs/enums/LoopType.html +212 -0
  264. package/docs/enums/RBColor.html +204 -0
  265. package/docs/enums/TopologicalProperty.html +211 -0
  266. package/docs/functions/arrayRemove.html +208 -0
  267. package/docs/functions/isThunk.html +186 -0
  268. package/docs/functions/toThunk.html +186 -0
  269. package/docs/functions/trampoline.html +186 -0
  270. package/docs/functions/trampolineAsync.html +186 -0
  271. package/docs/functions/uuidV4.html +181 -0
  272. package/docs/index.html +693 -0
  273. package/docs/interfaces/IAVLTree.html +1245 -0
  274. package/docs/interfaces/IAbstractBinaryTree.html +1101 -0
  275. package/docs/interfaces/IAbstractBinaryTreeNode.html +335 -0
  276. package/docs/interfaces/IAbstractGraph.html +433 -0
  277. package/docs/interfaces/IBST.html +1245 -0
  278. package/docs/interfaces/IDirectedGraph.html +570 -0
  279. package/docs/interfaces/IRBTree.html +1247 -0
  280. package/docs/interfaces/IUNDirectedGraph.html +463 -0
  281. package/docs/modules.html +328 -0
  282. package/docs/types/AVLTreeNodeNested.html +182 -0
  283. package/docs/types/AVLTreeOptions.html +180 -0
  284. package/docs/types/AbstractBinaryTreeNodeNested.html +182 -0
  285. package/docs/types/AbstractBinaryTreeNodeProperties.html +182 -0
  286. package/docs/types/AbstractBinaryTreeNodeProperty.html +182 -0
  287. package/docs/types/AbstractBinaryTreeOptions.html +182 -0
  288. package/docs/types/BSTComparator.html +192 -0
  289. package/docs/types/BSTNodeNested.html +182 -0
  290. package/docs/types/BSTOptions.html +182 -0
  291. package/docs/types/BinaryTreeDeletedResult.html +189 -0
  292. package/docs/types/BinaryTreeNodeId.html +177 -0
  293. package/docs/types/BinaryTreeNodeNested.html +182 -0
  294. package/docs/types/BinaryTreeNodePropertyName.html +177 -0
  295. package/docs/types/BinaryTreeOptions.html +180 -0
  296. package/docs/types/DFSOrderPattern.html +177 -0
  297. package/docs/types/DijkstraResult.html +199 -0
  298. package/docs/types/Direction.html +177 -0
  299. package/docs/types/DummyAny.html +190 -0
  300. package/docs/types/EdgeId.html +177 -0
  301. package/docs/types/HeapOptions.html +198 -0
  302. package/docs/types/IAVLTreeNode.html +184 -0
  303. package/docs/types/IBSTNode.html +184 -0
  304. package/docs/types/IBinaryTree.html +182 -0
  305. package/docs/types/IBinaryTreeNode.html +184 -0
  306. package/docs/types/IRBTreeNode.html +184 -0
  307. package/docs/types/ITreeMultiset.html +182 -0
  308. package/docs/types/ITreeMultisetNode.html +184 -0
  309. package/docs/types/KeyValueObject.html +182 -0
  310. package/docs/types/KeyValueObjectWithId.html +184 -0
  311. package/docs/types/MapGraphCoordinate.html +177 -0
  312. package/docs/types/NavigatorParams.html +211 -0
  313. package/docs/types/NodeOrPropertyName.html +177 -0
  314. package/docs/types/NonNumberNonObjectButDefined.html +177 -0
  315. package/docs/types/ObjectWithNonNumberId.html +184 -0
  316. package/docs/types/ObjectWithNumberId.html +184 -0
  317. package/docs/types/ObjectWithoutId.html +177 -0
  318. package/docs/types/PriorityQueueComparator.html +197 -0
  319. package/docs/types/PriorityQueueDFSOrderPattern.html +177 -0
  320. package/docs/types/PriorityQueueOptions.html +191 -0
  321. package/docs/types/RBTreeNodeNested.html +182 -0
  322. package/docs/types/RBTreeOptions.html +180 -0
  323. package/docs/types/RestrictValById.html +177 -0
  324. package/docs/types/SegmentTreeNodeVal.html +177 -0
  325. package/docs/types/SpecifyOptional.html +184 -0
  326. package/docs/types/Thunk.html +185 -0
  327. package/docs/types/ToThunkFn.html +185 -0
  328. package/docs/types/TopologicalStatus.html +177 -0
  329. package/docs/types/TreeMultisetNodeNested.html +182 -0
  330. package/docs/types/TreeMultisetOptions.html +180 -0
  331. package/docs/types/TrlAsyncFn.html +190 -0
  332. package/docs/types/TrlFn.html +190 -0
  333. package/docs/types/Turning.html +177 -0
  334. package/docs/types/VertexId.html +177 -0
  335. package/docs/variables/THUNK_SYMBOL.html +177 -0
  336. package/jest.config.js +5 -0
  337. package/lib/data-structures/binary-tree/aa-tree.js +2 -0
  338. package/{dist → lib}/data-structures/binary-tree/abstract-binary-tree.d.ts +25 -20
  339. package/lib/data-structures/binary-tree/abstract-binary-tree.js +1307 -0
  340. package/{dist → lib}/data-structures/binary-tree/avl-tree.d.ts +12 -12
  341. package/lib/data-structures/binary-tree/avl-tree.js +311 -0
  342. package/lib/data-structures/binary-tree/b-tree.js +2 -0
  343. package/lib/data-structures/binary-tree/binary-indexed-tree.js +69 -0
  344. package/lib/data-structures/binary-tree/binary-tree.js +35 -0
  345. package/{dist → lib}/data-structures/binary-tree/bst.d.ts +19 -8
  346. package/lib/data-structures/binary-tree/bst.js +551 -0
  347. package/lib/data-structures/binary-tree/index.js +12 -0
  348. package/{dist → lib}/data-structures/binary-tree/rb-tree.d.ts +0 -6
  349. package/lib/data-structures/binary-tree/rb-tree.js +22 -0
  350. package/lib/data-structures/binary-tree/segment-tree.js +210 -0
  351. package/lib/data-structures/binary-tree/splay-tree.js +2 -0
  352. package/{dist → lib}/data-structures/binary-tree/tree-multiset.d.ts +20 -23
  353. package/lib/data-structures/binary-tree/tree-multiset.js +673 -0
  354. package/lib/data-structures/binary-tree/two-three-tree.js +2 -0
  355. package/lib/data-structures/graph/abstract-graph.js +918 -0
  356. package/lib/data-structures/graph/directed-graph.js +416 -0
  357. package/lib/data-structures/graph/index.js +4 -0
  358. package/lib/data-structures/graph/map-graph.js +105 -0
  359. package/lib/data-structures/graph/undirected-graph.js +246 -0
  360. package/lib/data-structures/hash/coordinate-map.js +61 -0
  361. package/lib/data-structures/hash/coordinate-set.js +51 -0
  362. package/lib/data-structures/hash/hash-table.js +2 -0
  363. package/lib/data-structures/hash/index.js +6 -0
  364. package/lib/data-structures/hash/pair.js +2 -0
  365. package/lib/data-structures/hash/tree-map.js +2 -0
  366. package/lib/data-structures/hash/tree-set.js +2 -0
  367. package/lib/data-structures/heap/heap.js +152 -0
  368. package/lib/data-structures/heap/index.js +3 -0
  369. package/lib/data-structures/heap/max-heap.js +26 -0
  370. package/lib/data-structures/heap/min-heap.js +27 -0
  371. package/lib/data-structures/index.js +11 -0
  372. package/{dist → lib}/data-structures/linked-list/doubly-linked-list.d.ts +5 -5
  373. package/lib/data-structures/linked-list/doubly-linked-list.js +521 -0
  374. package/lib/data-structures/linked-list/index.js +3 -0
  375. package/{dist → lib}/data-structures/linked-list/singly-linked-list.d.ts +6 -5
  376. package/lib/data-structures/linked-list/singly-linked-list.js +443 -0
  377. package/lib/data-structures/linked-list/skip-linked-list.js +2 -0
  378. package/lib/data-structures/matrix/index.js +4 -0
  379. package/lib/data-structures/matrix/matrix.js +24 -0
  380. package/lib/data-structures/matrix/matrix2d.js +195 -0
  381. package/lib/data-structures/matrix/navigator.js +101 -0
  382. package/lib/data-structures/matrix/vector2d.js +287 -0
  383. package/lib/data-structures/priority-queue/index.js +3 -0
  384. package/lib/data-structures/priority-queue/max-priority-queue.js +39 -0
  385. package/lib/data-structures/priority-queue/min-priority-queue.js +40 -0
  386. package/lib/data-structures/priority-queue/priority-queue.js +317 -0
  387. package/{dist → lib}/data-structures/queue/deque.d.ts +45 -0
  388. package/lib/data-structures/queue/deque.js +270 -0
  389. package/lib/data-structures/queue/index.js +2 -0
  390. package/{dist → lib}/data-structures/queue/queue.d.ts +47 -13
  391. package/lib/data-structures/queue/queue.js +165 -0
  392. package/lib/data-structures/stack/index.js +1 -0
  393. package/lib/data-structures/stack/stack.js +87 -0
  394. package/lib/data-structures/tree/index.js +1 -0
  395. package/lib/data-structures/tree/tree.js +56 -0
  396. package/lib/data-structures/trie/index.js +1 -0
  397. package/lib/data-structures/trie/trie.js +205 -0
  398. package/lib/index.js +4 -0
  399. package/{dist → lib}/interfaces/avl-tree.d.ts +1 -9
  400. package/lib/interfaces/binary-tree.d.ts +4 -0
  401. package/{dist → lib}/interfaces/bst.d.ts +1 -2
  402. package/lib/interfaces/heap.js +1 -0
  403. package/lib/interfaces/index.js +15 -0
  404. package/lib/interfaces/navigator.d.ts +1 -0
  405. package/lib/interfaces/navigator.js +1 -0
  406. package/lib/interfaces/priority-queue.d.ts +1 -0
  407. package/lib/interfaces/priority-queue.js +1 -0
  408. package/{dist → lib}/interfaces/rb-tree.d.ts +1 -2
  409. package/lib/interfaces/rb-tree.js +1 -0
  410. package/lib/interfaces/segment-tree.d.ts +1 -0
  411. package/lib/interfaces/segment-tree.js +1 -0
  412. package/lib/interfaces/singly-linked-list.d.ts +1 -0
  413. package/lib/interfaces/singly-linked-list.js +1 -0
  414. package/lib/interfaces/tree-multiset.d.ts +5 -0
  415. package/lib/interfaces/tree-multiset.js +1 -0
  416. package/lib/interfaces/undirected-graph.js +1 -0
  417. package/{dist → lib}/types/data-structures/abstract-binary-tree.d.ts +1 -1
  418. package/lib/types/data-structures/abstract-binary-tree.js +22 -0
  419. package/lib/types/data-structures/abstract-graph.js +1 -0
  420. package/{dist → lib}/types/data-structures/avl-tree.d.ts +1 -1
  421. package/lib/types/data-structures/avl-tree.js +1 -0
  422. package/lib/types/data-structures/binary-tree.js +1 -0
  423. package/lib/types/data-structures/bst.js +6 -0
  424. package/lib/types/data-structures/directed-graph.js +6 -0
  425. package/lib/types/data-structures/doubly-linked-list.d.ts +1 -0
  426. package/lib/types/data-structures/doubly-linked-list.js +1 -0
  427. package/lib/types/data-structures/heap.js +1 -0
  428. package/lib/types/data-structures/index.js +15 -0
  429. package/lib/types/data-structures/map-graph.js +1 -0
  430. package/lib/types/data-structures/navigator.js +1 -0
  431. package/lib/types/data-structures/priority-queue.js +1 -0
  432. package/lib/types/data-structures/rb-tree.js +5 -0
  433. package/lib/types/data-structures/segment-tree.js +1 -0
  434. package/lib/types/data-structures/singly-linked-list.d.ts +1 -0
  435. package/lib/types/data-structures/singly-linked-list.js +1 -0
  436. package/lib/types/data-structures/tree-multiset.js +1 -0
  437. package/lib/types/helpers.d.ts +1 -0
  438. package/lib/types/helpers.js +1 -0
  439. package/lib/types/index.js +3 -0
  440. package/lib/types/utils/index.js +2 -0
  441. package/{dist → lib}/types/utils/utils.d.ts +1 -1
  442. package/lib/types/utils/utils.js +1 -0
  443. package/{dist → lib}/types/utils/validate-type.d.ts +1 -1
  444. package/lib/types/utils/validate-type.js +1 -0
  445. package/lib/utils/index.js +1 -0
  446. package/lib/utils/utils.js +57 -0
  447. package/package.json +147 -56
  448. package/rename_clear_files.sh +29 -0
  449. package/test/integration/avl-tree.test.ts +111 -0
  450. package/test/integration/bst.test.ts +371 -0
  451. package/test/integration/heap.test.js +19 -0
  452. package/test/integration/index.html +44 -0
  453. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +111 -0
  454. package/test/unit/data-structures/binary-tree/bst.test.ts +371 -0
  455. package/test/unit/data-structures/binary-tree/overall.test.ts +57 -0
  456. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +405 -0
  457. package/test/unit/data-structures/graph/abstract-graph.test.ts +5 -0
  458. package/test/unit/data-structures/graph/directed-graph.test.ts +517 -0
  459. package/test/unit/data-structures/graph/index.ts +2 -0
  460. package/test/unit/data-structures/graph/map-graph.test.ts +46 -0
  461. package/test/unit/data-structures/graph/overall.test.ts +50 -0
  462. package/test/unit/data-structures/graph/undirected-graph.test.ts +60 -0
  463. package/test/unit/data-structures/heap/heap.test.ts +56 -0
  464. package/test/unit/data-structures/heap/max-heap.test.ts +42 -0
  465. package/test/unit/data-structures/heap/min-heap.test.ts +81 -0
  466. package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +365 -0
  467. package/test/unit/data-structures/linked-list/index.ts +4 -0
  468. package/test/unit/data-structures/linked-list/linked-list.test.ts +37 -0
  469. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +401 -0
  470. package/test/unit/data-structures/linked-list/skip-linked-list.test.ts +13 -0
  471. package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +106 -0
  472. package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +105 -0
  473. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +27 -0
  474. package/test/unit/data-structures/queue/queue.test.ts +36 -0
  475. package/test/utils/index.ts +2 -0
  476. package/test/utils/magnitude.ts +21 -0
  477. package/test/utils/number.ts +3 -0
  478. package/tsconfig.build.json +33 -0
  479. package/tsconfig.json +38 -0
  480. package/umd/bundle.min.js +3 -0
  481. package/umd/bundle.min.js.map +1 -0
  482. package/webpack.config.js +28 -0
  483. package/dist/bundle.js +0 -2
  484. package/dist/interfaces/binary-tree.d.ts +0 -6
  485. package/dist/interfaces/tree-multiset.d.ts +0 -7
  486. /package/{dist → lib}/data-structures/binary-tree/aa-tree.d.ts +0 -0
  487. /package/{dist → lib}/data-structures/binary-tree/b-tree.d.ts +0 -0
  488. /package/{dist → lib}/data-structures/binary-tree/binary-indexed-tree.d.ts +0 -0
  489. /package/{dist → lib}/data-structures/binary-tree/binary-tree.d.ts +0 -0
  490. /package/{dist → lib}/data-structures/binary-tree/index.d.ts +0 -0
  491. /package/{dist → lib}/data-structures/binary-tree/segment-tree.d.ts +0 -0
  492. /package/{dist → lib}/data-structures/binary-tree/splay-tree.d.ts +0 -0
  493. /package/{dist → lib}/data-structures/binary-tree/two-three-tree.d.ts +0 -0
  494. /package/{dist → lib}/data-structures/graph/abstract-graph.d.ts +0 -0
  495. /package/{dist → lib}/data-structures/graph/directed-graph.d.ts +0 -0
  496. /package/{dist → lib}/data-structures/graph/index.d.ts +0 -0
  497. /package/{dist → lib}/data-structures/graph/map-graph.d.ts +0 -0
  498. /package/{dist → lib}/data-structures/graph/undirected-graph.d.ts +0 -0
  499. /package/{dist → lib}/data-structures/hash/coordinate-map.d.ts +0 -0
  500. /package/{dist → lib}/data-structures/hash/coordinate-set.d.ts +0 -0
  501. /package/{dist → lib}/data-structures/hash/hash-table.d.ts +0 -0
  502. /package/{dist → lib}/data-structures/hash/index.d.ts +0 -0
  503. /package/{dist → lib}/data-structures/hash/pair.d.ts +0 -0
  504. /package/{dist → lib}/data-structures/hash/tree-map.d.ts +0 -0
  505. /package/{dist → lib}/data-structures/hash/tree-set.d.ts +0 -0
  506. /package/{dist → lib}/data-structures/heap/heap.d.ts +0 -0
  507. /package/{dist → lib}/data-structures/heap/index.d.ts +0 -0
  508. /package/{dist → lib}/data-structures/heap/max-heap.d.ts +0 -0
  509. /package/{dist → lib}/data-structures/heap/min-heap.d.ts +0 -0
  510. /package/{dist → lib}/data-structures/index.d.ts +0 -0
  511. /package/{dist → lib}/data-structures/linked-list/index.d.ts +0 -0
  512. /package/{dist → lib}/data-structures/linked-list/skip-linked-list.d.ts +0 -0
  513. /package/{dist → lib}/data-structures/matrix/index.d.ts +0 -0
  514. /package/{dist → lib}/data-structures/matrix/matrix.d.ts +0 -0
  515. /package/{dist → lib}/data-structures/matrix/matrix2d.d.ts +0 -0
  516. /package/{dist → lib}/data-structures/matrix/navigator.d.ts +0 -0
  517. /package/{dist → lib}/data-structures/matrix/vector2d.d.ts +0 -0
  518. /package/{dist → lib}/data-structures/priority-queue/index.d.ts +0 -0
  519. /package/{dist → lib}/data-structures/priority-queue/max-priority-queue.d.ts +0 -0
  520. /package/{dist → lib}/data-structures/priority-queue/min-priority-queue.d.ts +0 -0
  521. /package/{dist → lib}/data-structures/priority-queue/priority-queue.d.ts +0 -0
  522. /package/{dist → lib}/data-structures/queue/index.d.ts +0 -0
  523. /package/{dist → lib}/data-structures/stack/index.d.ts +0 -0
  524. /package/{dist → lib}/data-structures/stack/stack.d.ts +0 -0
  525. /package/{dist → lib}/data-structures/tree/index.d.ts +0 -0
  526. /package/{dist → lib}/data-structures/tree/tree.d.ts +0 -0
  527. /package/{dist → lib}/data-structures/trie/index.d.ts +0 -0
  528. /package/{dist → lib}/data-structures/trie/trie.d.ts +0 -0
  529. /package/{dist → lib}/index.d.ts +0 -0
  530. /package/{dist → lib}/interfaces/abstract-binary-tree.d.ts +0 -0
  531. /package/{dist/interfaces/doubly-linked-list.d.ts → lib/interfaces/abstract-binary-tree.js} +0 -0
  532. /package/{dist → lib}/interfaces/abstract-graph.d.ts +0 -0
  533. /package/{dist/interfaces/heap.d.ts → lib/interfaces/abstract-graph.js} +0 -0
  534. /package/{dist/interfaces/navigator.d.ts → lib/interfaces/avl-tree.js} +0 -0
  535. /package/{dist/interfaces/priority-queue.d.ts → lib/interfaces/binary-tree.js} +0 -0
  536. /package/{dist/interfaces/segment-tree.d.ts → lib/interfaces/bst.js} +0 -0
  537. /package/{dist → lib}/interfaces/directed-graph.d.ts +0 -0
  538. /package/{dist/interfaces/singly-linked-list.d.ts → lib/interfaces/directed-graph.js} +0 -0
  539. /package/{dist/types/data-structures → lib/interfaces}/doubly-linked-list.d.ts +0 -0
  540. /package/{dist/types/data-structures/singly-linked-list.d.ts → lib/interfaces/doubly-linked-list.js} +0 -0
  541. /package/{dist/types/helpers.d.ts → lib/interfaces/heap.d.ts} +0 -0
  542. /package/{dist → lib}/interfaces/index.d.ts +0 -0
  543. /package/{dist → lib}/interfaces/undirected-graph.d.ts +0 -0
  544. /package/{dist → lib}/types/data-structures/abstract-graph.d.ts +0 -0
  545. /package/{dist → lib}/types/data-structures/binary-tree.d.ts +0 -0
  546. /package/{dist → lib}/types/data-structures/bst.d.ts +0 -0
  547. /package/{dist → lib}/types/data-structures/directed-graph.d.ts +0 -0
  548. /package/{dist → lib}/types/data-structures/heap.d.ts +0 -0
  549. /package/{dist → lib}/types/data-structures/index.d.ts +0 -0
  550. /package/{dist → lib}/types/data-structures/map-graph.d.ts +0 -0
  551. /package/{dist → lib}/types/data-structures/navigator.d.ts +0 -0
  552. /package/{dist → lib}/types/data-structures/priority-queue.d.ts +0 -0
  553. /package/{dist → lib}/types/data-structures/rb-tree.d.ts +0 -0
  554. /package/{dist → lib}/types/data-structures/segment-tree.d.ts +0 -0
  555. /package/{dist → lib}/types/data-structures/tree-multiset.d.ts +0 -0
  556. /package/{dist → lib}/types/index.d.ts +0 -0
  557. /package/{dist → lib}/types/utils/index.d.ts +0 -0
  558. /package/{dist → lib}/utils/index.d.ts +0 -0
  559. /package/{dist → lib}/utils/utils.d.ts +0 -0
  560. /package/{dist/bundle.js.LICENSE.txt → umd/bundle.min.js.LICENSE.txt} +0 -0
@@ -0,0 +1,835 @@
1
+ <!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Vector2D | data-structure-typed</title><meta name="description" content="Documentation for data-structure-typed"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/search.js" id="tsd-search-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
2
+ <div class="tsd-toolbar-contents container">
3
+ <div class="table-cell" id="tsd-search" data-base="..">
4
+ <div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div>
5
+ <div class="field">
6
+ <div id="tsd-toolbar-links"></div></div>
7
+ <ul class="results">
8
+ <li class="state loading">Preparing search index...</li>
9
+ <li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">data-structure-typed</a></div>
10
+ <div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
11
+ <div class="container container-main">
12
+ <div class="col-content">
13
+ <div class="tsd-page-title">
14
+ <ul class="tsd-breadcrumb">
15
+ <li><a href="../modules.html">data-structure-typed</a></li>
16
+ <li><a href="Vector2D.html">Vector2D</a></li></ul>
17
+ <h1>Class Vector2D</h1></div>
18
+ <section class="tsd-panel tsd-comment">
19
+ <div class="tsd-comment tsd-typography"><p>data-structure-typed</p>
20
+ </div>
21
+ <div class="tsd-comment tsd-typography">
22
+ <h4>Author</h4><p>Tyler Zeng</p>
23
+
24
+ <h4>Copyright</h4><p>Copyright (c) 2022 Tyler Zeng <a href="mailto:zrwusa@gmail.com">zrwusa@gmail.com</a></p>
25
+
26
+ <h4>License</h4><p>MIT License</p>
27
+ </div></section>
28
+ <section class="tsd-panel tsd-hierarchy">
29
+ <h4>Hierarchy</h4>
30
+ <ul class="tsd-hierarchy">
31
+ <li><span class="target">Vector2D</span></li></ul></section><aside class="tsd-sources">
32
+ <ul>
33
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L8">src/data-structures/matrix/vector2d.ts:8</a></li></ul></aside>
34
+ <section class="tsd-panel-group tsd-index-group">
35
+ <section class="tsd-panel tsd-index-panel">
36
+ <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
37
+ <h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
38
+ <div class="tsd-accordion-details">
39
+ <section class="tsd-index-section">
40
+ <h3 class="tsd-index-heading">Constructors</h3>
41
+ <div class="tsd-index-list"><a href="Vector2D.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-512"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g></svg><span>constructor</span></a>
42
+ </div></section>
43
+ <section class="tsd-index-section">
44
+ <h3 class="tsd-index-heading">Properties</h3>
45
+ <div class="tsd-index-list"><a href="Vector2D.html#w" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-1024"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)"></path></g></svg><span>w</span></a>
46
+ <a href="Vector2D.html#x" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>x</span></a>
47
+ <a href="Vector2D.html#y" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>y</span></a>
48
+ </div></section>
49
+ <section class="tsd-index-section">
50
+ <h3 class="tsd-index-heading">Accessors</h3>
51
+ <div class="tsd-index-list"><a href="Vector2D.html#isZero" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-262144"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)"></path></g></svg><span>is<wbr/>Zero</span></a>
52
+ <a href="Vector2D.html#length" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>length</span></a>
53
+ <a href="Vector2D.html#lengthSq" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>length<wbr/>Sq</span></a>
54
+ <a href="Vector2D.html#rounded" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>rounded</span></a>
55
+ </div></section>
56
+ <section class="tsd-index-section">
57
+ <h3 class="tsd-index-heading">Methods</h3>
58
+ <div class="tsd-index-list"><a href="Vector2D.html#zero" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)"></path></g></svg><span>zero</span></a>
59
+ <a href="Vector2D.html#abs" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>abs</span></a>
60
+ <a href="Vector2D.html#add" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add</span></a>
61
+ <a href="Vector2D.html#angle" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>angle</span></a>
62
+ <a href="Vector2D.html#distance" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>distance</span></a>
63
+ <a href="Vector2D.html#distanceSq" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>distance<wbr/>Sq</span></a>
64
+ <a href="Vector2D.html#divide" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>divide</span></a>
65
+ <a href="Vector2D.html#dot" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dot</span></a>
66
+ <a href="Vector2D.html#equals" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>equals</span></a>
67
+ <a href="Vector2D.html#equalsRounded" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>equals<wbr/>Rounded</span></a>
68
+ <a href="Vector2D.html#multiply" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>multiply</span></a>
69
+ <a href="Vector2D.html#normalize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>normalize</span></a>
70
+ <a href="Vector2D.html#perp" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>perp</span></a>
71
+ <a href="Vector2D.html#random" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>random</span></a>
72
+ <a href="Vector2D.html#reverse" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>reverse</span></a>
73
+ <a href="Vector2D.html#sign" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>sign</span></a>
74
+ <a href="Vector2D.html#subtract" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>subtract</span></a>
75
+ <a href="Vector2D.html#subtractValue" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>subtract<wbr/>Value</span></a>
76
+ <a href="Vector2D.html#truncate" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>truncate</span></a>
77
+ </div></section></div></details></section></section>
78
+ <section class="tsd-panel-group tsd-member-group">
79
+ <h2>Constructors</h2>
80
+ <section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a>
81
+ <h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" id="icon-anchor"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></svg></a></h3>
82
+ <ul class="tsd-signatures">
83
+ <li class="tsd-signature tsd-anchor-link" id="constructor.new_Vector2D"><span class="tsd-kind-constructor-signature">new <wbr/>Vector2D</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">x</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">y</span><span class="tsd-signature-symbol">?</span>, <span class="tsd-kind-parameter">w</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#constructor.new_Vector2D" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
84
+ <li class="tsd-description">
85
+ <div class="tsd-parameters">
86
+ <h4 class="tsd-parameters-title">Parameters</h4>
87
+ <ul class="tsd-parameter-list">
88
+ <li>
89
+ <h5><span class="tsd-kind-parameter">x</span>: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></h5></li>
90
+ <li>
91
+ <h5><span class="tsd-kind-parameter">y</span>: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></h5></li>
92
+ <li>
93
+ <h5><span class="tsd-kind-parameter">w</span>: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 1</span></h5></li></ul></div>
94
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><aside class="tsd-sources">
95
+ <ul>
96
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L9">src/data-structures/matrix/vector2d.ts:9</a></li></ul></aside></li></ul></section></section>
97
+ <section class="tsd-panel-group tsd-member-group">
98
+ <h2>Properties</h2>
99
+ <section class="tsd-panel tsd-member"><a id="w" class="tsd-anchor"></a>
100
+ <h3 class="tsd-anchor-link"><span>w</span><a href="#w" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
101
+ <div class="tsd-signature"><span class="tsd-kind-property">w</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 1</span></div><aside class="tsd-sources">
102
+ <ul>
103
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L12">src/data-structures/matrix/vector2d.ts:12</a></li></ul></aside></section>
104
+ <section class="tsd-panel tsd-member"><a id="x" class="tsd-anchor"></a>
105
+ <h3 class="tsd-anchor-link"><span>x</span><a href="#x" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
106
+ <div class="tsd-signature"><span class="tsd-kind-property">x</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div><aside class="tsd-sources">
107
+ <ul>
108
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L10">src/data-structures/matrix/vector2d.ts:10</a></li></ul></aside></section>
109
+ <section class="tsd-panel tsd-member"><a id="y" class="tsd-anchor"></a>
110
+ <h3 class="tsd-anchor-link"><span>y</span><a href="#y" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
111
+ <div class="tsd-signature"><span class="tsd-kind-property">y</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div><aside class="tsd-sources">
112
+ <ul>
113
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L11">src/data-structures/matrix/vector2d.ts:11</a></li></ul></aside></section></section>
114
+ <section class="tsd-panel-group tsd-member-group">
115
+ <h2>Accessors</h2>
116
+ <section class="tsd-panel tsd-member"><a id="isZero" class="tsd-anchor"></a>
117
+ <h3 class="tsd-anchor-link"><span>is<wbr/>Zero</span><a href="#isZero" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
118
+ <ul class="tsd-signatures">
119
+ <li class="tsd-signature" id="isZero.isZero-1"><span class="tsd-signature-symbol">get</span> isZero<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
120
+ <li class="tsd-description">
121
+ <div class="tsd-comment tsd-typography"><p>The function checks if the x and y values of a point are both zero.</p>
122
+ </div>
123
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>A boolean value indicating whether both the x and y properties of the object are equal to 0.</p>
124
+
125
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
126
+ <ul>
127
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L19">src/data-structures/matrix/vector2d.ts:19</a></li></ul></aside></li></ul></section>
128
+ <section class="tsd-panel tsd-member"><a id="length" class="tsd-anchor"></a>
129
+ <h3 class="tsd-anchor-link"><span>length</span><a href="#length" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
130
+ <ul class="tsd-signatures">
131
+ <li class="tsd-signature" id="length.length-1"><span class="tsd-signature-symbol">get</span> length<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
132
+ <li class="tsd-description">
133
+ <div class="tsd-comment tsd-typography"><p>The above function calculates the length of a vector using the Pythagorean theorem.</p>
134
+ </div>
135
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>The length of a vector, calculated using the Pythagorean theorem.</p>
136
+
137
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
138
+ <ul>
139
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L27">src/data-structures/matrix/vector2d.ts:27</a></li></ul></aside></li></ul></section>
140
+ <section class="tsd-panel tsd-member"><a id="lengthSq" class="tsd-anchor"></a>
141
+ <h3 class="tsd-anchor-link"><span>length<wbr/>Sq</span><a href="#lengthSq" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
142
+ <ul class="tsd-signatures">
143
+ <li class="tsd-signature" id="lengthSq.lengthSq-1"><span class="tsd-signature-symbol">get</span> lengthSq<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
144
+ <li class="tsd-description">
145
+ <div class="tsd-comment tsd-typography"><p>The function calculates the square of the length of a vector.</p>
146
+ </div>
147
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>The method is returning the sum of the squares of the x and y values.</p>
148
+
149
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
150
+ <ul>
151
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L35">src/data-structures/matrix/vector2d.ts:35</a></li></ul></aside></li></ul></section>
152
+ <section class="tsd-panel tsd-member"><a id="rounded" class="tsd-anchor"></a>
153
+ <h3 class="tsd-anchor-link"><span>rounded</span><a href="#rounded" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
154
+ <ul class="tsd-signatures">
155
+ <li class="tsd-signature" id="rounded.rounded-1"><span class="tsd-signature-symbol">get</span> rounded<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></li>
156
+ <li class="tsd-description">
157
+ <div class="tsd-comment tsd-typography"><p>The &quot;rounded&quot; function returns a new Vector2D object with the x and y values rounded to the nearest whole number.</p>
158
+ </div>
159
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>The method is returning a new instance of the Vector2D class with the x and y values rounded to the nearest
160
+ whole number.</p>
161
+
162
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
163
+ <ul>
164
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L44">src/data-structures/matrix/vector2d.ts:44</a></li></ul></aside></li></ul></section></section>
165
+ <section class="tsd-panel-group tsd-member-group">
166
+ <h2>Methods</h2>
167
+ <section class="tsd-panel tsd-member"><a id="zero" class="tsd-anchor"></a>
168
+ <h3 class="tsd-anchor-link"><span>zero</span><a href="#zero" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
169
+ <ul class="tsd-signatures">
170
+ <li class="tsd-signature tsd-anchor-link" id="zero.zero-1"><span class="tsd-kind-call-signature">zero</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#zero.zero-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
171
+ <li class="tsd-description">
172
+ <div class="tsd-comment tsd-typography"><p>The function sets the values of x and y to zero.</p>
173
+ </div>
174
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
175
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
176
+ <ul>
177
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L310">src/data-structures/matrix/vector2d.ts:310</a></li></ul></aside></li></ul></section>
178
+ <section class="tsd-panel tsd-member"><a id="abs" class="tsd-anchor"></a>
179
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>abs</span><a href="#abs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
180
+ <ul class="tsd-signatures">
181
+ <li class="tsd-signature tsd-anchor-link" id="abs.abs-1"><span class="tsd-kind-call-signature">abs</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#abs.abs-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
182
+ <li class="tsd-description">
183
+ <div class="tsd-comment tsd-typography"><p>The function takes a Vector2D object as input and returns a new Vector2D object with the absolute values of its x
184
+ and y components.</p>
185
+ </div>
186
+ <div class="tsd-parameters">
187
+ <h4 class="tsd-parameters-title">Parameters</h4>
188
+ <ul class="tsd-parameter-list">
189
+ <li>
190
+ <h5><span class="tsd-kind-parameter">vector</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
191
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector&quot; is of type Vector2D, which represents a 2-dimensional vector. It
192
+ has two properties: &quot;x&quot; and &quot;y&quot;, which represent the x and y components of the vector, respectively.</p>
193
+ </div>
194
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
195
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>The method is returning a new Vector2D object with the absolute values of the x and y components of the
196
+ input vector.</p>
197
+
198
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
199
+ <ul>
200
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L203">src/data-structures/matrix/vector2d.ts:203</a></li></ul></aside></li></ul></section>
201
+ <section class="tsd-panel tsd-member"><a id="add" class="tsd-anchor"></a>
202
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>add</span><a href="#add" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
203
+ <ul class="tsd-signatures">
204
+ <li class="tsd-signature tsd-anchor-link" id="add.add-1"><span class="tsd-kind-call-signature">add</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector1</span>, <span class="tsd-kind-parameter">vector2</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#add.add-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
205
+ <li class="tsd-description">
206
+ <div class="tsd-comment tsd-typography"><p>The function &quot;add&quot; takes two Vector2D objects as parameters and returns a new Vector2D object with the sum of their
207
+ x and y components.</p>
208
+ </div>
209
+ <div class="tsd-parameters">
210
+ <h4 class="tsd-parameters-title">Parameters</h4>
211
+ <ul class="tsd-parameter-list">
212
+ <li>
213
+ <h5><span class="tsd-kind-parameter">vector1</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
214
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vector1</code> is an instance of the <code>Vector2D</code> class. It represents a
215
+ 2-dimensional vector with an <code>x</code> and <code>y</code> component.</p>
216
+ </div>
217
+ <div class="tsd-comment tsd-typography"></div></li>
218
+ <li>
219
+ <h5><span class="tsd-kind-parameter">vector2</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
220
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector2&quot; is of type Vector2D. It represents a 2-dimensional vector with
221
+ an x and y component.</p>
222
+ </div>
223
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
224
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>The method is returning a new instance of the Vector2D class with the x and y components of the two input
225
+ vectors added together.</p>
226
+
227
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
228
+ <ul>
229
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L58">src/data-structures/matrix/vector2d.ts:58</a></li></ul></aside></li></ul></section>
230
+ <section class="tsd-panel tsd-member"><a id="angle" class="tsd-anchor"></a>
231
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>angle</span><a href="#angle" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
232
+ <ul class="tsd-signatures">
233
+ <li class="tsd-signature tsd-anchor-link" id="angle.angle-1"><span class="tsd-kind-call-signature">angle</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#angle.angle-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
234
+ <li class="tsd-description">
235
+ <div class="tsd-comment tsd-typography"><p>The function calculates the angle between a given vector and the negative y-axis.</p>
236
+ </div>
237
+ <div class="tsd-parameters">
238
+ <h4 class="tsd-parameters-title">Parameters</h4>
239
+ <ul class="tsd-parameter-list">
240
+ <li>
241
+ <h5><span class="tsd-kind-parameter">vector</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
242
+ <div class="tsd-comment tsd-typography"><p>The &quot;vector&quot; parameter is an instance of the Vector2D class, which represents a
243
+ 2-dimensional vector. It has two properties: &quot;x&quot; and &quot;y&quot;, which represent the x and y components of the vector,
244
+ respectively.</p>
245
+ </div>
246
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
247
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>the angle between the given vector and the vector (0, -1) in radians.Returns the angle between origin and the given vector in radians</p>
248
+
249
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
250
+ <ul>
251
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L288">src/data-structures/matrix/vector2d.ts:288</a></li></ul></aside></li></ul></section>
252
+ <section class="tsd-panel tsd-member"><a id="distance" class="tsd-anchor"></a>
253
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>distance</span><a href="#distance" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
254
+ <ul class="tsd-signatures">
255
+ <li class="tsd-signature tsd-anchor-link" id="distance.distance-1"><span class="tsd-kind-call-signature">distance</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector1</span>, <span class="tsd-kind-parameter">vector2</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#distance.distance-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
256
+ <li class="tsd-description">
257
+ <div class="tsd-comment tsd-typography"><p>The function calculates the distance between two points in a two-dimensional space.</p>
258
+ </div>
259
+ <div class="tsd-parameters">
260
+ <h4 class="tsd-parameters-title">Parameters</h4>
261
+ <ul class="tsd-parameter-list">
262
+ <li>
263
+ <h5><span class="tsd-kind-parameter">vector1</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
264
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vector1</code> represents the first vector in 2D space, while <code>vector2</code>
265
+ represents the second vector. Each vector has an <code>x</code> and <code>y</code> component, which represent their respective coordinates
266
+ in the 2D space.</p>
267
+ </div>
268
+ <div class="tsd-comment tsd-typography"></div></li>
269
+ <li>
270
+ <h5><span class="tsd-kind-parameter">vector2</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
271
+ <div class="tsd-comment tsd-typography"><p>The <code>vector2</code> parameter represents the second vector in the calculation of distance. It
272
+ is an instance of the <code>Vector2D</code> class, which typically has properties <code>x</code> and <code>y</code> representing the coordinates of
273
+ the vector in a 2D space.</p>
274
+ </div>
275
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
276
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>The distance between vector1 and vector2.</p>
277
+
278
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
279
+ <ul>
280
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L244">src/data-structures/matrix/vector2d.ts:244</a></li></ul></aside></li></ul></section>
281
+ <section class="tsd-panel tsd-member"><a id="distanceSq" class="tsd-anchor"></a>
282
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>distance<wbr/>Sq</span><a href="#distanceSq" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
283
+ <ul class="tsd-signatures">
284
+ <li class="tsd-signature tsd-anchor-link" id="distanceSq.distanceSq-1"><span class="tsd-kind-call-signature">distance<wbr/>Sq</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector1</span>, <span class="tsd-kind-parameter">vector2</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#distanceSq.distanceSq-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
285
+ <li class="tsd-description">
286
+ <div class="tsd-comment tsd-typography"><p>The function calculates the squared distance between two 2D vectors.</p>
287
+ </div>
288
+ <div class="tsd-parameters">
289
+ <h4 class="tsd-parameters-title">Parameters</h4>
290
+ <ul class="tsd-parameter-list">
291
+ <li>
292
+ <h5><span class="tsd-kind-parameter">vector1</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
293
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vector1</code> represents the first vector, which is an instance of the
294
+ <code>Vector2D</code> class. It contains the x and y coordinates of the vector.</p>
295
+ </div>
296
+ <div class="tsd-comment tsd-typography"></div></li>
297
+ <li>
298
+ <h5><span class="tsd-kind-parameter">vector2</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
299
+ <div class="tsd-comment tsd-typography"><p>The <code>vector2</code> parameter represents the second vector in a two-dimensional space. It has
300
+ properties <code>x</code> and <code>y</code> which represent the coordinates of the vector.</p>
301
+ </div>
302
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
303
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>the square of the distance between the two input vectors.</p>
304
+
305
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
306
+ <ul>
307
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L258">src/data-structures/matrix/vector2d.ts:258</a></li></ul></aside></li></ul></section>
308
+ <section class="tsd-panel tsd-member"><a id="divide" class="tsd-anchor"></a>
309
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>divide</span><a href="#divide" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
310
+ <ul class="tsd-signatures">
311
+ <li class="tsd-signature tsd-anchor-link" id="divide.divide-1"><span class="tsd-kind-call-signature">divide</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector</span>, <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#divide.divide-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
312
+ <li class="tsd-description">
313
+ <div class="tsd-comment tsd-typography"><p>The function divides the x and y components of a Vector2D by a given value and returns a new Vector2D.</p>
314
+ </div>
315
+ <div class="tsd-parameters">
316
+ <h4 class="tsd-parameters-title">Parameters</h4>
317
+ <ul class="tsd-parameter-list">
318
+ <li>
319
+ <h5><span class="tsd-kind-parameter">vector</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
320
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector&quot; is of type Vector2D, which represents a 2-dimensional vector with
321
+ x and y components.</p>
322
+ </div>
323
+ <div class="tsd-comment tsd-typography"></div></li>
324
+ <li>
325
+ <h5><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">number</span></h5>
326
+ <div class="tsd-comment tsd-typography"><p>The value parameter is a number that will be used to divide the x and y components of the
327
+ vector.</p>
328
+ </div>
329
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
330
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>A new instance of the Vector2D class with the x and y values divided by the given value.</p>
331
+
332
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
333
+ <ul>
334
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L110">src/data-structures/matrix/vector2d.ts:110</a></li></ul></aside></li></ul></section>
335
+ <section class="tsd-panel tsd-member"><a id="dot" class="tsd-anchor"></a>
336
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>dot</span><a href="#dot" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
337
+ <ul class="tsd-signatures">
338
+ <li class="tsd-signature tsd-anchor-link" id="dot.dot-1"><span class="tsd-kind-call-signature">dot</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector1</span>, <span class="tsd-kind-parameter">vector2</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#dot.dot-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
339
+ <li class="tsd-description">
340
+ <div class="tsd-comment tsd-typography"><p>The dot function calculates the dot product of two 2D vectors.The dot product of v1 and v2</p>
341
+ </div>
342
+ <div class="tsd-parameters">
343
+ <h4 class="tsd-parameters-title">Parameters</h4>
344
+ <ul class="tsd-parameter-list">
345
+ <li>
346
+ <h5><span class="tsd-kind-parameter">vector1</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
347
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vector1</code> represents a 2D vector with its x and y components.</p>
348
+ </div>
349
+ <div class="tsd-comment tsd-typography"></div></li>
350
+ <li>
351
+ <h5><span class="tsd-kind-parameter">vector2</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
352
+ <div class="tsd-comment tsd-typography"><p>The &quot;vector2&quot; parameter is a Vector2D object. It represents a two-dimensional vector
353
+ with an x and y component.</p>
354
+ </div>
355
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
356
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>The dot product of the two input vectors.</p>
357
+
358
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
359
+ <ul>
360
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L214">src/data-structures/matrix/vector2d.ts:214</a></li></ul></aside></li></ul></section>
361
+ <section class="tsd-panel tsd-member"><a id="equals" class="tsd-anchor"></a>
362
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>equals</span><a href="#equals" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
363
+ <ul class="tsd-signatures">
364
+ <li class="tsd-signature tsd-anchor-link" id="equals.equals-1"><span class="tsd-kind-call-signature">equals</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector1</span>, <span class="tsd-kind-parameter">vector2</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#equals.equals-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
365
+ <li class="tsd-description">
366
+ <div class="tsd-comment tsd-typography"><p>The function checks if two Vector2D objects are equal by comparing their x and y values.</p>
367
+ </div>
368
+ <div class="tsd-parameters">
369
+ <h4 class="tsd-parameters-title">Parameters</h4>
370
+ <ul class="tsd-parameter-list">
371
+ <li>
372
+ <h5><span class="tsd-kind-parameter">vector1</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
373
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vector1</code> is of type <code>Vector2D</code>, which represents a 2-dimensional vector.
374
+ It has two properties: <code>x</code> and <code>y</code>, which represent the x and y components of the vector, respectively.</p>
375
+ </div>
376
+ <div class="tsd-comment tsd-typography"></div></li>
377
+ <li>
378
+ <h5><span class="tsd-kind-parameter">vector2</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
379
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector2&quot; is of type Vector2D.</p>
380
+ </div>
381
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
382
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>a boolean value, which indicates whether the two input vectors are equal or not.</p>
383
+
384
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
385
+ <ul>
386
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L121">src/data-structures/matrix/vector2d.ts:121</a></li></ul></aside></li></ul></section>
387
+ <section class="tsd-panel tsd-member"><a id="equalsRounded" class="tsd-anchor"></a>
388
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>equals<wbr/>Rounded</span><a href="#equalsRounded" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
389
+ <ul class="tsd-signatures">
390
+ <li class="tsd-signature tsd-anchor-link" id="equalsRounded.equalsRounded-1"><span class="tsd-kind-call-signature">equals<wbr/>Rounded</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector1</span>, <span class="tsd-kind-parameter">vector2</span>, <span class="tsd-kind-parameter">roundingFactor</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#equalsRounded.equalsRounded-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
391
+ <li class="tsd-description">
392
+ <div class="tsd-comment tsd-typography"><p>The function checks if two Vector2D objects are equal within a specified rounding factor.</p>
393
+ </div>
394
+ <div class="tsd-parameters">
395
+ <h4 class="tsd-parameters-title">Parameters</h4>
396
+ <ul class="tsd-parameter-list">
397
+ <li>
398
+ <h5><span class="tsd-kind-parameter">vector1</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
399
+ <div class="tsd-comment tsd-typography"><p>The first vector to compare.</p>
400
+ </div>
401
+ <div class="tsd-comment tsd-typography"></div></li>
402
+ <li>
403
+ <h5><span class="tsd-kind-parameter">vector2</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
404
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector2&quot; is a Vector2D object, which represents a 2-dimensional vector.
405
+ It is used as one of the inputs for the &quot;equalsRounded&quot; function.</p>
406
+ </div>
407
+ <div class="tsd-comment tsd-typography"></div></li>
408
+ <li>
409
+ <h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">roundingFactor</span>: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 12</span></h5>
410
+ <div class="tsd-comment tsd-typography"><p>The roundingFactor parameter is used to determine the threshold for considering two
411
+ vectors as equal. If the absolute difference in the x and y components of the vectors is less than the
412
+ roundingFactor, the vectors are considered equal.</p>
413
+ </div>
414
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
415
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>a boolean value.</p>
416
+
417
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
418
+ <ul>
419
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L135">src/data-structures/matrix/vector2d.ts:135</a></li></ul></aside></li></ul></section>
420
+ <section class="tsd-panel tsd-member"><a id="multiply" class="tsd-anchor"></a>
421
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>multiply</span><a href="#multiply" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
422
+ <ul class="tsd-signatures">
423
+ <li class="tsd-signature tsd-anchor-link" id="multiply.multiply-1"><span class="tsd-kind-call-signature">multiply</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector</span>, <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#multiply.multiply-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
424
+ <li class="tsd-description">
425
+ <div class="tsd-comment tsd-typography"><p>The function multiplies a Vector2D object by a given value.</p>
426
+ </div>
427
+ <div class="tsd-parameters">
428
+ <h4 class="tsd-parameters-title">Parameters</h4>
429
+ <ul class="tsd-parameter-list">
430
+ <li>
431
+ <h5><span class="tsd-kind-parameter">vector</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
432
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector&quot; is of type Vector2D, which represents a 2-dimensional vector with
433
+ x and y components.</p>
434
+ </div>
435
+ <div class="tsd-comment tsd-typography"></div></li>
436
+ <li>
437
+ <h5><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">number</span></h5>
438
+ <div class="tsd-comment tsd-typography"><p>The &quot;value&quot; parameter is a number that represents the value by which the x and y components
439
+ of the vector will be multiplied.</p>
440
+ </div>
441
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
442
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>A new Vector2D object with the x and y values multiplied by the given value.</p>
443
+
444
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
445
+ <ul>
446
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L98">src/data-structures/matrix/vector2d.ts:98</a></li></ul></aside></li></ul></section>
447
+ <section class="tsd-panel tsd-member"><a id="normalize" class="tsd-anchor"></a>
448
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>normalize</span><a href="#normalize" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
449
+ <ul class="tsd-signatures">
450
+ <li class="tsd-signature tsd-anchor-link" id="normalize.normalize-1"><span class="tsd-kind-call-signature">normalize</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#normalize.normalize-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
451
+ <li class="tsd-description">
452
+ <div class="tsd-comment tsd-typography"><p>The normalize function takes a vector as input and returns a normalized version of the vector.Normalizes the vector if it matches a certain condition</p>
453
+ </div>
454
+ <div class="tsd-parameters">
455
+ <h4 class="tsd-parameters-title">Parameters</h4>
456
+ <ul class="tsd-parameter-list">
457
+ <li>
458
+ <h5><span class="tsd-kind-parameter">vector</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
459
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector&quot; is of type Vector2D.</p>
460
+ </div>
461
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
462
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>the normalized vector if its length is greater than a very small value (epsilon), otherwise it returns the
463
+ original vector.</p>
464
+
465
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
466
+ <ul>
467
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L150">src/data-structures/matrix/vector2d.ts:150</a></li></ul></aside></li></ul></section>
468
+ <section class="tsd-panel tsd-member"><a id="perp" class="tsd-anchor"></a>
469
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>perp</span><a href="#perp" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
470
+ <ul class="tsd-signatures">
471
+ <li class="tsd-signature tsd-anchor-link" id="perp.perp-1"><span class="tsd-kind-call-signature">perp</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#perp.perp-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
472
+ <li class="tsd-description">
473
+ <div class="tsd-comment tsd-typography"><p>The function returns a new Vector2D object that is perpendicular to the input vector.The vector that is perpendicular to this one</p>
474
+ </div>
475
+ <div class="tsd-parameters">
476
+ <h4 class="tsd-parameters-title">Parameters</h4>
477
+ <ul class="tsd-parameter-list">
478
+ <li>
479
+ <h5><span class="tsd-kind-parameter">vector</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
480
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector&quot; is of type Vector2D.</p>
481
+ </div>
482
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
483
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>A new Vector2D object is being returned.</p>
484
+
485
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
486
+ <ul>
487
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L181">src/data-structures/matrix/vector2d.ts:181</a></li></ul></aside></li></ul></section>
488
+ <section class="tsd-panel tsd-member"><a id="random" class="tsd-anchor"></a>
489
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>random</span><a href="#random" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
490
+ <ul class="tsd-signatures">
491
+ <li class="tsd-signature tsd-anchor-link" id="random.random-1"><span class="tsd-kind-call-signature">random</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">maxX</span>, <span class="tsd-kind-parameter">maxY</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#random.random-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
492
+ <li class="tsd-description">
493
+ <div class="tsd-comment tsd-typography"><p>The function &quot;random&quot; generates a random Vector2D object with x and y values within the specified range.</p>
494
+ </div>
495
+ <div class="tsd-parameters">
496
+ <h4 class="tsd-parameters-title">Parameters</h4>
497
+ <ul class="tsd-parameter-list">
498
+ <li>
499
+ <h5><span class="tsd-kind-parameter">maxX</span>: <span class="tsd-signature-type">number</span></h5>
500
+ <div class="tsd-comment tsd-typography"><p>The maxX parameter represents the maximum value for the x-coordinate of the random vector.</p>
501
+ </div>
502
+ <div class="tsd-comment tsd-typography"></div></li>
503
+ <li>
504
+ <h5><span class="tsd-kind-parameter">maxY</span>: <span class="tsd-signature-type">number</span></h5>
505
+ <div class="tsd-comment tsd-typography"><p>The <code>maxY</code> parameter represents the maximum value for the y-coordinate of the generated
506
+ random vector.</p>
507
+ </div>
508
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
509
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>a new instance of the Vector2D class with random x and y values.</p>
510
+
511
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
512
+ <ul>
513
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L301">src/data-structures/matrix/vector2d.ts:301</a></li></ul></aside></li></ul></section>
514
+ <section class="tsd-panel tsd-member"><a id="reverse" class="tsd-anchor"></a>
515
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>reverse</span><a href="#reverse" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
516
+ <ul class="tsd-signatures">
517
+ <li class="tsd-signature tsd-anchor-link" id="reverse.reverse-1"><span class="tsd-kind-call-signature">reverse</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#reverse.reverse-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
518
+ <li class="tsd-description">
519
+ <div class="tsd-comment tsd-typography"><p>The reverse function takes a Vector2D object and returns a new Vector2D object with the negated x and y values.</p>
520
+ </div>
521
+ <div class="tsd-parameters">
522
+ <h4 class="tsd-parameters-title">Parameters</h4>
523
+ <ul class="tsd-parameter-list">
524
+ <li>
525
+ <h5><span class="tsd-kind-parameter">vector</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
526
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector&quot; is of type Vector2D, which represents a 2-dimensional vector. It
527
+ has two properties: &quot;x&quot; and &quot;y&quot;, which represent the x and y components of the vector, respectively.</p>
528
+ </div>
529
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
530
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>A new Vector2D object with the negated x and y values of the input vector. Returns the vector that is the reverse of this vector</p>
531
+
532
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
533
+ <ul>
534
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L191">src/data-structures/matrix/vector2d.ts:191</a></li></ul></aside></li></ul></section>
535
+ <section class="tsd-panel tsd-member"><a id="sign" class="tsd-anchor"></a>
536
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>sign</span><a href="#sign" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
537
+ <ul class="tsd-signatures">
538
+ <li class="tsd-signature tsd-anchor-link" id="sign.sign-1"><span class="tsd-kind-call-signature">sign</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector1</span>, <span class="tsd-kind-parameter">vector2</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><a href="#sign.sign-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
539
+ <li class="tsd-description">
540
+ <div class="tsd-comment tsd-typography"><p>The sign function determines the sign of the cross product between two 2D vectors.
541
+ (assuming the Y axis is pointing down, X axis to right like a Window app)</p>
542
+ </div>
543
+ <div class="tsd-parameters">
544
+ <h4 class="tsd-parameters-title">Parameters</h4>
545
+ <ul class="tsd-parameter-list">
546
+ <li>
547
+ <h5><span class="tsd-kind-parameter">vector1</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
548
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vector1</code> is of type <code>Vector2D</code>, which represents a 2-dimensional vector.
549
+ It likely has properties <code>x</code> and <code>y</code> representing the x and y components of the vector, respectively.</p>
550
+ </div>
551
+ <div class="tsd-comment tsd-typography"></div></li>
552
+ <li>
553
+ <h5><span class="tsd-kind-parameter">vector2</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
554
+ <div class="tsd-comment tsd-typography"><p>The above code defines a function called &quot;sign&quot; that takes two parameters: vector1 and
555
+ vector2. Both vector1 and vector2 are of type Vector2D.</p>
556
+ </div>
557
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
558
+ <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><p>either -1 or 1. Returns positive if v2 is clockwise of this vector, negative if counterclockwise</p>
559
+
560
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
561
+ <ul>
562
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L273">src/data-structures/matrix/vector2d.ts:273</a></li></ul></aside></li></ul></section>
563
+ <section class="tsd-panel tsd-member"><a id="subtract" class="tsd-anchor"></a>
564
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>subtract</span><a href="#subtract" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
565
+ <ul class="tsd-signatures">
566
+ <li class="tsd-signature tsd-anchor-link" id="subtract.subtract-1"><span class="tsd-kind-call-signature">subtract</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector1</span>, <span class="tsd-kind-parameter">vector2</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#subtract.subtract-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
567
+ <li class="tsd-description">
568
+ <div class="tsd-comment tsd-typography"><p>The subtract function takes two Vector2D objects as parameters and returns a new Vector2D object with the x and y
569
+ components subtracted.</p>
570
+ </div>
571
+ <div class="tsd-parameters">
572
+ <h4 class="tsd-parameters-title">Parameters</h4>
573
+ <ul class="tsd-parameter-list">
574
+ <li>
575
+ <h5><span class="tsd-kind-parameter">vector1</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
576
+ <div class="tsd-comment tsd-typography"><p>The parameter <code>vector1</code> is an instance of the <code>Vector2D</code> class, representing a
577
+ 2-dimensional vector. It has properties <code>x</code> and <code>y</code> which represent the x and y components of the vector
578
+ respectively.</p>
579
+ </div>
580
+ <div class="tsd-comment tsd-typography"></div></li>
581
+ <li>
582
+ <h5><span class="tsd-kind-parameter">vector2</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
583
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector2&quot; is a Vector2D object. It represents the second vector that you
584
+ want to subtract from the first vector.</p>
585
+ </div>
586
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
587
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>The method is returning a new Vector2D object with the x and y components subtracted from vector1 and
588
+ vector2.</p>
589
+
590
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
591
+ <ul>
592
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L73">src/data-structures/matrix/vector2d.ts:73</a></li></ul></aside></li></ul></section>
593
+ <section class="tsd-panel tsd-member"><a id="subtractValue" class="tsd-anchor"></a>
594
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>subtract<wbr/>Value</span><a href="#subtractValue" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
595
+ <ul class="tsd-signatures">
596
+ <li class="tsd-signature tsd-anchor-link" id="subtractValue.subtractValue-1"><span class="tsd-kind-call-signature">subtract<wbr/>Value</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector</span>, <span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#subtractValue.subtractValue-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
597
+ <li class="tsd-description">
598
+ <div class="tsd-comment tsd-typography"><p>The function subtracts a given value from the x and y components of a Vector2D object and returns a new Vector2D
599
+ object.</p>
600
+ </div>
601
+ <div class="tsd-parameters">
602
+ <h4 class="tsd-parameters-title">Parameters</h4>
603
+ <ul class="tsd-parameter-list">
604
+ <li>
605
+ <h5><span class="tsd-kind-parameter">vector</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
606
+ <div class="tsd-comment tsd-typography"><p>The parameter &quot;vector&quot; is of type Vector2D, which represents a 2-dimensional vector with
607
+ x and y components.</p>
608
+ </div>
609
+ <div class="tsd-comment tsd-typography"></div></li>
610
+ <li>
611
+ <h5><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">number</span></h5>
612
+ <div class="tsd-comment tsd-typography"><p>The &quot;value&quot; parameter is a number that will be subtracted from both the x and y components
613
+ of the &quot;vector&quot; parameter.</p>
614
+ </div>
615
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
616
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>A new Vector2D object with the x and y values subtracted by the given value.</p>
617
+
618
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
619
+ <ul>
620
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L86">src/data-structures/matrix/vector2d.ts:86</a></li></ul></aside></li></ul></section>
621
+ <section class="tsd-panel tsd-member"><a id="truncate" class="tsd-anchor"></a>
622
+ <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>truncate</span><a href="#truncate" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
623
+ <ul class="tsd-signatures">
624
+ <li class="tsd-signature tsd-anchor-link" id="truncate.truncate-1"><span class="tsd-kind-call-signature">truncate</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vector</span>, <span class="tsd-kind-parameter">max</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a><a href="#truncate.truncate-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
625
+ <li class="tsd-description">
626
+ <div class="tsd-comment tsd-typography"><p>The function truncates a vector to a maximum length if it exceeds that length.Adjusts x and y so that the length of the vector does not exceed max</p>
627
+ </div>
628
+ <div class="tsd-parameters">
629
+ <h4 class="tsd-parameters-title">Parameters</h4>
630
+ <ul class="tsd-parameter-list">
631
+ <li>
632
+ <h5><span class="tsd-kind-parameter">vector</span>: <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h5>
633
+ <div class="tsd-comment tsd-typography"><p>A 2D vector represented by the Vector2D class.</p>
634
+ </div>
635
+ <div class="tsd-comment tsd-typography"></div></li>
636
+ <li>
637
+ <h5><span class="tsd-kind-parameter">max</span>: <span class="tsd-signature-type">number</span></h5>
638
+ <div class="tsd-comment tsd-typography"><p>The <code>max</code> parameter is a number that represents the maximum length that the <code>vector</code> should
639
+ have.</p>
640
+ </div>
641
+ <div class="tsd-comment tsd-typography"></div></li></ul></div>
642
+ <h4 class="tsd-returns-title">Returns <a href="Vector2D.html" class="tsd-signature-type tsd-kind-class">Vector2D</a></h4><p>either the original vector or a truncated version of the vector, depending on whether the length of the
643
+ vector is greater than the maximum value specified.</p>
644
+
645
+ <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
646
+ <ul>
647
+ <li>Defined in <a href="https://github.com/zrwusa/data-structure-typed/blob/83d3f8d/src/data-structures/matrix/vector2d.ts#L168">src/data-structures/matrix/vector2d.ts:168</a></li></ul></aside></li></ul></section></section></div>
648
+ <div class="col-sidebar">
649
+ <div class="page-menu">
650
+ <div class="tsd-navigation settings">
651
+ <details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
652
+ <h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)" id="icon-chevronDown"></path></svg>Settings</h3></summary>
653
+ <div class="tsd-accordion-details">
654
+ <div class="tsd-filter-visibility">
655
+ <h4 class="uppercase">Member Visibility</h4><form>
656
+ <ul id="tsd-filter-options">
657
+ <li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
658
+ <li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
659
+ <li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
660
+ <li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
661
+ <div class="tsd-theme-toggle">
662
+ <h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
663
+ <details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary">
664
+ <h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="#icon-chevronDown"></use></svg>On This Page</h3></summary>
665
+ <div class="tsd-accordion-details">
666
+ <ul>
667
+ <li><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-512"></use></svg><span>constructor</span></a></li>
668
+ <li><a href="#w" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>w</span></a></li>
669
+ <li><a href="#x" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>x</span></a></li>
670
+ <li><a href="#y" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>y</span></a></li>
671
+ <li><a href="#isZero" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>is<wbr/>Zero</span></a></li>
672
+ <li><a href="#length" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>length</span></a></li>
673
+ <li><a href="#lengthSq" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>length<wbr/>Sq</span></a></li>
674
+ <li><a href="#rounded" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>rounded</span></a></li>
675
+ <li><a href="#zero" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>zero</span></a></li>
676
+ <li><a href="#abs" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>abs</span></a></li>
677
+ <li><a href="#add" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add</span></a></li>
678
+ <li><a href="#angle" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>angle</span></a></li>
679
+ <li><a href="#distance" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>distance</span></a></li>
680
+ <li><a href="#distanceSq" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>distance<wbr/>Sq</span></a></li>
681
+ <li><a href="#divide" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>divide</span></a></li>
682
+ <li><a href="#dot" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>dot</span></a></li>
683
+ <li><a href="#equals" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>equals</span></a></li>
684
+ <li><a href="#equalsRounded" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>equals<wbr/>Rounded</span></a></li>
685
+ <li><a href="#multiply" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>multiply</span></a></li>
686
+ <li><a href="#normalize" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>normalize</span></a></li>
687
+ <li><a href="#perp" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>perp</span></a></li>
688
+ <li><a href="#random" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>random</span></a></li>
689
+ <li><a href="#reverse" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>reverse</span></a></li>
690
+ <li><a href="#sign" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>sign</span></a></li>
691
+ <li><a href="#subtract" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>subtract</span></a></li>
692
+ <li><a href="#subtractValue" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>subtract<wbr/>Value</span></a></li>
693
+ <li><a href="#truncate" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>truncate</span></a></li></ul></div></details></div>
694
+ <div class="site-menu">
695
+ <nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-4"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)"></path></g></svg><span>data-<wbr/>structure-<wbr/>typed</span></a>
696
+ <ul class="tsd-small-nested-navigation">
697
+ <li><a href="../enums/CP.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-8"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.45 16V7.24H14.49V8.224H10.518V10.936H14.07V11.908H10.518V15.016H14.49V16H9.45Z" fill="var(--color-text)"></path></g></svg><span>CP</span></a></li>
698
+ <li><a href="../enums/FamilyPosition.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-8"></use></svg><span>Family<wbr/>Position</span></a></li>
699
+ <li><a href="../enums/LoopType.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-8"></use></svg><span>Loop<wbr/>Type</span></a></li>
700
+ <li><a href="../enums/RBColor.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-8"></use></svg><span>RBColor</span></a></li>
701
+ <li><a href="../enums/TopologicalProperty.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-8"></use></svg><span>Topological<wbr/>Property</span></a></li>
702
+ <li><a href="AVLTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-128"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)"></path></g></svg><span>AVLTree</span></a></li>
703
+ <li><a href="AVLTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>AVLTree<wbr/>Node</span></a></li>
704
+ <li><a href="AaTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Aa<wbr/>Tree</span></a></li>
705
+ <li><a href="AbstractBinaryTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree</span></a></li>
706
+ <li><a href="AbstractBinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Node</span></a></li>
707
+ <li><a href="AbstractEdge.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Edge</span></a></li>
708
+ <li><a href="AbstractGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Graph</span></a></li>
709
+ <li><a href="AbstractVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Abstract<wbr/>Vertex</span></a></li>
710
+ <li><a href="ArrayDeque.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Array<wbr/>Deque</span></a></li>
711
+ <li><a href="BST.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>BST</span></a></li>
712
+ <li><a href="BSTNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>BSTNode</span></a></li>
713
+ <li><a href="BTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>BTree</span></a></li>
714
+ <li><a href="BinaryIndexedTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Binary<wbr/>Indexed<wbr/>Tree</span></a></li>
715
+ <li><a href="BinaryTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Binary<wbr/>Tree</span></a></li>
716
+ <li><a href="BinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Binary<wbr/>Tree<wbr/>Node</span></a></li>
717
+ <li><a href="Character.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Character</span></a></li>
718
+ <li><a href="CoordinateMap.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Coordinate<wbr/>Map</span></a></li>
719
+ <li><a href="CoordinateSet.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Coordinate<wbr/>Set</span></a></li>
720
+ <li><a href="Deque.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Deque</span></a></li>
721
+ <li><a href="DirectedEdge.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Directed<wbr/>Edge</span></a></li>
722
+ <li><a href="DirectedGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Directed<wbr/>Graph</span></a></li>
723
+ <li><a href="DirectedVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Directed<wbr/>Vertex</span></a></li>
724
+ <li><a href="DoublyLinkedList.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Doubly<wbr/>Linked<wbr/>List</span></a></li>
725
+ <li><a href="DoublyLinkedListNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Doubly<wbr/>Linked<wbr/>List<wbr/>Node</span></a></li>
726
+ <li><a href="HashTable.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Hash<wbr/>Table</span></a></li>
727
+ <li><a href="Heap.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Heap</span></a></li>
728
+ <li><a href="HeapItem.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Heap<wbr/>Item</span></a></li>
729
+ <li><a href="LinkedListQueue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Linked<wbr/>List<wbr/>Queue</span></a></li>
730
+ <li><a href="MapEdge.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Map<wbr/>Edge</span></a></li>
731
+ <li><a href="MapGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Map<wbr/>Graph</span></a></li>
732
+ <li><a href="MapVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Map<wbr/>Vertex</span></a></li>
733
+ <li><a href="Matrix2D.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Matrix2D</span></a></li>
734
+ <li><a href="MatrixNTI2D.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>MatrixNTI2D</span></a></li>
735
+ <li><a href="MaxHeap.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Max<wbr/>Heap</span></a></li>
736
+ <li><a href="MaxPriorityQueue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Max<wbr/>Priority<wbr/>Queue</span></a></li>
737
+ <li><a href="MinHeap.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Min<wbr/>Heap</span></a></li>
738
+ <li><a href="MinPriorityQueue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Min<wbr/>Priority<wbr/>Queue</span></a></li>
739
+ <li><a href="Navigator.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Navigator</span></a></li>
740
+ <li><a href="ObjectDeque.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Object<wbr/>Deque</span></a></li>
741
+ <li><a href="Pair.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Pair</span></a></li>
742
+ <li><a href="PriorityQueue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Priority<wbr/>Queue</span></a></li>
743
+ <li><a href="Queue.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Queue</span></a></li>
744
+ <li><a href="RBTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>RBTree</span></a></li>
745
+ <li><a href="RBTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>RBTree<wbr/>Node</span></a></li>
746
+ <li><a href="SegmentTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Segment<wbr/>Tree</span></a></li>
747
+ <li><a href="SegmentTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Segment<wbr/>Tree<wbr/>Node</span></a></li>
748
+ <li><a href="SinglyLinkedList.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Singly<wbr/>Linked<wbr/>List</span></a></li>
749
+ <li><a href="SinglyLinkedListNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Singly<wbr/>Linked<wbr/>List<wbr/>Node</span></a></li>
750
+ <li><a href="SkipLinkedList.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Skip<wbr/>Linked<wbr/>List</span></a></li>
751
+ <li><a href="SplayTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Splay<wbr/>Tree</span></a></li>
752
+ <li><a href="Stack.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Stack</span></a></li>
753
+ <li><a href="TreeMap.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Map</span></a></li>
754
+ <li><a href="TreeMultiset.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Multiset</span></a></li>
755
+ <li><a href="TreeMultisetNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Multiset<wbr/>Node</span></a></li>
756
+ <li><a href="TreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Node</span></a></li>
757
+ <li><a href="TreeSet.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Tree<wbr/>Set</span></a></li>
758
+ <li><a href="Trie.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Trie</span></a></li>
759
+ <li><a href="TrieNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Trie<wbr/>Node</span></a></li>
760
+ <li><a href="TwoThreeTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Two<wbr/>Three<wbr/>Tree</span></a></li>
761
+ <li><a href="UndirectedEdge.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Edge</span></a></li>
762
+ <li><a href="UndirectedGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Graph</span></a></li>
763
+ <li><a href="UndirectedVertex.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Undirected<wbr/>Vertex</span></a></li>
764
+ <li><a href="Vector2D.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-128"></use></svg><span>Vector2D</span></a></li>
765
+ <li><a href="../interfaces/IAVLTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-256"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)"></path></g></svg><span>IAVLTree</span></a></li>
766
+ <li><a href="../interfaces/IAbstractBinaryTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IAbstract<wbr/>Binary<wbr/>Tree</span></a></li>
767
+ <li><a href="../interfaces/IAbstractBinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IAbstract<wbr/>Binary<wbr/>Tree<wbr/>Node</span></a></li>
768
+ <li><a href="../interfaces/IAbstractGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IAbstract<wbr/>Graph</span></a></li>
769
+ <li><a href="../interfaces/IBST.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IBST</span></a></li>
770
+ <li><a href="../interfaces/IDirectedGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IDirected<wbr/>Graph</span></a></li>
771
+ <li><a href="../interfaces/IRBTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IRBTree</span></a></li>
772
+ <li><a href="../interfaces/IUNDirectedGraph.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-256"></use></svg><span>IUNDirected<wbr/>Graph</span></a></li>
773
+ <li><a href="../types/AVLTreeNodeNested.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-4194304"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)"></path></g></svg><span>AVLTree<wbr/>Node<wbr/>Nested</span></a></li>
774
+ <li><a href="../types/AVLTreeOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>AVLTree<wbr/>Options</span></a></li>
775
+ <li><a href="../types/AbstractBinaryTreeNodeNested.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Node<wbr/>Nested</span></a></li>
776
+ <li><a href="../types/AbstractBinaryTreeNodeProperties.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Node<wbr/>Properties</span></a></li>
777
+ <li><a href="../types/AbstractBinaryTreeNodeProperty.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Node<wbr/>Property</span></a></li>
778
+ <li><a href="../types/AbstractBinaryTreeOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Abstract<wbr/>Binary<wbr/>Tree<wbr/>Options</span></a></li>
779
+ <li><a href="../types/BSTComparator.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>BSTComparator</span></a></li>
780
+ <li><a href="../types/BSTNodeNested.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>BSTNode<wbr/>Nested</span></a></li>
781
+ <li><a href="../types/BSTOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>BSTOptions</span></a></li>
782
+ <li><a href="../types/BinaryTreeDeletedResult.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Deleted<wbr/>Result</span></a></li>
783
+ <li><a href="../types/BinaryTreeNodeId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Node<wbr/>Id</span></a></li>
784
+ <li><a href="../types/BinaryTreeNodeNested.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Node<wbr/>Nested</span></a></li>
785
+ <li><a href="../types/BinaryTreeNodePropertyName.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Node<wbr/>Property<wbr/>Name</span></a></li>
786
+ <li><a href="../types/BinaryTreeOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Binary<wbr/>Tree<wbr/>Options</span></a></li>
787
+ <li><a href="../types/DFSOrderPattern.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>DFSOrder<wbr/>Pattern</span></a></li>
788
+ <li><a href="../types/DijkstraResult.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Dijkstra<wbr/>Result</span></a></li>
789
+ <li><a href="../types/Direction.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Direction</span></a></li>
790
+ <li><a href="../types/DummyAny.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Dummy<wbr/>Any</span></a></li>
791
+ <li><a href="../types/EdgeId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Edge<wbr/>Id</span></a></li>
792
+ <li><a href="../types/HeapOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Heap<wbr/>Options</span></a></li>
793
+ <li><a href="../types/IAVLTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>IAVLTree<wbr/>Node</span></a></li>
794
+ <li><a href="../types/IBSTNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>IBSTNode</span></a></li>
795
+ <li><a href="../types/IBinaryTree.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>IBinary<wbr/>Tree</span></a></li>
796
+ <li><a href="../types/IBinaryTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>IBinary<wbr/>Tree<wbr/>Node</span></a></li>
797
+ <li><a href="../types/IRBTreeNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>IRBTree<wbr/>Node</span></a></li>
798
+ <li><a href="../types/ITreeMultiset.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>ITree<wbr/>Multiset</span></a></li>
799
+ <li><a href="../types/ITreeMultisetNode.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>ITree<wbr/>Multiset<wbr/>Node</span></a></li>
800
+ <li><a href="../types/KeyValueObject.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Key<wbr/>Value<wbr/>Object</span></a></li>
801
+ <li><a href="../types/KeyValueObjectWithId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Key<wbr/>Value<wbr/>Object<wbr/>With<wbr/>Id</span></a></li>
802
+ <li><a href="../types/MapGraphCoordinate.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Map<wbr/>Graph<wbr/>Coordinate</span></a></li>
803
+ <li><a href="../types/NavigatorParams.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Navigator<wbr/>Params</span></a></li>
804
+ <li><a href="../types/NodeOrPropertyName.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Node<wbr/>Or<wbr/>Property<wbr/>Name</span></a></li>
805
+ <li><a href="../types/NonNumberNonObjectButDefined.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Non<wbr/>Number<wbr/>Non<wbr/>Object<wbr/>But<wbr/>Defined</span></a></li>
806
+ <li><a href="../types/ObjectWithNonNumberId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Object<wbr/>With<wbr/>Non<wbr/>Number<wbr/>Id</span></a></li>
807
+ <li><a href="../types/ObjectWithNumberId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Object<wbr/>With<wbr/>Number<wbr/>Id</span></a></li>
808
+ <li><a href="../types/ObjectWithoutId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Object<wbr/>Without<wbr/>Id</span></a></li>
809
+ <li><a href="../types/PriorityQueueComparator.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Priority<wbr/>Queue<wbr/>Comparator</span></a></li>
810
+ <li><a href="../types/PriorityQueueDFSOrderPattern.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Priority<wbr/>QueueDFSOrder<wbr/>Pattern</span></a></li>
811
+ <li><a href="../types/PriorityQueueOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Priority<wbr/>Queue<wbr/>Options</span></a></li>
812
+ <li><a href="../types/RBTreeNodeNested.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>RBTree<wbr/>Node<wbr/>Nested</span></a></li>
813
+ <li><a href="../types/RBTreeOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>RBTree<wbr/>Options</span></a></li>
814
+ <li><a href="../types/RestrictValById.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Restrict<wbr/>Val<wbr/>By<wbr/>Id</span></a></li>
815
+ <li><a href="../types/SegmentTreeNodeVal.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Segment<wbr/>Tree<wbr/>Node<wbr/>Val</span></a></li>
816
+ <li><a href="../types/SpecifyOptional.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Specify<wbr/>Optional</span></a></li>
817
+ <li><a href="../types/Thunk.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Thunk</span></a></li>
818
+ <li><a href="../types/ToThunkFn.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>To<wbr/>Thunk<wbr/>Fn</span></a></li>
819
+ <li><a href="../types/TopologicalStatus.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Topological<wbr/>Status</span></a></li>
820
+ <li><a href="../types/TreeMultisetNodeNested.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Tree<wbr/>Multiset<wbr/>Node<wbr/>Nested</span></a></li>
821
+ <li><a href="../types/TreeMultisetOptions.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Tree<wbr/>Multiset<wbr/>Options</span></a></li>
822
+ <li><a href="../types/TrlAsyncFn.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Trl<wbr/>Async<wbr/>Fn</span></a></li>
823
+ <li><a href="../types/TrlFn.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Trl<wbr/>Fn</span></a></li>
824
+ <li><a href="../types/Turning.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Turning</span></a></li>
825
+ <li><a href="../types/VertexId.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-4194304"></use></svg><span>Vertex<wbr/>Id</span></a></li>
826
+ <li><a href="../variables/THUNK_SYMBOL.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-32"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M11.106 16L8.85 7.24H9.966L11.454 13.192C11.558 13.608 11.646 13.996 11.718 14.356C11.79 14.708 11.842 14.976 11.874 15.16C11.906 14.976 11.954 14.708 12.018 14.356C12.09 13.996 12.178 13.608 12.282 13.192L13.758 7.24H14.85L12.582 16H11.106Z" fill="var(--color-text)"></path></g></svg><span>THUNK_<wbr/>SYMBOL</span></a></li>
827
+ <li><a href="../functions/arrayRemove.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-64"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><path d="M9.39 16V7.24H14.55V8.224H10.446V11.128H14.238V12.112H10.47V16H9.39Z" fill="var(--color-text)"></path></g></svg><span>array<wbr/>Remove</span></a></li>
828
+ <li><a href="../functions/isThunk.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>is<wbr/>Thunk</span></a></li>
829
+ <li><a href="../functions/toThunk.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>to<wbr/>Thunk</span></a></li>
830
+ <li><a href="../functions/trampoline.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>trampoline</span></a></li>
831
+ <li><a href="../functions/trampolineAsync.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>trampoline<wbr/>Async</span></a></li>
832
+ <li><a href="../functions/uuidV4.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-64"></use></svg><span>uuid<wbr/>V4</span></a></li></ul></nav></div></div></div>
833
+ <div class="tsd-generator">
834
+ <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div>
835
+ <div class="overlay"></div></body></html>