mirror of
https://github.com/mimblewimble/grin.git
synced 2025-01-21 03:21:08 +03:00
Revert "move siphash out of pow and into util" (#635)
* Revert "move siphash out of pow and into util (#633)"
This reverts commit dae90543c2
.
This commit is contained in:
parent
885c2d73ea
commit
916d9cce57
4 changed files with 24 additions and 25 deletions
|
@ -23,7 +23,7 @@ use std::cmp;
|
||||||
use blake2;
|
use blake2;
|
||||||
|
|
||||||
use core::core::Proof;
|
use core::core::Proof;
|
||||||
use util::siphash::siphash24;
|
use siphash::siphash24;
|
||||||
use MiningWorker;
|
use MiningWorker;
|
||||||
|
|
||||||
const MAXPATHLEN: usize = 8192;
|
const MAXPATHLEN: usize = 8192;
|
||||||
|
|
|
@ -44,6 +44,7 @@ extern crate grin_util as util;
|
||||||
|
|
||||||
extern crate cuckoo_miner;
|
extern crate cuckoo_miner;
|
||||||
|
|
||||||
|
mod siphash;
|
||||||
pub mod plugin;
|
pub mod plugin;
|
||||||
pub mod cuckoo;
|
pub mod cuckoo;
|
||||||
pub mod types;
|
pub mod types;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// Copyright 2018 The Grin Developers
|
// Copyright 2016 The Grin Developers
|
||||||
//
|
//
|
||||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
// you may not use this file except in compliance with the License.
|
// you may not use this file except in compliance with the License.
|
||||||
|
@ -24,30 +24,30 @@ pub fn siphash24(v: [u64; 4], nonce: u64) -> u64 {
|
||||||
|
|
||||||
// macro for left rotation
|
// macro for left rotation
|
||||||
macro_rules! rotl {
|
macro_rules! rotl {
|
||||||
($num:ident, $shift:expr) => {
|
($num:ident, $shift:expr) => {
|
||||||
$num = ($num << $shift) | ($num >> (64 - $shift));
|
$num = ($num << $shift) | ($num >> (64 - $shift));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// macro for a single siphash round
|
// macro for a single siphash round
|
||||||
macro_rules! round {
|
macro_rules! round {
|
||||||
() => {
|
() => {
|
||||||
v0 = v0.wrapping_add(v1);
|
v0 = v0.wrapping_add(v1);
|
||||||
v2 = v2.wrapping_add(v3);
|
v2 = v2.wrapping_add(v3);
|
||||||
rotl!(v1, 13);
|
rotl!(v1, 13);
|
||||||
rotl!(v3, 16);
|
rotl!(v3, 16);
|
||||||
v1 ^= v0;
|
v1 ^= v0;
|
||||||
v3 ^= v2;
|
v3 ^= v2;
|
||||||
rotl!(v0, 32);
|
rotl!(v0, 32);
|
||||||
v2 = v2.wrapping_add(v1);
|
v2 = v2.wrapping_add(v1);
|
||||||
v0 = v0.wrapping_add(v3);
|
v0 = v0.wrapping_add(v3);
|
||||||
rotl!(v1, 17);
|
rotl!(v1, 17);
|
||||||
rotl!(v3, 21);
|
rotl!(v3, 21);
|
||||||
v1 ^= v2;
|
v1 ^= v2;
|
||||||
v3 ^= v0;
|
v3 ^= v0;
|
||||||
rotl!(v2, 32);
|
rotl!(v2, 32);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2 rounds
|
// 2 rounds
|
||||||
round!();
|
round!();
|
|
@ -50,8 +50,6 @@ pub use secp_static::static_secp_instance;
|
||||||
pub mod types;
|
pub mod types;
|
||||||
pub use types::{LoggingConfig, LogLevel};
|
pub use types::{LoggingConfig, LogLevel};
|
||||||
|
|
||||||
pub mod siphash;
|
|
||||||
|
|
||||||
// other utils
|
// other utils
|
||||||
use std::cell::{Ref, RefCell};
|
use std::cell::{Ref, RefCell};
|
||||||
#[allow(unused_imports)]
|
#[allow(unused_imports)]
|
||||||
|
|
Loading…
Reference in a new issue