Skip to content

Commit a5f40fe

Browse files
committed
Revert "refactor: Use nanorand crate instead of custom xorshift implementation"
This reverts commit d0ec00f. I found that nanorand crate does not work on Mac OSX.
1 parent 1107757 commit a5f40fe

File tree

3 files changed

+8
-15
lines changed

3 files changed

+8
-15
lines changed

Cargo.lock

Lines changed: 0 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sailfish/Cargo.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,3 @@ optional = true
2828

2929
[build-dependencies]
3030
version_check = "0.9.2"
31-
32-
[dev-dependencies.nanorand]
33-
version = "0.5.1"
34-
default-features = false
35-
features = ["std", "wyrand"]

sailfish/src/runtime/escape/mod.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ pub fn escape_to_string(feed: &str, s: &mut String) {
106106
#[cfg(test)]
107107
mod tests {
108108
use super::*;
109-
use nanorand::RNG;
110109

111110
fn escape(feed: &str) -> String {
112111
let mut s = String::new();
@@ -156,7 +155,7 @@ mod tests {
156155
#[test]
157156
fn random() {
158157
const ASCII_CHARS: &'static [u8] = br##"abcdefghijklmnopqrstuvwxyz0123456789-^\@[;:],./\!"#$%&'()~=~|`{+*}<>?_"##;
159-
let mut gen = nanorand::WyRand::new();
158+
let mut state = 88172645463325252u64;
160159
let mut data = Vec::with_capacity(100);
161160

162161
let mut buf_naive = Buffer::new();
@@ -166,7 +165,12 @@ mod tests {
166165
for _ in 0..5 {
167166
data.clear();
168167
for _ in 0..len {
169-
let idx = gen.generate_range(0, ASCII_CHARS.len());
168+
// xorshift
169+
state ^= state << 13;
170+
state ^= state >> 7;
171+
state ^= state << 17;
172+
173+
let idx = state as usize % ASCII_CHARS.len();
170174
data.push(ASCII_CHARS[idx]);
171175
}
172176

@@ -180,6 +184,7 @@ mod tests {
180184
s.as_ptr().add(s.len()),
181185
);
182186

187+
dbg!(s);
183188
fallback::escape(s, &mut buf);
184189
assert_eq!(buf.as_str(), buf_naive.as_str());
185190
buf.clear();

0 commit comments

Comments
 (0)