MCPcopy Create free account
hub / github.com/JeanLucPons/VanitySearch / checkAddressesSSE

Method checkAddressesSSE

Vanity.cpp:1060–1263  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1058// ----------------------------------------------------------------------------
1059
1060void VanitySearch::checkAddressesSSE(bool compressed,Int key, int i, Point p1, Point p2, Point p3, Point p4) {
1061
1062 unsigned char h0[20];
1063 unsigned char h1[20];
1064 unsigned char h2[20];
1065 unsigned char h3[20];
1066 Point pte1[4];
1067 Point pte2[4];
1068 prefix_t pr0;
1069 prefix_t pr1;
1070 prefix_t pr2;
1071 prefix_t pr3;
1072
1073 // Point -------------------------------------------------------------------------
1074 secp->GetHash160(searchType, compressed, p1, p2, p3, p4, h0, h1, h2, h3);
1075
1076 if (!hasPattern) {
1077
1078 pr0 = *(prefix_t *)h0;
1079 pr1 = *(prefix_t *)h1;
1080 pr2 = *(prefix_t *)h2;
1081 pr3 = *(prefix_t *)h3;
1082
1083 if (prefixes[pr0].items)
1084 checkAddr(pr0, h0, key, i, 0, compressed);
1085 if (prefixes[pr1].items)
1086 checkAddr(pr1, h1, key, i + 1, 0, compressed);
1087 if (prefixes[pr2].items)
1088 checkAddr(pr2, h2, key, i + 2, 0, compressed);
1089 if (prefixes[pr3].items)
1090 checkAddr(pr3, h3, key, i + 3, 0, compressed);
1091
1092 } else {
1093
1094 checkAddrSSE(h0,h1,h2,h3,i,i+1,i+2,i+3,key,0,compressed);
1095
1096 }
1097
1098 // Endomorphism #1
1099 // if (x, y) = k * G, then (beta*x, y) = lambda*k*G
1100 pte1[0].x.ModMulK1(&p1.x, &beta);
1101 pte1[0].y.Set(&p1.y);
1102 pte1[1].x.ModMulK1(&p2.x, &beta);
1103 pte1[1].y.Set(&p2.y);
1104 pte1[2].x.ModMulK1(&p3.x, &beta);
1105 pte1[2].y.Set(&p3.y);
1106 pte1[3].x.ModMulK1(&p4.x, &beta);
1107 pte1[3].y.Set(&p4.y);
1108
1109 secp->GetHash160(searchType, compressed, pte1[0], pte1[1], pte1[2], pte1[3], h0, h1, h2, h3);
1110
1111 if (!hasPattern) {
1112
1113 pr0 = *(prefix_t *)h0;
1114 pr1 = *(prefix_t *)h1;
1115 pr2 = *(prefix_t *)h2;
1116 pr3 = *(prefix_t *)h3;
1117

Callers

nothing calls this directly

Calls 4

GetHash160Method · 0.80
ModMulK1Method · 0.80
ModNegMethod · 0.80
SetMethod · 0.45

Tested by

no test coverage detected