Skip to content

Commit

Permalink
Merge pull request #4 from Waecrum/master
Browse files Browse the repository at this point in the history
thanks for this. I am merging it with master.
  • Loading branch information
awais3344 committed Oct 28, 2014
2 parents 9e10263 + 14b98e4 commit 4006be4
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 15 deletions.
2 changes: 1 addition & 1 deletion doc/readme-qt.rst
Expand Up @@ -14,7 +14,7 @@ distribution are installed, for Debian and Ubuntu these are:

apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev \
libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev \
libssl-dev libdb4.8++-dev
libssl-dev libdb4.8++-dev libdb++-dev

then execute the following:

Expand Down
24 changes: 12 additions & 12 deletions energycoin-qt.pro
Expand Up @@ -10,7 +10,7 @@ greaterThan(QT_MAJOR_VERSION, 4) {
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
}

# UNCOMMENT THIS SECTION TO BUILD ON WINDOWS
# UNCOMMENT THIS SECTION TO BUILD ON WINDOWS
# Change paths if needed, these use the Energycoin/ repository locations

# Dependency library locations can be customized with:
Expand All @@ -19,15 +19,15 @@ greaterThan(QT_MAJOR_VERSION, 4) {

# For Windows, specify path and options from command line:
# qmake energycoin-qt.pro RELEASE=1 USE_UPNP=1 -config release QMAKE_LFLAGS+="-static-libgcc -static-libstdc++" BOOST_INCLUDE_PATH=C:/MinGW/msys/1.0/local/include BOOST_LIB_PATH=C:/MinGW/msys/1.0/local/lib BOOST_LIB_SUFFIX=-mgw46-mt-s-1_54
BOOST_LIB_SUFFIX=-mgw48-mt-s-1_50
BOOST_INCLUDE_PATH=C:/boost-1.50.0-mgw
BOOST_LIB_PATH=C:/boost-1.50.0-mgw/stage/lib
BDB_INCLUDE_PATH=C:/db-4.8.30.NC-mgw/build_unix
BDB_LIB_PATH=C:/db-4.8.30.NC-mgw/build_unix
OPENSSL_INCLUDE_PATH=C:/openssl-1.0.1g/include
OPENSSL_LIB_PATH=C:/openssl-1.0.1g
MINIUPNPC_INCLUDE_PATH=C:/
MINIUPNPC_LIB_PATH=C:/miniupnpc-1.6-mgw
#BOOST_LIB_SUFFIX=-mgw48-mt-s-1_50
#BOOST_INCLUDE_PATH=C:/boost-1.50.0-mgw
#BOOST_LIB_PATH=C:/boost-1.50.0-mgw/stage/lib
#BDB_INCLUDE_PATH=C:/db-4.8.30.NC-mgw/build_unix
#BDB_LIB_PATH=C:/db-4.8.30.NC-mgw/build_unix
#OPENSSL_INCLUDE_PATH=C:/openssl-1.0.1g/include
#OPENSSL_LIB_PATH=C:/openssl-1.0.1g
#MINIUPNPC_INCLUDE_PATH=C:/
#MINIUPNPC_LIB_PATH=C:/miniupnpc-1.6-mgw
#LIBPNG_INCLUDE_PATH=C:/libpng-1.6.12
#LIBPNG_LIB_PATH=C:/libpng-1.6.12/.libs
#QRENCODE_INCLUDE_PATH=C:/qrencode-3.4.4
Expand Down Expand Up @@ -125,8 +125,8 @@ contains(BENRGOIN_NEED_QT_PLUGINS, 1) {
DEFINES += HAVE_BUILD_INFO
}

QMAKE_CXXFLAGS += -msse2
QMAKE_CFLAGS += -msse2
#QMAKE_CXXFLAGS += -msse2
#QMAKE_CFLAGS += -msse2
QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector

# Input
Expand Down
4 changes: 2 additions & 2 deletions src/makefile.unix
@@ -1,6 +1,6 @@
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
# file COPYING or http://www.opensource.org/licenses/mit-license.php.

USE_UPNP:=0
USE_IPV6:=1
Expand Down Expand Up @@ -93,7 +93,7 @@ DEBUGFLAGS=-g

# CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only
# adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work.
xCXXFLAGS=-O2 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \
xCXXFLAGS=-O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \
$(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS)

# LDFLAGS can be specified on the make command line, so we use xLDFLAGS that only
Expand Down
78 changes: 78 additions & 0 deletions src/scrypt_mine.cpp
Expand Up @@ -64,6 +64,84 @@ extern "C" void scrypt_core(uint32_t *X, uint32_t *V);

#endif

void xor_salsa8(unsigned int B[16], const unsigned int Bx[16])
{
unsigned int x00,x01,x02,x03,x04,x05,x06,x07,x08,x09,x10,x11,x12,x13,x14,x15;
int i;
x00 = (B[0] ^= Bx[0]);
x01 = (B[1] ^= Bx[1]);
x02 = (B[2] ^= Bx[2]);
x03 = (B[3] ^= Bx[3]);
x04 = (B[4] ^= Bx[4]);
x05 = (B[5] ^= Bx[5]);
x06 = (B[6] ^= Bx[6]);
x07 = (B[7] ^= Bx[7]);
x08 = (B[8] ^= Bx[8]);
x09 = (B[9] ^= Bx[9]);
x10 = (B[10] ^= Bx[10]);
x11 = (B[11] ^= Bx[11]);
x12 = (B[12] ^= Bx[12]);
x13 = (B[13] ^= Bx[13]);
x14 = (B[14] ^= Bx[14]);
x15 = (B[15] ^= Bx[15]);
for (i = 0; i < 8; i += 2) {
#define R(a, b) (((a) << (b)) | ((a) >> (32 - (b))))
/* Operate on columns. */
x04 ^= R(x00+x12, 7); x09 ^= R(x05+x01, 7);
x14 ^= R(x10+x06, 7); x03 ^= R(x15+x11, 7);
x08 ^= R(x04+x00, 9); x13 ^= R(x09+x05, 9);
x02 ^= R(x14+x10, 9); x07 ^= R(x03+x15, 9);
x12 ^= R(x08+x04,13); x01 ^= R(x13+x09,13);
x06 ^= R(x02+x14,13); x11 ^= R(x07+x03,13);
x00 ^= R(x12+x08,18); x05 ^= R(x01+x13,18);
x10 ^= R(x06+x02,18); x15 ^= R(x11+x07,18);
/* Operate on rows. */
x01 ^= R(x00+x03, 7); x06 ^= R(x05+x04, 7);
x11 ^= R(x10+x09, 7); x12 ^= R(x15+x14, 7);
x02 ^= R(x01+x00, 9); x07 ^= R(x06+x05, 9);
x08 ^= R(x11+x10, 9); x13 ^= R(x12+x15, 9);
x03 ^= R(x02+x01,13); x04 ^= R(x07+x06,13);
x09 ^= R(x08+x11,13); x14 ^= R(x13+x12,13);
x00 ^= R(x03+x02,18); x05 ^= R(x04+x07,18);
x10 ^= R(x09+x08,18); x15 ^= R(x14+x13,18);
#undef R
}
B[0] += x00;
B[1] += x01;
B[2] += x02;
B[3] += x03;
B[4] += x04;
B[5] += x05;
B[6] += x06;
B[7] += x07;
B[8] += x08;
B[9] += x09;
B[10] += x10;
B[11] += x11;
B[12] += x12;
B[13] += x13;
B[14] += x14;
B[15] += x15;
}

void scrypt_core(unsigned int *X, unsigned int *V)
{
unsigned int i, j, k;
for (i = 0; i < 1024; i++) {
memcpy(&V[i * 32], X, 128);
xor_salsa8(&X[0], &X[16]);
xor_salsa8(&X[16], &X[0]);
}
for (i = 0; i < 1024; i++) {
j = 32 * (X[16] & 1023);
for (k = 0; k < 32; k++)
X[k] ^= V[j + k];
xor_salsa8(&X[0], &X[16]);
xor_salsa8(&X[16], &X[0]);
}
}


void *scrypt_buffer_alloc() {
return malloc(SCRYPT_BUFFER_SIZE);
}
Expand Down

0 comments on commit 4006be4

Please sign in to comment.