Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
132 commits
Select commit Hold shift + click to select a range
4bff01b
Setting up GitHub Classroom Feedback
github-classroom[bot] Mar 13, 2024
264f4af
Adding simple gitignore file template
IlyaSuponev Mar 13, 2024
346888b
Adding gradle project files
IlyaSuponev Mar 13, 2024
95ef20e
Adding search tree library file structure at project
IlyaSuponev Mar 13, 2024
93dd96e
Update nodes classes and interfaces with adding properties and update…
IlyaSuponev Mar 13, 2024
6d01847
Update search-tree interface and simple init by abstract binary searc…
IlyaSuponev Mar 13, 2024
9fda59b
Update abstract node class to calling update data method for balanced…
IlyaSuponev Mar 14, 2024
e53ad61
Adding simple ReadMe file with description about library by path ./l…
IlyaSuponev Mar 14, 2024
ac6bd18
Adding LICENSE file with MIT-License description
IlyaSuponev Mar 14, 2024
f50ce8f
Update LICENSE file with MIT-License description by fix names of the …
IlyaSuponev Mar 14, 2024
d6b3635
feat(AVLTree): implement balance functions
RodionovMaxim05 Mar 19, 2024
30b2815
feat(AVLTree): implement insert
RodionovMaxim05 Mar 19, 2024
ca71abf
feat(AVLTree): implement remove and removeWithDefault
RodionovMaxim05 Mar 19, 2024
37609c7
refactor(AVLTreeNode): simplify updatingHeight and remove updateNodeData
RodionovMaxim05 Mar 19, 2024
ff3f2e0
feat: add general methods and rename file RedBlackTree
Mar 20, 2024
977da3c
feat(Refactoring): The implementation of the removeWithDefault(K) met…
IlyaSuponev Mar 20, 2024
a07d41c
feat(Addding iterators):
IlyaSuponev Mar 20, 2024
5e771ac
feat(Adding iterators)
IlyaSuponev Mar 20, 2024
f104893
Merge remote-tracking branch 'origin/dev' into dev
IlyaSuponev Mar 20, 2024
6e8d900
feat(Adding insert operation at RBTree)
IlyaSuponev Mar 20, 2024
e4d0a52
refactor: rewrite combine remove and insert for AVLTree and BSTree (n…
Mar 24, 2024
f049ebd
refactor(AVLTree & AVLTreeNode): combine code with AbstractBSTree. Ad…
RodionovMaxim05 Mar 24, 2024
d429211
refactor: update RBTree & RBTreeNode by combining the insert method w…
IlyaSuponev Mar 24, 2024
169d9e7
feat: Update lib/ReadMe.md by adding description of library and some …
IlyaSuponev Mar 24, 2024
9a33302
feat: add simple root ReadMe for project with simple info upbout it
IlyaSuponev Mar 24, 2024
6834d74
fix: invalid header which do not display information about the projec…
IlyaSuponev Mar 24, 2024
5a2676d
feat: Adding doc-string for some source files.
IlyaSuponev Mar 25, 2024
742427f
docs(AVLTree & AVLTreeNode): add doc-strings
RodionovMaxim05 Mar 25, 2024
92b4d21
style: rename one method to 'contains' and rename the library to 'Tre…
Mar 26, 2024
d32f2d1
feat: add 'get' and 'set' methods to interact with trees as with a map
Mar 26, 2024
986e09e
docs: add doc-strings for the classes and interfaces: SearchTree, Sea…
Mar 26, 2024
7ed7d11
refactor: add more information to the ReadMe file withsome links to d…
IlyaSuponev Mar 26, 2024
cee9e28
refactor: update info at root ReadMe file by updating roadmap and aut…
IlyaSuponev Mar 26, 2024
bf69065
test: add simple tests case for RBTree such as initializing tree, che…
IlyaSuponev Mar 28, 2024
52efdcd
fix: remove invalid assertion method for RBTreeTestAssistant which us…
IlyaSuponev Mar 28, 2024
a751437
refactor: replace equals nodes methods to assertions utils file(Asser…
IlyaSuponev Mar 28, 2024
9e72e44
test: add tests for utility methods to work with nodes
IlyaSuponev Mar 28, 2024
4628225
test: add tests for red-black tree node to check valid initialize and…
IlyaSuponev Mar 28, 2024
cbd9152
refactor: update method source to template view: 'test%(test-name)Cases'
IlyaSuponev Mar 28, 2024
42ab018
refactor: update test methods name to template view: 'test%(test-caus…
IlyaSuponev Mar 28, 2024
e914dde
test: add tests for private left and right node rotations methods
IlyaSuponev Mar 29, 2024
cc88eda
test: add test for private method to flip color of node and its child…
IlyaSuponev Mar 29, 2024
3deb3c6
test: add tests for private methods of creation new tree node, updati…
IlyaSuponev Mar 30, 2024
4d504e2
test(AVLTreeNode): add constructor for node, add tests for updateHeight
RodionovMaxim05 Mar 30, 2024
3106128
test(AVLTree): update access params of method from private to protect…
RodionovMaxim05 Mar 30, 2024
1458b9d
test: update test for balance tree method by adding cases to test it
IlyaSuponev Mar 30, 2024
35b1ef6
refactor: remove redundant information at file RBTreeTest.kt during o…
IlyaSuponev Mar 30, 2024
efe50e8
Merge local branch 'test-dev' into test branch
IlyaSuponev Mar 30, 2024
7a46637
test(AVLTree): add tests for balance, add test for balanceFactor, cha…
RodionovMaxim05 Mar 30, 2024
e480d9d
test: add tests for insert methods such as insert 1 element, insert d…
IlyaSuponev Mar 30, 2024
2da470e
refactor: update initialize test by adding assertion 'is tree with ro…
IlyaSuponev Mar 30, 2024
5f9b8ba
refactor: remove output printing log information of insert tests
IlyaSuponev Mar 30, 2024
8c43815
refactor: update private insert of test to test public tree method 's…
IlyaSuponev Mar 30, 2024
d507e83
test(AVLTree): add tests for createNode, balanceTree
RodionovMaxim05 Mar 30, 2024
8a26f0b
test(AVLTreeNode): add test for class field
RodionovMaxim05 Mar 31, 2024
a02f815
test(BSTree): BSTreeTest and BSTreeTestAssistant classes are created.…
Mar 31, 2024
86dca1e
test: add autotests that build the project and run tests with 'jacoco…
Mar 31, 2024
7064395
docs: update ReadMe, delete ReadMe from lib/
RodionovMaxim05 Mar 31, 2024
fbee719
docs: update links in ReadMe
RodionovMaxim05 Mar 31, 2024
de325f1
refactor: rename several methods according to their invariant. Renumb…
Mar 31, 2024
8e50a01
test: add tests of basic methods for AbstractBSTree
Mar 31, 2024
42a4484
docs: fix the typo in 'removeOrDefault' method
Mar 31, 2024
8f69a4b
test(BSTree): add tests for 'updateRoot' and 'balanceTree' methods
Friend-zva Mar 31, 2024
7975b78
Merge test and main (#2)
Friend-zva Mar 31, 2024
967e7fd
fix: rewrite remove node method at red-black tree. Add perent propert…
IlyaSuponev Mar 31, 2024
0cf42f4
fix: update CI script to valid run of gradle build and run test tasks
IlyaSuponev Mar 31, 2024
67a0c61
fix: remove unnecessary insertion tests at red-black tree
IlyaSuponev Mar 31, 2024
8ff064e
Merge branch 'main' into test
IlyaSuponev Mar 31, 2024
5e78d5c
Merge pull request #4 from spbu-coding-2023/test
IlyaSuponev Mar 31, 2024
e43ea99
test(BSTree): add 'test' prefix to names of BSTree test methods. Add …
Friend-zva Apr 1, 2024
9cf737f
refactor: update null parent value check to getting uncle at RBTreeNode
IlyaSuponev Apr 1, 2024
c49bd8b
test: update initialized tests to assert parent as null value and ass…
IlyaSuponev Apr 1, 2024
23c344f
test: add tests to assert parent setter and tests of uncle getter
IlyaSuponev Apr 1, 2024
0d56925
refactor: add new constructor of simple BSTreeNode by adding params a…
IlyaSuponev Apr 1, 2024
09a7423
refactor: union two secondary constructor of BinarySearchTreeIterator…
IlyaSuponev Apr 1, 2024
5ccfab6
test: add tests to iterators and all orders
IlyaSuponev Apr 1, 2024
26cb79a
refactor: add @DisplayName to tests
RodionovMaxim05 Apr 1, 2024
66b1932
refactor: update displayed names of tests names
IlyaSuponev Apr 1, 2024
0985648
test: add new test case of `flip colors of node` test at red-black tree
IlyaSuponev Apr 1, 2024
e34d02c
refactor: update viability of companion objects at tests
IlyaSuponev Apr 1, 2024
aafb36d
refactor: update viability some methods at tests
IlyaSuponev Apr 1, 2024
f86f548
refactor: union methods removeNode at AbstractBSTree and removeNode a…
IlyaSuponev Apr 1, 2024
eee5fbf
test(BSTree): add a test for iterator. Add missing exceptions to all …
Friend-zva Apr 3, 2024
5a4a51c
refactor: change the output a key/value pair of a node and tests for …
Friend-zva Apr 3, 2024
dd4afdc
test: add tests for the iteration with 'forEach' and output a tree to…
Friend-zva Apr 3, 2024
dfc8d2d
refactor: change output a tree to the string. Rename some variables a…
Friend-zva Apr 3, 2024
316a638
docs: add new methods to examples in ReadMe, change the output accord…
RodionovMaxim05 Apr 3, 2024
bc671e0
Merge pull request #5 from spbu-coding-2023/test
RodionovMaxim05 Apr 3, 2024
a24770b
refactor(RBTree): backup to version on commit with ID 8c43815
IlyaSuponev Apr 3, 2024
25e6975
docs: add CAUTION information about red-black tree
IlyaSuponev Apr 3, 2024
5f054f3
chore: change the build instruction and worlflow yml-script
Friend-zva Apr 3, 2024
a3745b9
fix: fix double run tests and incorrect work tests
Friend-zva Apr 3, 2024
8ae6236
Merge pull request #6 from spbu-coding-2023/test
Friend-zva Apr 3, 2024
d3a5802
add '@DisplayName' to all RBTreeTest methods. Add a case of remove in…
Friend-zva Apr 3, 2024
a931926
Merge pull request #7 from spbu-coding-2023/test
Friend-zva Apr 3, 2024
80c6352
fix: add updating size after remove
IlyaSuponev Apr 5, 2024
6112520
fix: update balanceTree and removeNode and removeMinNode methods at R…
IlyaSuponev Apr 5, 2024
fea92ad
test: update test cases of insert, rotations and add tests for remove…
IlyaSuponev Apr 5, 2024
5a7869b
test: update test of remove for BSTree to assertion size changed afte…
IlyaSuponev Apr 5, 2024
b97dbbd
feat: java language type of as 19 version is being standardized
IlyaSuponev Apr 5, 2024
853e8e0
refactor: clear readme by removing caution information. Update get st…
IlyaSuponev Apr 5, 2024
5d40874
Merge pull request #8 from spbu-coding-2023/test
IlyaSuponev Apr 5, 2024
091dab9
refactor: delete 'getSize' method and make getter of 'size' property …
Friend-zva Apr 6, 2024
5c676d6
refactor: update usage of tree size getter at AVLTreeTest and RBTreeTest
IlyaSuponev Apr 7, 2024
e8660d8
refactor: update null checking at remove node at RBTree
IlyaSuponev Apr 7, 2024
ca3db51
refactor: update createNode method at RBTree to always valid init of …
IlyaSuponev Apr 7, 2024
f4945f2
test: add tests of removeMinNode method at RBTree
IlyaSuponev Apr 7, 2024
94be012
refactor: update get root method at RBTreeTestAssistant
IlyaSuponev Apr 7, 2024
121dc52
test: add test of removing not contains elements at tree
IlyaSuponev Apr 7, 2024
863b66d
refactor: change name of assertion param from 'tree_view' to 'treeView'
IlyaSuponev Apr 7, 2024
8280df1
test: add tests of moveRedRight of RBTree
IlyaSuponev Apr 7, 2024
fd9761b
refactor: add public modifier to methods of RBTreeTestAssistant
IlyaSuponev Apr 7, 2024
88e2903
Merge pull request #9 from spbu-coding-2023/test
IlyaSuponev Apr 7, 2024
bce53e6
test: add table information about coverage of each classes at library…
IlyaSuponev Apr 8, 2024
052e2bc
refactor: update format of coverage information
IlyaSuponev Apr 8, 2024
68ece3f
refactor: update test gradle task and change logging of it. Update in…
IlyaSuponev Apr 8, 2024
1a493ec
test: add test result printer to terminal and add run cmd at action w…
IlyaSuponev Apr 9, 2024
1a1a6c4
fix: update yml-script to continue execution on error at execution tests
IlyaSuponev Apr 9, 2024
a541b27
Update build-test.yml by change tasks line init
IlyaSuponev Apr 9, 2024
e299d15
fix: update build-test.yml to contiue on error at tests runtime(test …
IlyaSuponev Apr 9, 2024
3c5420b
refactor: update test result printer test
IlyaSuponev Apr 9, 2024
87b88fa
refactor: update yml-script to more-continue on error at same steps o…
IlyaSuponev Apr 9, 2024
410fdc3
test: add colorize output of tests result printer
IlyaSuponev Apr 9, 2024
cc7f891
test: add colorize output of tests coverage printer
IlyaSuponev Apr 9, 2024
2b6c419
refactor: set yml-script result checking of execution test task
IlyaSuponev Apr 9, 2024
9f52cf3
refactor: delete test that always crashes, used to check the output o…
IlyaSuponev Apr 9, 2024
e1956c7
refactor: update yml-script to minimaize checking of tests execution.…
IlyaSuponev Apr 9, 2024
092b89d
refactor: split display_test function into two parse_test_result and …
IlyaSuponev Apr 9, 2024
2185545
refactor: update names of steps at yml-script
IlyaSuponev Apr 9, 2024
054d6f8
test: update python-script for displaying test results and update it …
IlyaSuponev Apr 9, 2024
8a0b4ed
refactor: remove unnecessary variable type declarations
IlyaSuponev Apr 9, 2024
a9478b3
Merge pull request #10 from spbu-coding-2023/test
IlyaSuponev Apr 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#
# https://help.github.com/articles/dealing-with-line-endings/
#
# Linux start script should use lf
/gradlew text eol=lf

# These are Windows script files and should use crlf
*.bat text eol=crlf

35 changes: 35 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Build and test

on:
workflow_dispatch:

push:
branches: [ "main", "dev" ]
pull_request:
branches: [ "main" ]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Build source code
run: ./gradlew build -x test

- name: Run tests
run: ./gradlew test >./test-res-out.log 2>./test-res-err.log
continue-on-error: true

- name: Display test results
run: python3 ./scripts/test-result-printer.py --dir ./lib/build/test-results/test --all-failures

- name: Run jacoco coverage report
run: ./gradlew jacocoTestReport >./test-res-out.log 2>./test-res-err.log

- name: Display info about coverage
run: python3 ./scripts/csv-reports-printer.py --input ./lib/build/reports/jacoco/info.csv --lib lib

- name: Clear tmpfiles of runnig tests
run: rm ./test-res-out.log && rm ./test-res-err.log
16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
### Gradle console-app generated template
# Ignore Gradle project-specific cache directory
.gradle

# Ignore Gradle build output directory
*/build/*

### VSCode Template
.vscode/

### IntelliJ IDEA Template
.idea/
*.iml

### Apple MacOS folder attributes
*.DS_Store
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2024 Ilia Suponev, Maxim Rodionov, Vladimir Zaikin

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
270 changes: 270 additions & 0 deletions ReadMe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,270 @@
[//]: # (Project readme template from https://github.com/othneildrew/Best-README-Template/)
<a name="readme-top"></a>

[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)


<h1 align="center">TreeTripper</h1>

## Description

Library `TreeTripper`: provides implementations of the following binary search tree data structures:
- [x] [`Binary Search Tree`](lib/src/main/kotlin/tree_tripper/binary_trees/BSTree.kt), see more [information](https://en.wikipedia.org/wiki/Binary_search_tree)
- [x] [`AVL tree`](lib/src/main/kotlin/tree_tripper/binary_trees/AVLTree.kt), see more [information](https://en.wikipedia.org/wiki/AVL_tree)
- [x] [`Red-black tree`](lib/src/main/kotlin/tree_tripper/binary_trees/RBTree.kt),
see more [information](https://en.wikipedia.org/wiki/Left-leaning_red%E2%80%93black_tree)

> [!IMPORTANT]
> The red-black tree is implemented based on the algorithm
> of left-linear red-black trees described by Robert Sedgewick
> on his [website](https://sedgewick.io/) and [presentation](https://sedgewick.io/wp-content/uploads/2022/03/2008-09LLRB.pdf) about it

The library supports the extension both internally (future library updates) and externally (implemented by the user).

## Getting started
To run building library execute command:
```bash
./gradlew build -x test
```

To run tests of library execute command:
```bash
./gradlew test
```

## Using library

### Basic operations
+ `insert`, see [docs](lib/src/main/kotlin/tree_tripper/SearchTree.kt#L17)
+ `search`, see [docs](lib/src/main/kotlin/tree_tripper/SearchTree.kt#L50)
+ `remove`, see [docs](lib/src/main/kotlin/tree_tripper/SearchTree.kt#L36)

### Examples

##### Example 1 (importing)
```kotlin
import tree_tripper.binary_trees.BSTree
import tree_tripper.binary_trees.AVLTree
import tree_tripper.binary_trees.RBTree


val simpleTree = BSTree<String, Int>() // initialization of empty simple binary search tree
val avlTree = AVLTree<Int, StringBuilder>() // initialization of empty AVL tree
val rbTree = RBTree<String, LinkedHashSet<Long>>() // initialization of empty Red-Black tree
```

##### Example 2 (inserting)
Code:
```kotlin
import tree_tripper.binary_trees.BSTree

fun main() {
val tree = BSTree<Int, Int>()

tree.insert(key = 1, value = 1)
tree.insert(key = 2, value = 2)
tree.insert(key = 3, value = 3)

/* The words `key` and `value` are optional */
tree.insert(4, 4)

/* Alternative insert method */
tree[5] = 5

println(tree)
}
```
Output:
```text
BSTree(1: 1, 2: 2, 3: 3, 4: 4, 5: 5)
```

##### Example 3 (searching)
Code:
```kotlin
import tree_tripper.binary_trees.BSTree

fun main() {
val tree = BSTree<Int, Any>()
/*
...
inserting from `example 2`
...
*/

/* Existing element in tree */
println(tree.search(key = 1))
println(tree.search(key = 3))
println(tree.search(key = 5))

/* Unexciting element in tree */
println(tree.search(key = -2))
println(tree.searchOrDefault(7, "Element not found"))

/* Alternative search method */
println(tree[2])
println(tree[0])
}
```
Output:
```text
1
3
5
null
Element not found
2
null
```

##### Example 4 (removing)
Code:
```kotlin
import tree_tripper.binary_trees.BSTree

fun main() {
val tree = BSTree<Int, Any>()
/*
...
inserting from `example 2`
...
*/

/* Existing element in tree */
println(tree.remove(key = 1))
println(tree.remove(key = 3))
println(tree.remove(key = 5))

/* Unexciting element in tree */
println(tree.remove(key = -2))
println(tree.removeOrDefault(key = 7, "Element not found"))

println(tree)
}
```
Output:
```text
1
3
5
null
Element not found
BSTree(2: 2, 4: 4)
```

##### Example 5 (tree-like printing)
Code:
```kotlin
import tree_tripper.binary_trees.BSTree
import tree_tripper.binary_trees.AVLTree
import tree_tripper.binary_trees.RBTree

fun main() {
val simpleTree = BSTree<Int, Int>()
val avlTree = AVLTree<Int, Int>()
val rbTree = RBTree<Int, Int>()
/*
...
inserting similar to `example 2` for each tree
...
*/

println("${simpleTree.toStringWithTreeView()}\n")
println("${avlTree.toStringWithTreeView()}\n")
println("${rbTree.toStringWithTreeView()}\n")
}
```
Output:
```text
BSTree(
(5: 5)
(4: 4)
(3: 3)
(2: 2)
(1: 1)
)

AVLTree(
(5: 5)
(4: 4)
(3: 3)
(2: 2)
(1: 1)
)

RBTree(
(5: 5) - BLACK
(4: 4) - BLACK
(3: 3) - BLACK
(2: 2) - RED
(1: 1) - BLACK
)
```

##### Example 6 (iterators)
Code:
```kotlin
import tree_tripper.binary_trees.AVLTree

fun main() {
val tree = AVLTree<Int, Int>()
/*
...
inserting from `example 2`
...
*/

println("WIDTH ORDER:")
tree.forEach(IterationOrders.WIDTH_ORDER) {
println(it)
}
println()
println("INCREASING ORDER:")
tree.forEach(IterationOrders.INCREASING_ORDER) {
println(it)
}
println()
println("DECREASING ORDER:")
tree.forEach(IterationOrders.DECREASING_ORDER) {
println(it)
}
}
```
Output:
```text
WIDTH ORDER:
(2: 2)
(1: 1)
(4: 4)
(3: 3)
(5: 5)

INCREASING ORDER:
(1: 1)
(2: 2)
(3: 3)
(4: 4)
(5: 5)

DECREASING ORDER:
(5: 5)
(4: 4)
(3: 3)
(2: 2)
(1: 1)
```

## Documentation
See more [_**documentation**_](lib/src/main/kotlin/tree_tripper/SearchTree.kt) of library `TreeTripper` to learn more about it.

## Authors

- [@IliaSuponeff](https://github.com/IliaSuponeff)
- [@RodionovMaxim05](https://github.com/RodionovMaxim05)
- [@Friend-zva](https://github.com/Friend-zva), sometimes in commits his name is _**Vladimir Zaikin**_

## License

Distributed under the [MIT License](https://choosealicense.com/licenses/mit/). See [`LICENSE`](LICENSE) for more information.

<p align="right">(<a href="#readme-top">back to top</a>)</p>
6 changes: 6 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# This file was generated by the Gradle 'init' task.
# https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties

org.gradle.parallel=true
org.gradle.caching=true

13 changes: 13 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# This file was generated by the Gradle 'init' task.
# https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format

[versions]
commons-math3 = "3.6.1"
guava = "32.1.3-jre"

[libraries]
commons-math3 = { module = "org.apache.commons:commons-math3", version.ref = "commons-math3" }
guava = { module = "com.google.guava:guava", version.ref = "guava" }

[plugins]
jvm = { id = "org.jetbrains.kotlin.jvm", version = "1.9.20" }
Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading