Skip to content

Commit 2f3ad0b

Browse files
committed
Release 0.0.3 !
1 parent 92144f0 commit 2f3ad0b

29 files changed

+1433
-81
lines changed

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ raw speed. `com.github.tommyettinger.random.MizuchiRandom` is a simple PCG-style
4747
as a base and hashing the LCG's output before it returns it; Mizuchi has streams, like LaserRandom, but they are less correlated
4848
with each other than in LaserRandom. `com.github.tommyettinger.random.ChopRandom` is much like TrimRandom, but natively
4949
works on `int` states instead of `long`, so it has a shorter guaranteed period of 2 to the 32, but should be much faster
50-
when run on GWT (even when generating `long` values!).
50+
when run on GWT (even when generating `long` values!). `com.github.tommyettinger.random.Xoshiro128PlusPlusRandom` is a slightly-modified
51+
version of the 32-bit Xoshiro generator with the ++ scrambler; it has some optimizations so it can return `long` values more quickly, though
52+
it is still slower than ChopRandom.
5153

5254
You may also want to use the `randomize()` methods in the `digital` dependency's `Hasher` class to make sequential
5355
values more random; this is essentially the approach used by DistinctRandom. A similar non-generator use of randomness
@@ -58,15 +60,15 @@ is available in `com.github.tommyettinger.random.LineWobble`; it provides 1D con
5860
With Gradle, the dependency (of the core module, if you have multiple) is:
5961

6062
```groovy
61-
api "com.github.tommyettinger:juniper:0.0.2"
63+
api "com.github.tommyettinger:juniper:0.0.3"
6264
```
6365

6466
In a libGDX project that has a GWT/HTML backend, the `html/build.gradle` file
6567
should additionally have:
6668

6769
```
68-
implementation "com.github.tommyettinger:digital:0.0.2:sources"
69-
implementation "com.github.tommyettinger:juniper:0.0.2:sources"
70+
implementation "com.github.tommyettinger:digital:0.0.3:sources"
71+
implementation "com.github.tommyettinger:juniper:0.0.3:sources"
7072
```
7173

