36 Commits (a8270035c0d3596a59af35bfdccfc7d807e2aed7)

Author SHA1 Message Date
Jack Grigg 23acf86791 Ignore duplicate entries after partial recreation 8 years ago
Jack Grigg fa19e1b357 Add test showing bug in IsProbablyDuplicate() 8 years ago
Jack Grigg eeb4177843 Add Equihash support for n = 200, k = 9 8 years ago
Jack Grigg 036dcbd94a Remove the assumption that n/(k+1) is a multiple of 8. 8 years ago
Jack Grigg 3c3ef34505 Add missing assert 8 years ago
Jack Grigg e999c1e339 Simplify IsProbablyDuplicate() 8 years ago
Jack Grigg 3c654f38eb Eliminate probably duplicates in final round 8 years ago
Jack Grigg 6b4f4475a5 Use fixed-size array in IsProbablyDuplicate to avoid stack protector warning 8 years ago
Jack Grigg d4af3dd5fd Eliminate some of the duplicates caused by truncating indices 8 years ago
Jack Grigg 51eb5273f5 Equihash: Pass each obtained solution to a callback for immediate checking 8 years ago
Jack Grigg 215b9e139d Use std::shared_ptr to deallocate partialSolns automatically 8 years ago
Jack Grigg 1655db285d Move initialisations to simplify cancelled checks 8 years ago
Jack Grigg 5a360a5c6a Fix segfault by indirectly monitoring chainActive.Tip(), locking on mutex 8 years ago
Jack Grigg 5b4ebcd5e2 Add tests that exercise the cancellation code branches 8 years ago
Jack Grigg 2dbabb1159 Make Equihash solvers cancellable 8 years ago
Jack Grigg 1bb40a42c2 Collect all permutations of final solutions 8 years ago
Jack Grigg d151ab4fea Only compare the first n/(k+1) bits when sorting 8 years ago
Jack Grigg 09e9a329b7 Tweaks after review 8 years ago
Jack Grigg 933cb4cd9f Use htole32 and htobe32 for endian conversions 8 years ago
Jack Grigg a6dcf2ee6f Use little-endian for hash personalisation and hashing indices 8 years ago
Jack Grigg d07cf62991 Speed up FullStepRow index comparison by leveraging big-endian byte layout 8 years ago
Jack Grigg ae37d2a4cd Increase Equihash parameters to n = 96, k = 3 (about 430 MiB) 8 years ago
Jack Grigg 0a66f01304 Use depth-first scan for eliminating partial solutions instead of breadth-first 8 years ago
Jack Grigg 447444ae7a Fix nits after review 8 years ago
Jack Grigg d4d76536a5 Use fixed-width array for storing hash and indices 8 years ago
Jack Grigg 29d9986c83 Store full indices in the same char* as the hash 8 years ago
Jack Grigg 639c40047f Use comparator object for sorting StepRows 8 years ago
Jack Grigg a683cc85d9 Merge *StepRow XOR and trimming operations 8 years ago
Jack Grigg e95747288a Use template parameters to statically initialise Equihash 8 years ago
Jack Grigg 39f5cb35f9 Store truncated indices in the same char* as the hash (H/T tromp for the idea!) 8 years ago
Jack Grigg c92c1f6050 Implement index-truncation Equihash optimisation 8 years ago
Jack Grigg 6afef0dd6d Cleanups 8 years ago
Jack Grigg a3361e778b Refactor StepRow to make optimisation easier 8 years ago
Taylor Hornby 675e17022f Use left shift instead of floating-point pow() in equihash. 8 years ago
Jack Grigg 6d25662f25 Implement validator and basic solver for Equihash 8 years ago