Skip to content

Commit 14bda15

Browse files
committed
🎇 Style: using spaces
1 parent c32a7ff commit 14bda15

5 files changed

Lines changed: 98 additions & 96 deletions

File tree

Encode/Encode.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
#include "../Math/Math.h"
33

44
namespace calg {
5-
EXTERN_ALL void encode_text_move(uchar* src, uchar* out, int length);
5+
EXTERN_ALL void encode_text_move(uchar* src, uchar* out, int length);
66
}

Hash/Hash.cpp

Lines changed: 69 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
#include "Hash.h"
22

33

4-
namespace calg{
4+
namespace calg {
55

66

77

8-
EXTERN_API int extern_test_getnum(){ return 1; }
9-
inline bool cmp_a(i32 a, i32 b){ return a < b; }
10-
inline bool cmp_b(i32 a, i32 b){ return a > b; }
11-
inline i32 mix_2(i32 a, i32 b){
8+
EXTERN_API int extern_test_getnum() { return 1; }
9+
inline bool cmp_a(i32 a, i32 b) { return a < b; }
10+
inline bool cmp_b(i32 a, i32 b) { return a > b; }
11+
inline i32 mix_2(i32 a, i32 b) {
1212
i32 ea1, ea2, ea3, eb1, eb2, eb3;
1313
exp_1(a, &ea1, &ea2, &ea3);
1414
exp_1(b, &eb1, &eb2, &eb3);
@@ -17,19 +17,19 @@ namespace calg{
1717
mid1 = calg::mid(ea2, ea3, eb1);
1818
mid2 = calg::mid(ea3, eb1, eb2);
1919
i32 m1 = (i32)max, m2 = (i32)min, m3 = (i32)mid1, m4 = (i32)mid2;
20-
i32 **arr = new i32 * [10]{
20+
i32** arr = new i32 * [10]{
2121
&ea1, &ea2, &ea3, &eb1, &eb2, &eb3, &m1, &m2, &m3, &m4
2222
};
2323
std::sort(arr, arr + 10,
24-
[](i32 *a, i32 *b){
25-
return *a * *b % 2 == 0 ? *a > *b : *a < *b;
26-
}
24+
[](i32* a, i32* b) {
25+
return *a * *b % 2 == 0 ? *a > *b : *a < *b;
26+
}
2727
);
2828
return (*arr[calg::abs((i64)(a * b)) % 9] + *arr[calg::abs((i64)(a * b - a)) % 9]
29-
+ *arr[calg::abs((i64)(a * b - b)) % 9]
30-
+ *arr[calg::abs((i64)(a * b - a - b)) % 9] + 1 + a ^ b + a & b) / 4;
29+
+ *arr[calg::abs((i64)(a * b - b)) % 9]
30+
+ *arr[calg::abs((i64)(a * b - a - b)) % 9] + 1 + a ^ b + a & b) / 4;
3131
}
32-
inline i32 mix_3(i32 a, i32 b, i32 c){
32+
inline i32 mix_3(i32 a, i32 b, i32 c) {
3333
i64 t_max, t_min;
3434
calg::maxin(&t_max, &t_min, 3, a, b, c);
3535
i32 max = (i32)t_max, min = (i32)t_min;
@@ -38,36 +38,37 @@ namespace calg{
3838
else if (c - a < b) return ((i64)(b * c - b - c) + calg::pow(a, 2) % INT32_MAX);
3939
else return ((i64)max * min + (max ^ min) * calg::mid(a, b, c)) % INT32_MAX;
4040
}
41-
inline i32 mix_5(i32 a, i32 b, i32 c, i32 d, i32 e){
41+
inline i32 mix_5(i32 a, i32 b, i32 c, i32 d, i32 e) {
4242
i32 A = mix_3(a, b, c), B = mix_3(c, d, e), C = mix_3(b, c, d),
4343
D = mix_3(a, c, e), E = mix_3(a, b, d), F = mix_3(e, d, b),
4444
G = mix_3(a, d, e), H = mix_3(e, b, a), I = mix_3(b, c, e),
4545
J = mix_3(d, c, a), K = mix_3(a, b, e), L = mix_3(e, d, a);
46-
if (A ^ B & 1){
46+
if (A ^ B & 1) {
4747
i64 CDEF = (i64)C * D - E - F;
4848
return (i32)calg::abs(CDEF % INT32_MAX - (i64)K);
49-
} else{
49+
}
50+
else {
5051
i64 t_a = calg::abs((i64)(G + H) ^ (i64)(I * J));
5152
return t_a % INT32_MAX - (i64)L;
5253
}
5354
}
54-
inline void exp_1(i32 x, i32 *a, i32 *b, i32 *c){
55+
inline void exp_1(i32 x, i32* a, i32* b, i32* c) {
5556
i32 ea = (x << 1) & 114514, eb = x ^ 1919, ec = (x >> 1) & 810;
5657
i32 ca = (i32)gobit(x, 10), cb = (i32)gobit(x >> 10, 10), cc = (i32)gobit(x >> 20, 10);
57-
*a = (ea ^ ca) >> 1, *b = (eb ^ cb) >> 1, *c = (ec ^ cc) >> 1;
58+
*a = (ea ^ ca) >> 1, * b = (eb ^ cb) >> 1, * c = (ec ^ cc) >> 1;
5859
}
59-
inline void exp_1(i32 x, i32 *a, i32 *b, i32 *c, i32 *d){
60+
inline void exp_1(i32 x, i32* a, i32* b, i32* c, i32* d) {
6061
i32 ea = (x << 1) & 114514, eb = x ^ 1919, ec = (x >> 1) & 810, ed = x;
6162
i32 ca = (i32)gobit(x, 8), cb = (i32)gobit(x >> 8, 8), cc = (i32)gobit(x >> 16, 8), cd = (i32)gobit(x >> 24, 8);
62-
*a = (ea ^ ca) >> 1, *b = (eb ^ cb) >> 1, *c = (ec ^ cc) >> 1, *d = (ed ^ cd) >> 1;
63+
*a = (ea ^ ca) >> 1, * b = (eb ^ cb) >> 1, * c = (ec ^ cc) >> 1, * d = (ed ^ cd) >> 1;
6364
}
64-
inline long double spring_func(long double x){
65+
inline long double spring_func(long double x) {
6566
ld A = sinl(calg::pi * log2l((ld)calg::abs((i64)x * 2 + 1)));
6667
ld B = powl(2, x * 2) + powl(calg::e, x * 4);
6768
return cosl(A + B);
6869
}
69-
EXTERN_API void hash_str(uchar *src, uchar *rst, int length){
70-
i32 *mid = new i32[hash_length]; // 中间运算结果
70+
EXTERN_API void hash_str(uchar* src, uchar* rst, int length) {
71+
i32* mid = new i32[hash_length]; // 中间运算结果
7172

7273
memset(mid, 0, sizeof(i32) * hash_length); // 初始化中间运算结果数组
7374
memset(mid, '0', sizeof(uchar) * hash_length); // 初始化结果数组
@@ -76,32 +77,33 @@ namespace calg{
7677
if (length == hash_length) // 长度刚好, 直接填充
7778
for (i32 i = 0; i < hash_length; ++i)
7879
mid[i] = (i32)src[i];
79-
else if (length > hash_length){ // 源较长, n 元混合
80+
else if (length > hash_length) { // 源较长, n 元混合
8081
mid[0] = mix_5(src[0], src[1], src[2], src[3], src[4]);
8182
mid[1] = mix_3(mid[0], src[1], src[2]);
8283
mid[2] = mix_5(mid[0], mid[1], src[2], src[3], src[4]);
8384
for (i32 i = 3, pos = 3; i < length;
84-
++i, pos = pos == hash_length ? 3 : pos + 1){
85+
++i, pos = pos == hash_length ? 3 : pos + 1) {
8586
mid[pos % hash_length] = mix_3(src[i], mid[pos - 1], mid[pos - 2]);
8687
}
87-
} else{ // 源较短, n 元扩展
88+
}
89+
else { // 源较短, n 元扩展
8890
for (i32 i = 0, t = 0; i < hash_length; // 初始化赋值
89-
++ i, t = t == 0x7fffffff ? 0 : t + 1){
91+
++i, t = t == 0x7fffffff ? 0 : t + 1) {
9092
mid[i] += t ^ mid[i % length];
9193
}
9294
i32 α = 0, β = α + mid[0], γ = α ^ β; // 系数
9395
std::queue<i32> tar; // 已扩展的存储队列
94-
for (i32 i = 0, a, b, c; i < length; ++ i){
96+
for (i32 i = 0, a, b, c; i < length; ++i) {
9597
exp_1(src[i], &a, &b, &c);
9698
tar.push(a); tar.push(b); tar.push(c);
97-
if (mix_3(a, b, c) % 2 == 0) ++ α;
98-
else -- α;
99+
if (mix_3(a, b, c) % 2 == 0) ++α;
100+
else --α;
99101
if (mix_5(a, b, c, α, β) & 1) β += α;
100102
else β /= α ^ b;
101103
if (mix_3(α, β, γ) % 2 == 0) γ += α * β;
102104
else γ -= β - α;
103105
}
104-
while (tar.size() < hash_length){ // 数量不足 2048 时
106+
while (tar.size() < hash_length) { // 数量不足 2048 时
105107
i32 x, y; x = tar.front(); tar.pop(); // 取出两个进行分解并追加
106108
y = tar.front(); tar.pop();
107109
i32 xa, xb, xc, ya, yb, yc; // 分解值变量
@@ -113,37 +115,37 @@ namespace calg{
113115
tar.push(mix_3(ya, yb, xb));
114116
tar.push(mix_3(ya, yb, xc));
115117
}
116-
for (i32 i = 0; i < hash_length; ++ i){
118+
for (i32 i = 0; i < hash_length; ++i) {
117119
mid[i] = (i32)calg::abs((i64)(tar.front() ^ tar.back() * α));
118120
tar.push(tar.front()); tar.pop();
119121
mid[i] *= tar.back() + (α - (β ^ γ));
120122
}
121123
}
122124

123-
for (i32 i = 2; i < hash_length - 3; ++ i){
124-
i32 *α = new i32[5]{
125+
for (i32 i = 2; i < hash_length - 3; ++i) {
126+
i32* α = new i32[5]{
125127
mid[i - 2], mid[i - 1], mid[i], mid[i + 1], mid[i + 2]
126-
}, *σ = new i32[3]{
128+
}, * σ = new i32[3]{
127129
mid[i - 2] ^ mid[i - 1], mid[i], mid[i + 1] ^ mid[i + 2]
128130
};
129131
i64 sum = 0, mul = 1, γ = 114514;
130132
if (mid[i] % 2 == 0) std::sort(α, α + 5, cmp_a);
131133
else std::sort(σ, σ + 3, cmp_b);
132-
for (i32 j = 0; j < 5; ++ j)
133-
for (i32 k = 0; k < 3; ++ k){
134+
for (i32 j = 0; j < 5; ++j)
135+
for (i32 k = 0; k < 3; ++k) {
134136
i64 num = α[j] ^ σ[k];
135137
if (!num) num += (i64)(j * k);
136138
sum += num, mul *= num, γ ^= (sum * mul);
137139
α[j] *= (i32)sum, σ[k] *= (i32)mul;
138140
if (!α[j]) α[j] += j * j * k;
139141
if (!σ[k]) σ[k] += j * k * k;
140142
}
141-
for (i32 j = i - 2, k = 0; j < i + 2; ++ j, ++ k)
143+
for (i32 j = i - 2, k = 0; j < i + 2; ++j, ++k)
142144
mid[j] += (α[k] & σ[k % 3]) ? α[k] & σ[k % 3] : α[k] * σ[k % 3];
143145
delete[] α, σ;
144146
}
145147

146-
for (i32 i = 2; i <= hash_length - 3; ++ i){
148+
for (i32 i = 2; i <= hash_length - 3; ++i) {
147149
i32 a = mid[i - 1], b = mid[i], c = mid[i + 1], tmp;
148150
tmp = a, a = c, c = tmp;
149151
b = calg::max(3, a * c, a * b, b * c) % 255;
@@ -166,8 +168,8 @@ namespace calg{
166168
}
167169

168170
for (i32 i = 0, j = hash_length - 1, launched = 1;
169-
i != j && i < j && i != j - 1;
170-
++ i, ++ launched, j -= ((~mid[i + 1] ^ mid[i]) % 3 == 0 ? 1 : 2)){
171+
i != j && i < j && i != j - 1;
172+
++i, ++launched, j -= ((~mid[i + 1] ^ mid[i]) % 3 == 0 ? 1 : 2)) {
171173
mid[i] += mid[j] * mid[j - 1];
172174
mid[i] >>= (mid[i + 1] % 4);
173175
mid[i + 1] = mid[i] & (mid[j - 1] + mid[j]);
@@ -185,29 +187,29 @@ namespace calg{
185187
if (launched >= 2048) break;
186188
}
187189

188-
for (i32 i = 0; i < hash_length; ++ i) // 拷贝中间运算结果到结果
190+
for (i32 i = 0; i < hash_length; ++i) // 拷贝中间运算结果到结果
189191
rst[i] = (uchar)((i32)calg::abs((i64)mid[i]) % 255);
190192

191193
delete[] mid; mid = NULL; // 回收中间运算结果数组
192194

193195
return;
194196
}
195-
EXTERN_API void hash_compress_128_str(uchar *src, uchar *rst){
196-
i32 *mid = new i32[128];
197-
i32 **at = new i32 * [16];
198-
for (i32 i = 0; i < 16; ++ i)
197+
EXTERN_API void hash_compress_128_str(uchar* src, uchar* rst) {
198+
i32* mid = new i32[128];
199+
i32** at = new i32 * [16];
200+
for (i32 i = 0; i < 16; ++i)
199201
at[i] = new i32[128];
200202

201203
memset(mid, (i32)src[64], sizeof(i32) * 128);
202-
for (i32 i = 0, x = 0, y = 0; i < 2048; ++ i,
203-
x = y == 15 ? x + 1 : x,
204-
y = y == 15 ? 0 : y + 1){
204+
for (i32 i = 0, x = 0, y = 0; i < 2048; ++i,
205+
x = y == 15 ? x + 1 : x,
206+
y = y == 15 ? 0 : y + 1) {
205207
at[y][x] = (i32)src[i];
206208
}
207209

208-
for (i32 i = 0; i < 128; ++ i){
210+
for (i32 i = 0; i < 128; ++i) {
209211
i64 tmp = 1;
210-
for (i32 j = 0; j < 16; ++ j){
212+
for (i32 j = 0; j < 16; ++j) {
211213
tmp *= (i64)(at[j][i] == 0 ? i * j : at[j][i] + i * j);
212214
if (i != 0 && j != 0)
213215
tmp += (i64)at[j - 1][i - 1];
@@ -217,42 +219,42 @@ namespace calg{
217219
rst[i] = (uchar)((i32)calg::abs(tmp) % 255);
218220
}
219221

220-
for (i32 i = 0; i < 16; ++ i){
222+
for (i32 i = 0; i < 16; ++i) {
221223
delete[]at[i]; at[i] = NULL;
222224
}
223225
delete[]at; at = NULL;
224226
}
225-
EXTERN_API void hash_compress_64_str(uchar *src, uchar *rst){
226-
uchar *mid = new uchar[128];
227+
EXTERN_API void hash_compress_64_str(uchar* src, uchar* rst) {
228+
uchar* mid = new uchar[128];
227229
hash_compress_128_str(src, mid);
228-
for (i32 i = 0; i < 64; ++ i)
230+
for (i32 i = 0; i < 64; ++i)
229231
rst[i] = (uchar)(calg::abs((i64)mix_2((i32)mid[i * 2], (i32)mid[i * 2 + 1])) % 255);
230232
}
231-
EXTERN_API void hash_compress_32_str(uchar *src, uchar *rst){
232-
uchar *mid = new uchar[64];
233+
EXTERN_API void hash_compress_32_str(uchar* src, uchar* rst) {
234+
uchar* mid = new uchar[64];
233235
hash_compress_64_str(src, mid);
234-
for (i32 i = 0; i < 32; ++ i)
236+
for (i32 i = 0; i < 32; ++i)
235237
rst[i] = (uchar)(calg::abs((i64)mix_2((i32)mid[i * 2], (i32)mid[i * 2 + 1])) % 255);
236238
}
237-
EXTERN_API void hash_compress_16_str(uchar *src, uchar *rst){
238-
uchar *mid = new uchar[32];
239+
EXTERN_API void hash_compress_16_str(uchar* src, uchar* rst) {
240+
uchar* mid = new uchar[32];
239241
hash_compress_32_str(src, mid);
240-
for (i32 i = 0; i < 16; ++ i)
242+
for (i32 i = 0; i < 16; ++i)
241243
rst[i] = (uchar)(calg::abs((i64)mix_2((i32)mid[i * 2], (i32)mid[i * 2 + 1])) % 255);
242244
}
243-
EXTERN_API void hash_compress_8_str(uchar *src, uchar *rst){
244-
uchar *mid = new uchar[16];
245+
EXTERN_API void hash_compress_8_str(uchar* src, uchar* rst) {
246+
uchar* mid = new uchar[16];
245247
hash_compress_16_str(src, mid);
246-
for (i32 i = 0; i < 8; ++ i)
248+
for (i32 i = 0; i < 8; ++i)
247249
rst[i] = (uchar)(calg::abs((i64)mix_2((i32)mid[i * 2], (i32)mid[i * 2 + 1])) % 255);
248250
}
249-
EXTERN_API void hash_compress_4_str(uchar *src, uchar *rst){
250-
uchar *mid = new uchar[8];
251+
EXTERN_API void hash_compress_4_str(uchar* src, uchar* rst) {
252+
uchar* mid = new uchar[8];
251253
hash_compress_8_str(src, mid);
252-
for (i32 i = 0; i < 4; ++ i)
254+
for (i32 i = 0; i < 4; ++i)
253255
rst[i] = (uchar)(calg::abs((i64)mix_2((i32)mid[i * 2], (i32)mid[i * 2 + 1])) % 255);
254256
}
255-
EXTERN_API int hash_file(uchar *fileName, int type){
257+
EXTERN_API int hash_file(uchar* fileName, int type) {
256258
//TODO: 文件哈希
257259

258260
return 1;

Hash/Hash.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "../Base/base.h"
22
#include "../Math/Math.h"
33

4-
namespace calg{
4+
namespace calg {
55
EXTERN_ALL const i32 hash_length = 2048;
66
EXTERN_ALL const i32 hash_block_length = 128;
77

@@ -11,15 +11,15 @@ namespace calg{
1111
inline i32 mix_2(i32 a, i32 b);
1212
inline i32 mix_3(i32 a, i32 b, i32 c);
1313
inline i32 mix_5(i32 a, i32 b, i32 c, i32 d, i32 e);
14-
inline void exp_1(i32 x, i32 *a, i32 *b, i32 *c);
15-
inline void exp_1(i32 x, i32 *a, i32 *b, i32 *c, i32 *d);
14+
inline void exp_1(i32 x, i32* a, i32* b, i32* c);
15+
inline void exp_1(i32 x, i32* a, i32* b, i32* c, i32* d);
1616
inline long double spring_func(long double x);
17-
EXTERN_ALL void hash_str(uchar *src, uchar *rst, int length);
18-
EXTERN_ALL void hash_compress_128_str(uchar *src, uchar *rst);
19-
EXTERN_ALL void hash_compress_64_str(uchar *src, uchar *rst);
20-
EXTERN_ALL void hash_compress_32_str(uchar *src, uchar *rst);
21-
EXTERN_ALL void hash_compress_16_str(uchar *src, uchar *rst);
22-
EXTERN_ALL void hash_compress_8_str(uchar *src, uchar *rst);
23-
EXTERN_ALL void hash_compress_4_str(uchar *src, uchar *rst);
24-
EXTERN_ALL int hash_file(uchar *fileName, int type);
17+
EXTERN_ALL void hash_str(uchar* src, uchar* rst, int length);
18+
EXTERN_ALL void hash_compress_128_str(uchar* src, uchar* rst);
19+
EXTERN_ALL void hash_compress_64_str(uchar* src, uchar* rst);
20+
EXTERN_ALL void hash_compress_32_str(uchar* src, uchar* rst);
21+
EXTERN_ALL void hash_compress_16_str(uchar* src, uchar* rst);
22+
EXTERN_ALL void hash_compress_8_str(uchar* src, uchar* rst);
23+
EXTERN_ALL void hash_compress_4_str(uchar* src, uchar* rst);
24+
EXTERN_ALL int hash_file(uchar* fileName, int type);
2525
}

0 commit comments

Comments
 (0)