-
Notifications
You must be signed in to change notification settings - Fork 4
/
build.cpp
111 lines (104 loc) · 10.2 KB
/
build.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/**
* STATIC LIB BUILD
*/
#include <APA/bint.hpp>
#include <APA/math.hpp>
#include <iostream>
// #include "core.hpp" // - header compilation
int main() {
apa::bint FIBONACCI_OF_1000 =
"0x21d8cb07b572c25732bb116f2c33bab0e83d0c699bad1a727a736a7e42ca93b697ad224d55398373062f18ff62b99c28068131a3fab0"
"c12e3510283c1d60b00930b7e8803c312b4c8e6d5286805fc70b594dc75cc0604b";
apa::bint FACTORIAL_OF_3375 =
"0xa4027a170efee729e543877bc6d8cb88c00810d0b3f18c77f9755907f470a1a94f4ab26af658c7790aae17ac3b584181825e763265c2"
"16490f5a93c0426485cc2bfc99ed1fd883aa983759e4662f26cdd96cf3289aa1a5ef67e48a36188c3e8f1bd634c6da63e4dc21f9110a33"
"ff84dcc11b29972edc143fabb1b75ef93799f283e767bec1a3c5a5cbdc3d4a47e1679a5b377f436ab98816451804a290907884e44029e3"
"1016fb5681b93aa90570200dbfe34bcc39f78a492c82f0260977b934401e961f0c65c7d7a611170e2975955cbd93ed2b444dda7a12805e"
"95e789fb010d510d3e8f5420fc63189be530a70518606b399ff4b55bae8fb825d7dcfb68e89e0ab027f27bbd2d0b226a82e0fbcc85eeb8"
"b1df2c6fd6ee31b82e725711d67edbdf0b10608e4b43e78649af542686ba5a385d34ed7c51c6b77c5ab1ff868deca9b0158edc44de55c4"
"4227c626259907a77d5a898b62e81a1b5b3e9a17759511d8fa594f3b413db322f6b8ea72b537af3ea3cfc1f07fbb0677b49151f657ea4f"
"66d69bad0b24e9c5d6b405c82bb98506071b870342b475775d132fb389762474659b64553257bb8980f5f2b42b70b29561376eb7e24ffd"
"16e2c3e8767df0e6a273c0aa8bf1500d62afb35f366b191bf37468c9ca5d6e1daaa9d16db41f612698b78b6468ae2678e1c2a613d4ddd7"
"27583fc99f54a4afa9772ad23cca3c6832faf18a070ccc534395d2cc7a1512d9e7ffcfd13aa38c345802394f5e9bf37543a190107388e0"
"b5bc899825aa6f0d6390e6e62be1523e617b14d0230c77edd3e7323a0d418c5fe6cac35567716ac0975ab4930a4da24932d4c472fc219b"
"178726559f481ac7c36d9c394678a75a23b0421784b8f735e424a6d5b0012af7b4eb13768710861a9d59dedd4e364817e6375e6eccba86"
"72938e5af6eefab48132f24c2c663e7006dbeba57581368718f6a993858a36c0ec11def95e7132c9ff7efe17041f69d2075d04b6de5cde"
"672df4dc672a3c4dc613385bef4a4ff4389c4542af392cecc7da1510d6b43e3da98c3050310b866abb67f98811626227e91b4decf2c34f"
"538bb5fb49e8f64de6b9d48d90ae0e0388137dc712611e3a83ff014429de81e381b10913b3f4f5b7f04bfdcb685be29debbca97cd633c2"
"44efa7e3c78e2d0b7392596f3c32fd44e4729ef7bc5eaa1b78e1d474adcc6ba22ddf0053428ba7db201285a794cea8ec282ffdb799d8c4"
"b1580230895fd38d92169fc6de7c0458bae4682d5bc4b658b0d2df17cd16ade4664d8e83c55640c4f49af9cfb3f2b23d8e3f2a0b14ee8a"
"a49dbaa791e8362414c27fc650b63f4ba5d9cb7b4dfd24ddade344d0ae0b785b00ebd79ca22da25f78471d8c35f04adb9bbb99e6d4d524"
"387ad8f4ccd6df936bfc382251a236879c46645992c52dce034dc8b3564de62e6baf6ed51308e8ec75323350b054e9bbda10b9380d0b50"
"cba4b7711193657b6ab3f333b23c1c83a36b0197d0053d625b0e863fdde455c6d291c88f18c5b91c786e3b1e4b7e410ca87589274076b0"
"72d90cf5ce501db3f0439f96b313556ee2c4f0aa7ecd8af5d9306a80efdf8991e80a3b7230a2270752901df773bf87b154cadaf60b17d2"
"31b5dbb4c7a10af41141952dea9beb58089015207be31ddfea18e9d448faf2ccbd74ad1fc48bd64fee7f6c94d6860c06eb0f8cae125dd7"
"c65a8b9e5f36e2a19da0369189d2a4ecc9236a0b1510e51692f189343783add158069b766daf7959025cbf7615d4bde9baf2a96442aaff"
"a31bf373f878242fdb5aa4ceaec063f3fb651e246b01f12165682d81489903d44110c673a5d3a4200b7c54eeed887dff1ffbbc6785d3dd"
"a82b0a56b9f4c757bf131bcac2221d9d1e2397684b23b6fd0fec9a8386f4c231e048b513801de50690b1f9568e4b986594758af29614b8"
"39915e9e40aa452606b05ddcbbc15f6ab06f4bc89841ab7a36da855af9d899806eb003376ef7189f657f1cdc484192c33dd8fba780e00a"
"c1574b550c3bc44ff441b450b27a142cd3dd02273c386601db2587870c32ffedc3707bd12852b66f80c2877b3f35e5d1608d3276d09eeb"
"1918f565ce5e5f0242baacb71d578465fadebdf41927ddb92d62eae35e3eb0b0e78080f8af1b2e8f832fe44bb69904bc40cfb4827da9cd"
"12526d67bb9e8bd6293a0c7e02b8e8de235f1b37f21291cbfde7507574ca11775bee88cb72bb2907fb4afccee4ba63db78e40c9bffd0f0"
"e0ab65d645379f70c8288292ac5361bd7458cedc8969ef03ef6080858bfcd3df00ae3749b549093200bfe61e6df5f387c8222cecce01f3"
"dd78192f29de367890a3701ac402c49edd19868c0e8b95fcf104bf923dffda8ed3f0705715c8706568a70087cd344436fda6c3d43ac96b"
"32fbf53824d6e57969dda317020b560c0145fb3025b67b1f5e17cc10df292c7089f5bc8d077178101bc164aabf5f32bc8252785ac6e639"
"0f557ffcfaebcd786745905c83d1b1928c1cbdf7138c165cd5181fb6593d3f26d01aa6e0685e6201a65ef580bc5dad43cc1459bffa25f0"
"50baeeb66ef04ad2384ba67465bacca0b8323b848f8a6b601931151bc793e29330a0d3208510851e64b4136021065081637c34e43d4f15"
"1f72d346d36c5472b3a5f9f8e6dbbcce64dbf59c94f2994a340e0cf264c652fb894d49e4dc2b306d001ed2ab5530712926b5316168a538"
"1b5571ecd0e24f72a4f8182ce773e384fcceaecaf7e34456ab5c409a86d605c079e4f9a96d4ffc3aaa88d7928651cad1830a5376628c06"
"2b18944377b8eb5bc8253f1346bc6dfb34b512e4beee69c197e0050f591c980e0083ff0395deaa82d69a9c95cdcafbeda7beae02c1645e"
"afd60651a7aef5b916034687cdb367f9fcbf0b3733243b90d8943f207108e1962bfc6b58739f765dafd809c7fcbf50fe18876645423136"
"7cead544c89c783d584392db17537760965f51eb45724b2fb000cbec67d09166d02f3639e9bea378c7306c21cf48d8db989ac4d6f8f3b2"
"bff2e0692891c8d4200f65aabcbb5067fafe80fa375ef3b191ce38b645f0f0e4d26ce93bd1ec362aaf1e2a3dd0cc394bfbee1444c9a18d"
"58810ee1f929267fff4dae435aacb8545d7fb06000e8baf8b80ec633bae26f9b5124cd83cca2e1add49ab6ed8909f42eca716160ce9ff7"
"4c643f9c590a578bcf26dbe72cb5933ba273944d114d0bb88396160af6a0acb75988c63b3df0610b34f6503c480fa273e7170a3a26fe00"
"debf0a0dd3ad1a5ad82ec35f7769683f9a29f67945d23130a8378aea0a8d8936bcc9c512d761e5b7bd042a1dde0d8aa9010a8927617edd"
"4ba4d78dc42e6d694bbae2e6d232ccf7d82740587f1b0b3a061de597ba935bc9e646e01efa77a5bc98e587fbedb8edde529da6d349067d"
"be7887be3829cfcb95d1257dba62bdbf6e45a769d92c667064869af6fbfd50b8c0376c667a2c86192862066bb2b73d335d1cd7a4e6e320"
"9f49c733bd52c7087562761a81eb80b65d3f5284d10279ff82cf8b307debd88748ac07a196bbe2f8bd8764383ba24a27660435f87daf17"
"47a3487127df0061bc96308a536bd93d2a7e2cedd822f33166aaf2f3824c7570fe07ca67d0c87d568a80b5f2afa761edfee5833d7fcc96"
"aaae9fb049c018fb2a8c58477f85d8e7ee943b4abe9fd91d974819606fe8b3371a5a83d56ceae66bfa3dfa7d2fc53b3fb74d080bd7b0e6"
"319ceb970d9856dc1faf3ca4e7fd50b7801522780740f04070227a25696fa719f46d791804930ff518601f293f4a8b1f261ffc98f39e91"
"70e7a4a4d7cae283627a623ee17495d10b28e36f63fee0a0074eb99c6806235fbda32178669a252b257cde902a033e38a7f3a8c31d05c3"
"a1d90cf2b5cf181d69e7852fdef227aeaabbf0a70a634a7c203f2c7268e55f9c02fc2c055603a0da9cec7d4c0bd045af3733239821fe3c"
"7d7e66e2bb3578d2757cbf4ce66d349e2ae06e23d6cf6a0be5d9cddcab2d306c36a6f64eed1dffe5d7bf2f507d0a3a9f18c0cea9c7fafb"
"5d362aa32c60c65688ca7c1bd374792f96d045baa3be4fee850618f8ab1a322508728d6ea46859bc77f382c7edd46c32621d0c9394f372"
"42e19ae7ecd9f4f773a299f334e1e1ccbe3ae7ca34281bc6fd6ead9e198db28e536e0e008c11d631ba8f6540ae8f40b94d613de132584d"
"453a4c9d22776e5a7aa5f9ea45a5c99cc91ef9c14ca4305c3f6ede628d09900a62db47c319a6f894911f067c2448fc5a6b99d8ff22f148"
"3afe3e354af22be1dddfb7602935b1cfb178235c8ecbf242ee78916bc9948f34e15d2e8ed53ca020e6c91d0fda2ef1ff9e9f7b54a27775"
"03a99d92350dc91e24a705c0637df236e4abcd9951e569d3f869dad10a420bafe4af159976ef3976405c9650433344bd3daa745115a226"
"eb8e000669bda4f8ee870f5fffa958f69ce62462bdcbc80c30acae5aa9647927cfd4b4e4720fd5c5e7b8ae863080c3adec21edfaf4bec8"
"0bed0499c0348a392064cfe483318c7f7d5cfc75e9f47eeb10665c75124a4d88de224d0ee8493fc660fe30af68358482c686882be3f5b1"
"4bf77bff92346a830e92e940ad85f0347e65d7a55559340fbb54eea752a21374e459a4fd35ff13d834846fca2237f725605c54e1c430e4"
"d31614bbd378ed7111299d31b19d7d64a8592ba1a450a3fa41bc6c326003ff68c4af1c32726377034549da08f343bd63a7ba5dc4f26a45"
"e6e1fdee009189ad6c9f85154706fea93bd637a2519846b59afb7e0dcf8b353ae867b9ca34c0389b3cfa4e6125872833c1f7250a4f0370"
"ce5440f492fb3d83e23c8a2d1453c473cc6a2c4a6e0cf52f03846ea064fc617e8cd4bbac0c16380cb298ee036ee9e773f1a703644d0eaa"
"8f7fb5cda06dd5206b17b3fb97518552d1b0439ddade454b7253004364f6a8d590848921c2e03f3f3f509a1118adcef618db28beed6121"
"b22e6bb25bf0a1c158675621527428239bb165968a62e66203f7d7f0b1100faf513f5a6a8c2d38597e4cc888f5ca821331a94b355a267b"
"ca38507b71658a84ee1a5fc3eda184ff22b06257205ce3c9eb94a5b5de864bec4287381f652ef0277033eb08f04eafef51dfd2c71a49bb"
"72a0f0f238c9d1339afb3699dcb416e465411f453b58a4974ec1ece92ffbf0a126790970f63cb7e97099f7c9302a6b7c0b73a873489341"
"c85077336b507076a8914905398b68c38c7c352ab6bb1f92955b2c99336bcc44827ab61880fe6912e417be46565e97ca4972902d63c38a"
"1b461fb34f9db0334226e4f3a2e44d20d2848348d7c9cff89827abf8eaaad3ffaf16dfe7ba28c00cc3ad3e216af9781ff4e35d88248e02"
"794c02028006b6d5e057e927b3b4b5ead09dec11242b386506257528702ae6dac54781062b2631d189331487265eb6101312d6ba9e4da6"
"e28327d61224c839e16b68b769f46c77ad3de7e12b88e1014d21c6d1d1173534ade1cecc36fa4d27202dfc18c1cae12874232cb93e572f"
"b2f2beb564187d5ac2a0dc1280000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
apa::bint ZERO = 0;
apa::bint FIB1000 = apa::fibonacci(1000);
apa::bint FAC3375 = apa::factorial(3375);
apa::bint ZERO__A = FIB1000 - FIBONACCI_OF_1000;
apa::bint ZERO__B = FACTORIAL_OF_3375 - FAC3375;
if ((FIB1000 == FIBONACCI_OF_1000) && (FAC3375 == FACTORIAL_OF_3375) && (ZERO__A == ZERO__B && ZERO__A == ZERO)) {
std::cout << "Build : PASSED\n";
} else {
std::cout << "Build : Failed\n";
return 1;
}
return 0;
}