You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://github.com/cicirello/JavaPermutationTools/releases)
[](https://github.com/cicirello/JavaPermutationTools/releases)
12
15
13
16
## How to Cite
14
17
@@ -18,29 +21,34 @@ If you use this library in your research, please cite the following paper:
18
21
19
22
## Overview
20
23
21
-
The JavaPermutationTools (JPT) API provides Java classes that enable representing and generating
22
-
permutations and sequences, as well as performing computation on permutations and sequences.
23
-
It includes implementations of a variety of permutation distance metrics as well as distance
24
-
metrics on sequences (i.e., Strings, arrays, and other ordered data types).
24
+
The JavaPermutationTools (JPT) library provides Java classes and interfaces, etc that
25
+
enable representing and generating permutations and sequences, as well as performing
26
+
computation on permutations and sequences. It includes implementations of a variety
27
+
of permutation distance metrics as well as distance metrics on sequences (i.e., Strings,
28
+
arrays, and other ordered data types).
25
29
26
-
JPT is organized into the following packages:
27
-
*__org.cicirello.permutations__: Permutation class and a class for iterating over permutations.
28
-
*__org.cicirello.permutations.distance__: Collection of permutation distance metric implementations.
29
-
*__org.cicirello.sequences__: Classes that perform a variety of operations on sequences (such as arrays, etc).
30
-
*__org.cicirello.sequences.distance__: Collection of distance metrics on Strings and other sequences.
31
-
*__org.cicirello.math.la__ : Linear algebra related classes.
32
-
*__org.cicirello.math.rand__ : Classes related to efficient, or specialized, random number generation.
33
-
*__org.cicirello.math.stats__: Statistics related classes.
30
+
## Repository Organization
34
31
35
-
Javadoc documentation is in the /docs folder as well as at https://jpt.cicirello.org/
32
+
The GitHub repository is organized as follows:
33
+
* The [/build](build) directory contains an ant build file, and other resources related to building the library.
34
+
* The [/dist](dist) directory contains the compiled jar files of the library.
35
+
* The [/docs](docs) directory contains the javadoc documentation in a sub-directory [/docs/api](docs/api). The /docs directory is also the location of the website for the project hosted via GitHub pages at https://jpt.cicirello.org/.
36
+
* The [/examples](examples) directory contains several example programs that use the library, and which demonstrate usage of various features.
37
+
* The [/replication](replication) directory includes source code that recreates results found in publications associated with the library.
38
+
* The [/src](src) directory contains all of the source code.
39
+
* The [/tests](tests) directory contains JUnit test cases for all functionality of the library.
36
40
37
-
Source code is found in the /src folder. JUnit test classes are found in the /tests folder, which
38
-
mirrors the package structure of /src.
41
+
## Java 8
39
42
40
-
Compiled jar files of the library are in the /dist folder.
43
+
The library supports Java 8 or higher, including both Oracle JDK 8 and OpenJDK 8.
41
44
42
-
The /examples folder includes source code to illustrate how to use the library. The /replication
43
-
folder includes source code that recreates results found in publications associated with the library.
45
+
## Versioning Scheme
46
+
47
+
The JPT uses [Semantic Versioning](https://semver.org/) with version
48
+
numbers of the form: MAJOR.MINOR.PATCH, where differences in MAJOR
49
+
correspond to incompatible API changes, differences in MINOR correspond
50
+
to introduction of backwards compatible new functionality, and PATCH
51
+
corresponds to backwards compatible bug fixes.
44
52
45
53
## Building the Library (with ant)
46
54
@@ -75,6 +83,41 @@ The replication directory additionally contains more complex examples that repli
75
83
experiments from published papers that have used the library. Those directories contain
76
84
READMEs that provide more detail on the examples, including on running the examples.
77
85
86
+
## Importing the Library from Maven Central
87
+
88
+
Add this to the dependencies section of your pom.xml, replacing the version number
89
+
with the version you want to use (note that the library has been available in Maven
90
+
Central since version 2.1.2).
91
+
92
+
```XML
93
+
<dependency>
94
+
<groupId>org.cicirello</groupId>
95
+
<artifactId>jpt</artifactId>
96
+
<version>2.1.2</version>
97
+
</dependency>
98
+
```
99
+
100
+
## Importing the Library from Github Packages
101
+
102
+
If you'd prefer to import from Github Packages, rather than Maven Central,
103
+
then: (1) add the dependency as indicated in previous section above,
104
+
and (2) add the following to the repositories section of your pom.xml:
0 commit comments