Skip to content

Commit

Permalink
1.150509
Browse files Browse the repository at this point in the history
  • Loading branch information
Blagodarenko authored and Blagodarenko committed Apr 28, 2015
1 parent 6c5635a commit 9c6e2c2
Show file tree
Hide file tree
Showing 12 changed files with 2,338 additions and 1,138 deletions.
1,385 changes: 1,385 additions & 0 deletions curses.h

Large diffs are not rendered by default.

1,375 changes: 762 additions & 613 deletions miner.cpp

Large diffs are not rendered by default.

31 changes: 28 additions & 3 deletions miner.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;C:\Program Files (x86)\Visual Leak Detector\include;$(WindowsSdkDir)include\um;$(WindowsSdkDir)include\shared</IncludePath>
<LibraryPath>$(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(WindowsSdkDir)lib\x64;C:\Program Files (x86)\Visual Leak Detector\lib;$(WindowsSdkDir)lib\winv6.3\um\x64</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
Expand All @@ -100,19 +102,30 @@
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<Optimization>Custom</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>C:\rapidjson\include</AdditionalIncludeDirectories>
<EnablePREfast>false</EnablePREfast>
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
<WholeProgramOptimization>true</WholeProgramOptimization>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);pthreadVC2.lib</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Visual Leak Detector\lib\Win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);pthreadVC2.lib;pdcurses.lib;</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\Program Files (x86)\Visual Leak Detector\lib\Win64;%(AdditionalLibraryDirectories);C:\miner\miner\miner</AdditionalLibraryDirectories>
<UACExecutionLevel>HighestAvailable</UACExecutionLevel>
<UACUIAccess>false</UACUIAccess>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
Expand Down Expand Up @@ -141,12 +154,18 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>C:\Program Files (x86)\Visual Leak Detector\include;%(AdditionalIncludeDirectories);C:\rapidjson\include</AdditionalIncludeDirectories>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);pthreadVC2.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
Expand All @@ -158,15 +177,21 @@
<ClCompile Include="sph_shabal.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="curses.h" />
<ClInclude Include="mshabal.h" />
<ClInclude Include="mshabal256.h" />
<ClInclude Include="panel.h" />
<ClInclude Include="pthread.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="sched.h" />
<ClInclude Include="semaphore.h" />
<ClInclude Include="sph_shabal.h" />
<ClInclude Include="sph_types.h" />
</ItemGroup>
<ItemGroup>
<None Include="pdcurses.dll">
<FileType>Document</FileType>
</None>
<None Include="pthreadVC2.dll" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
Expand Down
12 changes: 12 additions & 0 deletions miner.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,22 @@
<ClInclude Include="mshabal256.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
<ClInclude Include="sph_types.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
<ClInclude Include="curses.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
<ClInclude Include="panel.h">
<Filter>Заголовочные файлы</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="pthreadVC2.dll">
<Filter>Файлы ресурсов</Filter>
</None>
<None Include="pdcurses.dll">
<Filter>Файлы ресурсов</Filter>
</None>
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions mshabal.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ extern "C" {
void avx1_mshabal_init(mshabal_context *sc, unsigned out_size);
void avx2_mshabal_init(mshabal_context *sc, unsigned out_size);

void avx1_mshabal_init2(mshabal_context *sc, unsigned out_size);
/*
* Process some more data bytes; four chunks of data, pointed to by
* data0, data1, data2 and data3, are processed. The four chunks have
Expand Down
75 changes: 61 additions & 14 deletions mshabal_avx1.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@ extern "C" {
#define T32(x) ((x) & C32(0xFFFFFFFF))
#define ROTL32(x, n) T32(((x) << (n)) | ((x) >> (32 - (n))))

static void
avx1_mshabal_compress(mshabal_context *sc,
static void avx1_mshabal_compress(mshabal_context *sc,
const unsigned char *buf0, const unsigned char *buf1,
const unsigned char *buf2, const unsigned char *buf3,
size_t num)
Expand Down Expand Up @@ -212,8 +211,7 @@ extern "C" {
buf1 += 64;
buf2 += 64;
buf3 += 64;
if (++sc->Wlow == 0)
sc->Whigh++;
if (++sc->Wlow == 0) sc->Whigh++;

}

Expand All @@ -228,13 +226,13 @@ extern "C" {
}

/* see shabal_small.h */
void
avx1_mshabal_init(mshabal_context *sc, unsigned out_size)

void avx1_mshabal_init(mshabal_context *sc, unsigned out_size)
{
unsigned u;

for (u = 0; u < 176; u++)
sc->state[u] = 0;
//for (u = 0; u < 176; u++) sc->state[u] = 0;
memset(sc->state, 0, sizeof sc->state);
memset(sc->buf0, 0, sizeof sc->buf0);
memset(sc->buf1, 0, sizeof sc->buf1);
memset(sc->buf2, 0, sizeof sc->buf2);
Expand Down Expand Up @@ -264,11 +262,60 @@ extern "C" {
avx1_mshabal_compress(sc, sc->buf0, sc->buf1, sc->buf2, sc->buf3, 1);
sc->ptr = 0;
sc->out_size = out_size;

}



static const mshabal_u32 A_init_256[] = {
C32(0x52F84552), C32(0xE54B7999), C32(0x2D8EE3EC), C32(0xB9645191),
C32(0xE0078B86), C32(0xBB7C44C9), C32(0xD2B5C1CA), C32(0xB0D2EB8C),
C32(0x14CE5A45), C32(0x22AF50DC), C32(0xEFFDBC6B), C32(0xEB21B74A)
};

static const mshabal_u32 B_init_256[] = {
C32(0xB555C6EE), C32(0x3E710596), C32(0xA72A652F), C32(0x9301515F),
C32(0xDA28C1FA), C32(0x696FD868), C32(0x9CB6BF72), C32(0x0AFE4002),
C32(0xA6E03615), C32(0x5138C1D4), C32(0xBE216306), C32(0xB38B8890),
C32(0x3EA8B96B), C32(0x3299ACE4), C32(0x30924DD4), C32(0x55CB34A5)
};

static const mshabal_u32 C_init_256[] = {
C32(0xB405F031), C32(0xC4233EBA), C32(0xB3733979), C32(0xC0DD9D55),
C32(0xC51C28AE), C32(0xA327B8E1), C32(0x56C56167), C32(0xED614433),
C32(0x88B59D60), C32(0x60E2CEBA), C32(0x758B4B8B), C32(0x83E82A7F),
C32(0xBC968828), C32(0xE6E00BF7), C32(0xBA839E55), C32(0x9B491C60)
};


void avx1_mshabal_init2(mshabal_context *cc, unsigned out_size)
{
//for (unsigned u = 0; u < 176; u++) cc->state[u] = 0;

memset(cc->buf0, 0, sizeof cc->buf0);
memset(cc->buf1, 0, sizeof cc->buf1);
memset(cc->buf2, 0, sizeof cc->buf2);
memset(cc->buf3, 0, sizeof cc->buf3);

for (unsigned u = 0; u < 176; u = u+12+16+16)
{
memcpy(cc->state + u, A_init_256, sizeof(u32)* 12);
memcpy(cc->state + u + 12, B_init_256, sizeof(u32)* 16);
memcpy(cc->state + u + 12 + 16, C_init_256, sizeof(u32)* 16);
}


cc->Wlow = 1;
cc->Whigh = 0;
cc->ptr = 0;
//cc->Whigh = cc->Wlow = C32(0xFFFFFFFF);
cc->out_size = out_size;
}



/* see shabal_small.h */
void
avx1_mshabal(mshabal_context *sc, const void *data0, const void *data1,
void avx1_mshabal(mshabal_context *sc, const void *data0, const void *data1,
const void *data2, const void *data3, size_t len)
{
size_t ptr, num;
Expand Down Expand Up @@ -316,8 +363,7 @@ extern "C" {
memcpy(sc->buf1 + ptr, data1, clen);
memcpy(sc->buf2 + ptr, data2, clen);
memcpy(sc->buf3 + ptr, data3, clen);
avx1_mshabal_compress(sc,
sc->buf0, sc->buf1, sc->buf2, sc->buf3, 1);
avx1_mshabal_compress(sc, sc->buf0, sc->buf1, sc->buf2, sc->buf3, 1);
data0 = (const unsigned char *)data0 + clen;
data1 = (const unsigned char *)data1 + clen;
data2 = (const unsigned char *)data2 + clen;
Expand All @@ -340,11 +386,11 @@ extern "C" {
memcpy(sc->buf2, data2, len);
memcpy(sc->buf3, data3, len);
sc->ptr = len;

}

/* see shabal_small.h */
void
avx1_mshabal_close(mshabal_context *sc,
void avx1_mshabal_close(mshabal_context *sc,
unsigned ub0, unsigned ub1, unsigned ub2, unsigned ub3, unsigned n,
void *dst0, void *dst1, void *dst2, void *dst3)
{
Expand Down Expand Up @@ -397,6 +443,7 @@ extern "C" {
for (z = 0; z < out_size_w32; z++)
out[z] = sc->state[off + (z << 2) + 3];
}
_mm256_zeroupper();
}

#ifdef __cplusplus
Expand Down
58 changes: 58 additions & 0 deletions panel.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/* Public Domain Curses */

/* $Id: panel.h,v 1.19 2008/07/13 16:08:16 wmcbrine Exp $ */

/*----------------------------------------------------------------------*
* Panels for PDCurses *
*----------------------------------------------------------------------*/

#ifndef __PDCURSES_PANEL_H__
#define __PDCURSES_PANEL_H__ 1

#include "curses.h""

#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
extern "C"
{
#endif

typedef struct panelobs
{
struct panelobs *above;
struct panel *pan;
} PANELOBS;

typedef struct panel
{
WINDOW *win;
int wstarty;
int wendy;
int wstartx;
int wendx;
struct panel *below;
struct panel *above;
const void *user;
struct panelobs *obscure;
} PANEL;

int bottom_panel(PANEL *pan);
int del_panel(PANEL *pan);
int hide_panel(PANEL *pan);
int move_panel(PANEL *pan, int starty, int startx);
PANEL *new_panel(WINDOW *win);
PANEL *panel_above(const PANEL *pan);
PANEL *panel_below(const PANEL *pan);
int panel_hidden(const PANEL *pan);
const void *panel_userptr(const PANEL *pan);
WINDOW *panel_window(const PANEL *pan);
int replace_panel(PANEL *pan, WINDOW *win);
int set_panel_userptr(PANEL *pan, const void *uptr);
int show_panel(PANEL *pan);
int top_panel(PANEL *pan);
void update_panels(void);

#if defined(__cplusplus) || defined(__cplusplus__) || defined(__CPLUSPLUS)
}
#endif

#endif /* __PDCURSES_PANEL_H__ */
Binary file added panel.lib
Binary file not shown.
Binary file added pdcurses.dll
Binary file not shown.
Binary file added pdcurses.lib
Binary file not shown.
Loading

0 comments on commit 9c6e2c2

Please sign in to comment.