7274
And the `GdxDefinition.gwt.xml` file should have:
@@ -82,7 +84,7 @@ If you don't use Gradle, then with Maven, the dependency is:
8284
<dependency>
8385
<groupId>com.github.tommyettinger</groupId>
8486
<artifactId>juniper</artifactId>
85-
<version>0.0.2</version>
87+
<version>0.0.3</version>
8688
</dependency>
8789
```
8890

docs/apidocs/allclasses-index.html

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<!-- Generated by javadoc (17) -->
5-
<title>All Classes and Interfaces (juniper 0.0.2 API)</title>
5+
<title>All Classes and Interfaces (juniper 0.0.3 API)</title>
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
88
<meta name="description" content="class index">
@@ -106,8 +106,13 @@ <h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces<
106106
<div class="block">A random number generator that is very fast on Java 16+, has both a very large probable period and a large guaranteed
107107
minimum period, and uses only add, bitwise-rotate, and XOR operations (no multiplication).</div>
108108
</div>
109-
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/github/tommyettinger/random/Xoshiro256StarStarRandom.html" title="class in com.github.tommyettinger.random">Xoshiro256StarStarRandom</a></div>
109+
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/github/tommyettinger/random/Xoshiro128PlusPlusRandom.html" title="class in com.github.tommyettinger.random">Xoshiro128PlusPlusRandom</a></div>
110110
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
111+
<div class="block">A random number generator that is optimized for performance on 32-bit machines and with Google Web Toolkit, this uses
112+
no multiplication and is identical to the published xoshiro128++ algorithm when generating <code>int</code> values.</div>
113+
</div>
114+
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/github/tommyettinger/random/Xoshiro256StarStarRandom.html" title="class in com.github.tommyettinger.random">Xoshiro256StarStarRandom</a></div>
115+
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
111116
<div class="block">A random number generator that is fairly fast and guarantees 4-dimensional equidistribution (with the exception of the
112117
quartet with four zeroes in a row, every quartet of long results is produced exactly once over the period).</div>
113118
</div>

docs/apidocs/allpackages-index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<!-- Generated by javadoc (17) -->
5-
<title>All Packages (juniper 0.0.2 API)</title>
5+
<title>All Packages (juniper 0.0.3 API)</title>
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
88
<meta name="description" content="package index">

docs/apidocs/com/github/tommyettinger/random/ChopRandom.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<!-- Generated by javadoc (17) -->
5-
<title>ChopRandom (juniper 0.0.2 API)</title>
5+
<title>ChopRandom (juniper 0.0.3 API)</title>
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
88
<meta name="description" content="declaration: package: com.github.tommyettinger.random, class: ChopRandom">

docs/apidocs/com/github/tommyettinger/random/Deserializer.html

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<!-- Generated by javadoc (17) -->
5-
<title>Deserializer (juniper 0.0.2 API)</title>
5+
<title>Deserializer (juniper 0.0.3 API)</title>
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
88
<meta name="description" content="declaration: package: com.github.tommyettinger.random, class: Deserializer">
@@ -44,13 +44,13 @@
4444
<li>Summary:&nbsp;</li>
4545
<li>Nested&nbsp;|&nbsp;</li>
4646
<li>Field&nbsp;|&nbsp;</li>
47-
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
47+
<li>Constr&nbsp;|&nbsp;</li>
4848
<li><a href="#method-summary">Method</a></li>
4949
</ul>
5050
<ul class="sub-nav-list">
5151
<li>Detail:&nbsp;</li>
5252
<li>Field&nbsp;|&nbsp;</li>
53-
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
53+
<li>Constr&nbsp;|&nbsp;</li>
5454
<li><a href="#method-detail">Method</a></li>
5555
</ul>
5656
</div>
@@ -74,27 +74,14 @@ <h1 title="Class Deserializer" class="title">Class Deserializer</h1>
7474
</div>
7575
<section class="class-description" id="class-description">
7676
<hr>
77-
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Deserializer</span>
77+
<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">Deserializer</span>
7878
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
7979
<div class="block">Allows deserializing any type of EnhancedRandom by looking up its tag in a registry.
8080
The main way of using this is the <a href="#deserialize(java.lang.String)"><code>deserialize(String)</code></a> (or <a href="#deserialize(java.lang.String,com.github.tommyettinger.digital.Base)"><code>deserialize(String, Base)</code></a>) method.
8181
By default, all EnhancedRandom types in this library are registered by default, and can be deserialized.</div>
8282
</section>
8383
<section class="summary">
8484
<ul class="summary-list">
85-
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
86-
<li>
87-
<section class="constructor-summary" id="constructor-summary">
88-
<h2>Constructor Summary</h2>
89-
<div class="caption"><span>Constructors</span></div>
90-
<div class="summary-table two-column-summary">
91-
<div class="table-header col-first">Constructor</div>
92-
<div class="table-header col-last">Description</div>
93-
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Deserializer</a>()</code></div>
94-
<div class="col-last even-row-color">&nbsp;</div>
95-
</div>
96-
</section>
97-
</li>
9885
<!-- ========== METHOD SUMMARY =========== -->
9986
<li>
10087
<section class="method-summary" id="method-summary">
@@ -106,6 +93,17 @@ <h2>Method Summary</h2>
10693
<div class="table-header col-first">Modifier and Type</div>
10794
<div class="table-header col-second">Method</div>
10895
<div class="table-header col-last">Description</div>
96+
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="EnhancedRandom.html" title="class in com.github.tommyettinger.random">EnhancedRandom</a>&gt;</code></div>
97+
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#copyRandoms()" class="member-name-link">copyRandoms</a>()</code></div>
98+
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
99+
<div class="block">Returns an unordered List of copies of the EnhancedRandom "prototype" objects this uses during
100+
deserialization.</div>
101+
</div>
102+
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
103+
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#copyTags()" class="member-name-link">copyTags</a>()</code></div>
104+
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
105+
<div class="block">Creates an unordered Set of all String tags Deserializer knows, and returns it.</div>
106+
</div>
109107
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="EnhancedRandom.html" title="class in com.github.tommyettinger.random">EnhancedRandom</a></code></div>
110108
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#deserialize(java.lang.String)" class="member-name-link">deserialize</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;data)</code></div>
111109
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
@@ -146,20 +144,6 @@ <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from cl
146144
</section>
147145
<section class="details">
148146
<ul class="details-list">
149-
<!-- ========= CONSTRUCTOR DETAIL ======== -->
150-
<li>
151-
<section class="constructor-details" id="constructor-detail">
152-
<h2>Constructor Details</h2>
153-
<ul class="member-list">
154-
<li>
155-
<section class="detail" id="&lt;init&gt;()">
156-
<h3>Deserializer</h3>
157-
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Deserializer</span>()</div>
158-
</section>
159-
</li>
160-
</ul>
161-
</section>
162-
</li>
163147
<!-- ============ METHOD DETAIL ========== -->
164148
<li>
165149
<section class="method-details" id="method-detail">
@@ -228,6 +212,29 @@ <h3>deserialize</h3>
228212
</dl>
229213
</section>
230214
</li>
215+
<li>
216+
<section class="detail" id="copyTags()">
217+
<h3>copyTags</h3>
218+
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">copyTags</span>()</div>
219+
<div class="block">Creates an unordered Set of all String tags Deserializer knows, and returns it.</div>
220+
<dl class="notes">
221+
<dt>Returns:</dt>
222+
<dd>a Set of all String tags this knows</dd>
223+
</dl>
224+
</section>
225+
</li>
226+
<li>
227+
<section class="detail" id="copyRandoms()">
228+
<h3>copyRandoms</h3>
229+
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="EnhancedRandom.html" title="class in com.github.tommyettinger.random">EnhancedRandom</a>&gt;</span>&nbsp;<span class="element-name">copyRandoms</span>()</div>
230+
<div class="block">Returns an unordered List of copies of the EnhancedRandom "prototype" objects this uses during
231+
deserialization. Each EnhancedRandom copy is seeded with <code>-1L</code> before it is put in the List.</div>
232+
<dl class="notes">
233+
<dt>Returns:</dt>
234+
<dd>a List of copies of the EnhancedRandom instances this knows</dd>
235+
</dl>
236+
</section>
237+
</li>
231238
</ul>
232239
</section>
233240
</li>

docs/apidocs/com/github/tommyettinger/random/DistinctRandom.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<!-- Generated by javadoc (17) -->
5-
<title>DistinctRandom (juniper 0.0.2 API)</title>
5+
<title>DistinctRandom (juniper 0.0.3 API)</title>
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
88
<meta name="description" content="declaration: package: com.github.tommyettinger.random, class: DistinctRandom">

docs/apidocs/com/github/tommyettinger/random/EnhancedRandom.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<!-- Generated by javadoc (17) -->
5-
<title>EnhancedRandom (juniper 0.0.2 API)</title>
5+
<title>EnhancedRandom (juniper 0.0.3 API)</title>
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
88
<meta name="description" content="declaration: package: com.github.tommyettinger.random, class: EnhancedRandom">
@@ -81,7 +81,7 @@ <h1 title="Class EnhancedRandom" class="title">Class EnhancedRandom</h1>
8181
</dl>
8282
<dl class="notes">
8383
<dt>Direct Known Subclasses:</dt>
84-
<dd><code><a href="ChopRandom.html" title="class in com.github.tommyettinger.random">ChopRandom</a></code>, <code><a href="DistinctRandom.html" title="class in com.github.tommyettinger.random">DistinctRandom</a></code>, <code><a href="FourWheelRandom.html" title="class in com.github.tommyettinger.random">FourWheelRandom</a></code>, <code><a href="LaserRandom.html" title="class in com.github.tommyettinger.random">LaserRandom</a></code>, <code><a href="MizuchiRandom.html" title="class in com.github.tommyettinger.random">MizuchiRandom</a></code>, <code><a href="RomuTrioRandom.html" title="class in com.github.tommyettinger.random">RomuTrioRandom</a></code>, <code><a href="StrangerRandom.html" title="class in com.github.tommyettinger.random">StrangerRandom</a></code>, <code><a href="TricycleRandom.html" title="class in com.github.tommyettinger.random">TricycleRandom</a></code>, <code><a href="TrimRandom.html" title="class in com.github.tommyettinger.random">TrimRandom</a></code>, <code><a href="Xoshiro256StarStarRandom.html" title="class in com.github.tommyettinger.random">Xoshiro256StarStarRandom</a></code></dd>
84+
<dd><code><a href="ChopRandom.html" title="class in com.github.tommyettinger.random">ChopRandom</a></code>, <code><a href="DistinctRandom.html" title="class in com.github.tommyettinger.random">DistinctRandom</a></code>, <code><a href="FourWheelRandom.html" title="class in com.github.tommyettinger.random">FourWheelRandom</a></code>, <code><a href="LaserRandom.html" title="class in com.github.tommyettinger.random">LaserRandom</a></code>, <code><a href="MizuchiRandom.html" title="class in com.github.tommyettinger.random">MizuchiRandom</a></code>, <code><a href="RomuTrioRandom.html" title="class in com.github.tommyettinger.random">RomuTrioRandom</a></code>, <code><a href="StrangerRandom.html" title="class in com.github.tommyettinger.random">StrangerRandom</a></code>, <code><a href="TricycleRandom.html" title="class in com.github.tommyettinger.random">TricycleRandom</a></code>, <code><a href="TrimRandom.html" title="class in com.github.tommyettinger.random">TrimRandom</a></code>, <code><a href="Xoshiro128PlusPlusRandom.html" title="class in com.github.tommyettinger.random">Xoshiro128PlusPlusRandom</a></code>, <code><a href="Xoshiro256StarStarRandom.html" title="class in com.github.tommyettinger.random">Xoshiro256StarStarRandom</a></code></dd>
8585
</dl>
8686
<hr>
8787
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">EnhancedRandom</span>

docs/apidocs/com/github/tommyettinger/random/FourWheelRandom.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<!-- Generated by javadoc (17) -->
5-
<title>FourWheelRandom (juniper 0.0.2 API)</title>
5+
<title>FourWheelRandom (juniper 0.0.3 API)</title>
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
88
<meta name="description" content="declaration: package: com.github.tommyettinger.random, class: FourWheelRandom">

docs/apidocs/com/github/tommyettinger/random/LaserRandom.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html lang="en">
33
<head>
44
<!-- Generated by javadoc (17) -->
5-
<title>LaserRandom (juniper 0.0.2 API)</title>
5+
<title>LaserRandom (juniper 0.0.3 API)</title>
66
<meta name="viewport" content="width=device-width, initial-scale=1">
77
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
88
<meta name="description" content="declaration: package: com.github.tommyettinger.random, class: LaserRandom">

0 commit comments

Comments
 (0)