@cella-lang/cpp 0.1.202610080149 → 0.1.202610080247

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGES.md CHANGED
@@ -36,6 +36,7 @@
36
36
  - 結果型別的規則寫在 `cpp.arithT`。
37
37
  - **`<cmath>`**:`cpp.fabs`、`ffloor`、`fceil`、`ftrunc`、`fround`(.5 離零)、`fmod`。結果都精確。
38
38
  - **`pow(x, n)`(n 是整數)**:`cpp.fpowi x n`,正確捨入。指數不是整數的 `pow` 還沒有。
39
+ - **`exp`、`log`、`sin`、`cos`**:`cpp.fexp`、`cpp.flog`、`cpp.fsin`、`cpp.fcos`,都是正確捨入(libm 不保證正確捨入;差分的結果見 `diff-float.md`)。
39
40
  - **雜湊改變**:`cpp.fconvV`(改用另一種捨入算法,值不變;float/double 之間的大數轉換不再逾時)。
40
41
 
41
42
  ### 容器與字串
package/cpp.cell CHANGED
Binary file
package/index.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "cbfVersion": 19,
3
- "checkerHash": "231d56957b3302bb",
3
+ "checkerHash": "ed39e29725c07b4c",
4
4
  "defs": {
5
5
  "cpp.__RecordTag_cpp.IOS": {
6
6
  "merkle": "796edb43f4d0722b7fe3a28a440f5eb1b050ef4eafdc16cffc9f9bed220a8acd",
@@ -26,6 +26,10 @@
26
26
  "merkle": "711f28a0277e66dca33861b88441766f8131dd6a7bf1b2e5a3fe430cd1e4e70b",
27
27
  "own": "65b695a88e4b8ea8976c1abc97ee13c846842be123b2990dc6996e9a76e0df91"
28
28
  },
29
+ "cpp.cpp.Approx": {
30
+ "merkle": "f6625d29558ce87cc0d22ebb29013cca38492846913b5dc802d67f13e267d260",
31
+ "own": "52047dfec124a493ee5beae4cc77184d33760bb79e2b969f72889d14a5436ad9"
32
+ },
29
33
  "cpp.cpp.Arr": {
30
34
  "merkle": "09602c498f29f7a657415a8ebd38765f7f0cfacb6216a79e3ad06482e9b03dbc",
31
35
  "own": "ca45c2f066deedf68cbcc126de08451c3e01b646916c2d4caa21cebcc2a46f00"
@@ -310,6 +314,10 @@
310
314
  "merkle": "33acbd465cc9aacf8df84a12c35e7c87a009da1879ca7df33ebf078ae27dfaf8",
311
315
  "own": "5159e276907bb08c1c87be8bd019af7dbf715de2d9ccb1ab1e29e3743a1a8472"
312
316
  },
317
+ "cpp.cpp.SumN": {
318
+ "merkle": "71de94d183e70b7029c563aac07805833c4680051b9f89e371e2ccb48260b355",
319
+ "own": "fac2321971d6528268a8fe84012ed22ffb71b470613e94bac050f07b635beb4c"
320
+ },
313
321
  "cpp.cpp.SwBlock": {
314
322
  "merkle": "eaf2c6ad54fe3172bbfee0513745de89785b9c970e39c197494dfe957fd9c05b",
315
323
  "own": "0bb70985ad2ed851122b89e7670c8a9f7c4bba8cb6be5b51bcebb2fb8da7f70e"
@@ -458,6 +466,18 @@
458
466
  "merkle": "8350785013520ffcdcd644b95e1ca4fd4dfddc16ce85cb31e4ec262a3b0bdcfa",
459
467
  "own": "80f9ece5515014cb96fbd5798983c86555d24fc87a42e5207cd1be250fa5083d"
460
468
  },
469
+ "cpp.cpp.atanInv": {
470
+ "merkle": "23ba041886f5203f243e0b0b01978537efa024431dc9b81fb4b9811265d1395f",
471
+ "own": "db8942ed35d3b112e03f618c4b41176a399048b7bcf4d0f71d6f2a52c6d96c83"
472
+ },
473
+ "cpp.cpp.atanInvGo": {
474
+ "merkle": "f9f4fedde4ccbe1ef391d95e7b7e06eeb49d9f81c7cc0c75cf65e6f6e7879fa7",
475
+ "own": "53360b63d1606826142a1c77fde28cc79aba11d102d19e3f55a177264c98375a"
476
+ },
477
+ "cpp.cpp.atanhSeries": {
478
+ "merkle": "be1566b13ca7f7c094ad59d7bc571809e937534cebf9cd42a813f39097b98994",
479
+ "own": "b16dc81b171a371c0908442f9fadbfd972af51ed2edaa7c6a862666758e14e7d"
480
+ },
461
481
  "cpp.cpp.avr.Int": {
462
482
  "merkle": "f283f1566869a5f2e89279a7c2bc36cc717d82ffd0d12457ea53ef16e89f5665",
463
483
  "own": "948687d513255e558f901d1c950fa4039c71e6fc5b47dde521157df38b997cd0"
@@ -950,6 +970,10 @@
950
970
  "merkle": "19de2b24aa657c4b6259d2a53b72ffec837425c80352800402668147ef0b9e4f",
951
971
  "own": "0a7845060b9b6678dc573fb27ef54fa8f8fc98e5d37aedff3b740ec922c36507"
952
972
  },
973
+ "cpp.cpp.eqFVal": {
974
+ "merkle": "f6ceab54734a05c43655b8044fb52e8b4ac4c670309355ad4b5bc072efd410e0",
975
+ "own": "490660a98f1107b85449544414cf7c88d0ec7fd17426acc34a73b024b6996309"
976
+ },
953
977
  "cpp.cpp.eqIF": {
954
978
  "merkle": "de6f48ad96ea7dd8867780f9a6aba6738efd3b6bdb0b90f6090ebbf596ba026a",
955
979
  "own": "7d036948024181eea8b9c24bdc5ed14092670b7b1402b43a84de6a393335e4d5"
@@ -994,10 +1018,22 @@
994
1018
  "merkle": "2b82f84e8109bc01cfcc4bbda53575a1b97442e2bb70bd6ba23f3378916c7f8a",
995
1019
  "own": "61760c7ca2c678c0398f3548ce871edb324c33b39bad93dcf8aabe078fd53e4a"
996
1020
  },
1021
+ "cpp.cpp.expAt": {
1022
+ "merkle": "56d14b055f7bfaf8de136c66e7fcc75556d378cc12624d3802e03da90aad6204",
1023
+ "own": "138f517a75719264846b0c12c9bab51748126db0fca3b83e8ebf4f55475423bb"
1024
+ },
1025
+ "cpp.cpp.expSeries": {
1026
+ "merkle": "f5221e7d3bab67dede2f9aa65502651628b944c9e24118b099846a75dedf3553",
1027
+ "own": "91c5a2ceff14abd3b3254f8e2ba2bc34bf5561272fb16f89756f4652bce58133"
1028
+ },
997
1029
  "cpp.cpp.expStr": {
998
1030
  "merkle": "d69d400a4b5278f3785fdc67e827b3d53c246c894b38cc4b92b4ec3382e5ccac",
999
1031
  "own": "ea7e075db33d784544ce5d11e50b6dcf1ea726080a26ec847fa6d59491da595a"
1000
1032
  },
1033
+ "cpp.cpp.expTry": {
1034
+ "merkle": "ac6234cb3d7a0aa4226eb05cfa49d6887a183c2949101cf17734a733cad191f8",
1035
+ "own": "62a0bdd3baae086c127b74580a5c0a8767293b59d97be7b63b3c4aec9e5d8c5c"
1036
+ },
1001
1037
  "cpp.cpp.extA": {
1002
1038
  "merkle": "bd1075a229ecb67a3a33c7afc54d163fc49215adb8d9046f3a7d269385824d40",
1003
1039
  "own": "b9acfc93bffd24c907b25038012088004cfef43e385c5dc6780d95b79a71513c"
@@ -1058,6 +1094,14 @@
1058
1094
  "merkle": "c861cd5eafa031157227aa8b52ef83165c5aff894674a10844729ae949c1516d",
1059
1095
  "own": "c7e60ed9d0dd77150ac3231329d45c068919f4fc83058b961d6a08bb28f9fdea"
1060
1096
  },
1097
+ "cpp.cpp.fcos": {
1098
+ "merkle": "b943a8a1655a188b37b8d251e9301813f58d13d1fb74c0586bea3c24c8df24fc",
1099
+ "own": "aa12870b99efa77b25abd86dc24f0146277488602877f73d644fccb5b65c781d"
1100
+ },
1101
+ "cpp.cpp.fcosV": {
1102
+ "merkle": "9aeeec2aa1a8079791f0fab097f91f38d572638eb99013bae8b0805370c3da3e",
1103
+ "own": "c24d9da8c33bb963f802c3a26d9f64389a39c0b98d57d5245d8930a12e2ea6b8"
1104
+ },
1061
1105
  "cpp.cpp.fdiv": {
1062
1106
  "merkle": "4083f0fc6762fec84c01748285cc1a08ccac69f90d804f56c591553e638bb5a2",
1063
1107
  "own": "81dfcbb4a34f713685933b96abdf6c225c70b022d508bc661cc69bbcdded9111"
@@ -1074,6 +1118,14 @@
1074
1118
  "merkle": "a6d6a672076d9fe77fbb05467b5aa408f6bb1c13ef721ae1dd4f3c99c6244c45",
1075
1119
  "own": "4828c5039b22b34f60e55410e748af682e9faade794fb1819848f5022f14231a"
1076
1120
  },
1121
+ "cpp.cpp.fexp": {
1122
+ "merkle": "e73aaeb07085a4bf4f8033047e14aeeb25f191bbd740f03c4460c3092ad1501f",
1123
+ "own": "73b5badc48a6d3c75ed23716037c80a8421d49c96515e39f02b603d4fde85c86"
1124
+ },
1125
+ "cpp.cpp.fexpV": {
1126
+ "merkle": "6ea399cfb4a13a0c769183c519783144dc83e25ef1da0b1a6266cbee5234bd85",
1127
+ "own": "610e5a05148e0d603b9ea7312f2ef80b565d5fce249d4fa939b5226fa597b200"
1128
+ },
1077
1129
  "cpp.cpp.ffloor": {
1078
1130
  "merkle": "b85402c6d06845a43cfc1cd60a2975866f56abf3e7e1496d6724b327ffc9a345",
1079
1131
  "own": "92f36d876a897577cdaf290beff40cdde3bf77c18e32a511ed9311e77f557c47"
@@ -1154,6 +1206,14 @@
1154
1206
  "merkle": "1ab04f5614251d90e376c2ef665e853b5d3c05c9cc6577f502829515d4b2688a",
1155
1207
  "own": "feb98e2e8cc4795104cf0cb3f531b99030129ca0f768a09c9b6242b19325a5aa"
1156
1208
  },
1209
+ "cpp.cpp.flog": {
1210
+ "merkle": "03b36ca855ee972dc9c9d8c3edd329f563215904556201938623d8e7cb90ac5d",
1211
+ "own": "0dfd22a41f323e4196314ccb1b0c528cf23483907a43138229ab47db97a9a922"
1212
+ },
1213
+ "cpp.cpp.flogV": {
1214
+ "merkle": "e80b2b94d1bf6528993a9e542ab6461aa7163a654e492d6d8b9ed1671498dc85",
1215
+ "own": "53cc9c5c4d65659e2718fdcf21dd8a34f3129673741338b4295508fcf5ff5add"
1216
+ },
1157
1217
  "cpp.cpp.floorDivN": {
1158
1218
  "merkle": "b7be85ab2c7fc80f1c722e8d59d515c8de9a835c61fe79841ee7cb4015f823f3",
1159
1219
  "own": "7c18f438e43c6e9cafd1c034b3816b3b39b7d302cefd6f1c59a1d9d2461c6922"
@@ -1218,6 +1278,10 @@
1218
1278
  "merkle": "be2ee44fd660b5f7d3318a6723d98803b45d092ffdd3a4130b06ca955422dd41",
1219
1279
  "own": "07b028432c7d4b48aee54660602b8066eb19b54236ad0034b9a4b691dd848dcb"
1220
1280
  },
1281
+ "cpp.cpp.fnegIf": {
1282
+ "merkle": "f03de8ccc107b7cb827332027bc30aa5215bbc7a86cdc5cab59fe14508eb1ac1",
1283
+ "own": "35210b7e2789f23a817859de3feed9c53c313c3727cabd65c7c5c24577c49380"
1284
+ },
1221
1285
  "cpp.cpp.fnegV": {
1222
1286
  "merkle": "6ebeee16b9b8f1a81f3e0a426b9247d0ed0e606b8f662afc20399cc8512bfe23",
1223
1287
  "own": "4da821d9713a98a466fead0504e3cb4c38c2422a52e04b783fc4d81dea54203b"
@@ -1302,6 +1366,14 @@
1302
1366
  "merkle": "3a809f7d41b178ec20b24ca84cc041fe6d785b0efa762928eafa40e4f30c2de3",
1303
1367
  "own": "3f02c3bc13d0241b055c19af82134ef7b6a8256dfd1f5f884cc451d6bab7b16a"
1304
1368
  },
1369
+ "cpp.cpp.fsin": {
1370
+ "merkle": "4b196d41c50720dcce1cccc96e67a0b4e9ac60714f28b3d3720af2c8bc63a639",
1371
+ "own": "734eda74cc0c7d6b6994dcb3f1b9c249afb46651d9c3264779ae585abfc6274d"
1372
+ },
1373
+ "cpp.cpp.fsinV": {
1374
+ "merkle": "8a89270449e2abe90d7e9565b4c96a3eb5e45763e20a6706573c25412f118e8b",
1375
+ "own": "0e2d9f0bf8ec9017108af86aa8f215251ef92e66554fb850fa70c841c3bac682"
1376
+ },
1305
1377
  "cpp.cpp.fsqrt": {
1306
1378
  "merkle": "bf1e8e670c388ecc3ef8b8f39bb576fcd43cf1072c99c334ed33d783a940eb13",
1307
1379
  "own": "1da3bc7cec3d340507069ee8f8ecf35031088c880539d30c662a0affe72b55ce"
@@ -1618,6 +1690,14 @@
1618
1690
  "merkle": "1d30ce448c83b5dfc619175335a3b78e911c816b0f389ceb847be2833a381d7d",
1619
1691
  "own": "5ec45e825fbb5e06e34ee429697ec982c64a34ad01017580872afd91ff1be840"
1620
1692
  },
1693
+ "cpp.cpp.ln2Fix": {
1694
+ "merkle": "c3c16deb8056db2273fcf5b520b0301fe05c5a3ebf08571069fc485bf06bc5f1",
1695
+ "own": "fe4e302e6a848b4d997fe1f6b95aeb8605a774dd56c0d01dae6205c34b93d1ac"
1696
+ },
1697
+ "cpp.cpp.ln2Sum": {
1698
+ "merkle": "d337dfbe1f91d3c188ea35220780eabfdde5bdae6960fcae1a47939f9ae691d0",
1699
+ "own": "0a48873899fa65a0ce410139e7e5374bfbfbdde84a3b302d42dbda591b90ac62"
1700
+ },
1621
1701
  "cpp.cpp.load": {
1622
1702
  "merkle": "084d2ae89a9bf2ed4913bdcd62eaa91ccbcdef6326e71914f334cc3fbe548fb4",
1623
1703
  "own": "f05894761eb06cd4991d06f474269492a3298e743b46e97ba71505e6211ecf7f"
@@ -1654,6 +1734,14 @@
1654
1734
  "merkle": "404b36a45d4960c7ced7a887da537a3fcd0235364c1b6e228fabbfa1b0949f76",
1655
1735
  "own": "2179ea143c415527a5bb090f5ba0ad0b601702beeb36386355d27d5ca871488c"
1656
1736
  },
1737
+ "cpp.cpp.logAt": {
1738
+ "merkle": "14145b433270ab853ff0eed5b0fb3607a6d3ae3d2d524da15f35edab3858454c",
1739
+ "own": "7b9b509931f6de15c18cf581309e26fa89659ea655b5a5f4d461226ae1dc822f"
1740
+ },
1741
+ "cpp.cpp.logTry": {
1742
+ "merkle": "859176003116ee7c892612a1badfdc485e93b7beca33aa887005a27c2f42b131",
1743
+ "own": "cd9c49f50ef996b29822afc8942ebd1627c43b8e25d753f4c5d4d40687f7ebcd"
1744
+ },
1657
1745
  "cpp.cpp.lookAt": {
1658
1746
  "merkle": "3d2a5632c4404af9937e13ce1710b023444b94ecc00a0f320bfa273d68928154",
1659
1747
  "own": "55975d6fd5ba5449bb98285428ea4332a5ac0e041eb5e6e407fbbc2f56bbd09d"
@@ -1842,6 +1930,10 @@
1842
1930
  "merkle": "f2a03460e762e4c3cf290358aa1ba13f95523334b08140befad49fe0affb2da1",
1843
1931
  "own": "0cb1f6198a33b2cd1f35113e831cfa461f664db85902746f67adbf7ac99a83fc"
1844
1932
  },
1933
+ "cpp.cpp.modNat4": {
1934
+ "merkle": "0a9b2b06b9d3e09ce24c0f587654f489714d9cda79118dc29d36e7297b7ed84e",
1935
+ "own": "a7d09eecd3ab05ae8a65b89270f5e177dafa303d6d1fe64bc7272e4dcbb496ec"
1936
+ },
1845
1937
  "cpp.cpp.mul": {
1846
1938
  "merkle": "aed5e5eb778c628376866474038dbd047492b4dd1dd9022e1f1fdf7936c8a1a2",
1847
1939
  "own": "59c50c23e150ca0a1f4c80b98130ebe99c1d50e11d4ba176a45fef1cdf62a7d5"
@@ -1982,6 +2074,22 @@
1982
2074
  "merkle": "f7ecc3ff134776ee0a4ead57933fb8f2a1f32beef5b5eb2130c3b0b04b0932b1",
1983
2075
  "own": "79558b79ce72b819696c9b6da1f65852c91e31f528096713d53f2944837d060c"
1984
2076
  },
2077
+ "cpp.cpp.piBits2048": {
2078
+ "merkle": "c41b6da610d7bb80cf5a45148d6d1f5cbc407c4cab3f2191f6293be27fc8044c",
2079
+ "own": "333b79e2fa0b504eeced7ee1ae5936d892e84b4085332df14a6d2bd996cfb626"
2080
+ },
2081
+ "cpp.cpp.piFix": {
2082
+ "merkle": "3c81a4de2a9c45c2a1675c48cd9a7f2f02c724cf2a3ed9c3f0e66e5171127f06",
2083
+ "own": "1f54011b103decc331928266f21ac928fabc795f6e00c6c242c6943ea0d16a71"
2084
+ },
2085
+ "cpp.cpp.piSeries": {
2086
+ "merkle": "b133ec552ebee042475018b87835e621f57491a6a09c0e94258264b5fc403d61",
2087
+ "own": "78aafd91ee28988c0405f6d21be03f8ddea497aa602772a24a0ce2d659ceb28f"
2088
+ },
2089
+ "cpp.cpp.pickOr": {
2090
+ "merkle": "f9fb8dc6471f8329c99b5165ff82d2655740988b8526de215baadc83c8522fa6",
2091
+ "own": "b745dbd03a4e2ee25d3eab29d4553923ab864bb8ac95aa520f5bc41fa829b05d"
2092
+ },
1985
2093
  "cpp.cpp.popBack": {
1986
2094
  "merkle": "42b4bf515f145fd5ff60d27d9f4405353f978bb4f157cd19dc52c12b08f11683",
1987
2095
  "own": "802bc2434bc259aad8dba9a8918149533771e56f3b0345f78462f3ab61a92ca1"
@@ -2830,6 +2938,22 @@
2830
2938
  "merkle": "80cec9044dea1f6b69e5dc564c277c2d46e62a6805a2573aea3eafff3a88f5c0",
2831
2939
  "own": "2c32d03fd55629b81195e6887edc073cb5c4c60e4d4374b0afc61d1381d0c499"
2832
2940
  },
2941
+ "cpp.cpp.trigAt": {
2942
+ "merkle": "ad2698d3847cc245f5844117ce75a0c5d578f42b58be4ad5bfe5456bd129b1fc",
2943
+ "own": "6dde71ce016b62becfcd7f50dca9fd33e3e0c5746d95cd1a492c583a8e89b79c"
2944
+ },
2945
+ "cpp.cpp.trigSeries": {
2946
+ "merkle": "78ae48018a9ab78b7666d7c1e6115fe708078bdc72f949fb86e06bd8cba31c93",
2947
+ "own": "f4eb13522e655437f1fe0a2ed4e1a93d548348c6cc5e3a42fb0b37dc4625adc3"
2948
+ },
2949
+ "cpp.cpp.trigStartP": {
2950
+ "merkle": "94130077263aaf2b2f0f050d41d960ab83d934ad276ee48918f86eeaff1761d8",
2951
+ "own": "afb91e37d9f040847555ef073403b435d0b2eabaa76cb8b815e82efb6c9a20f3"
2952
+ },
2953
+ "cpp.cpp.trigTry": {
2954
+ "merkle": "da0c3b619856688473432bddfb0a9d8610777923d4a4900851d29d954b0c58c6",
2955
+ "own": "38367134bc2262f34978a348f94c218639caab3d4f9c5e1f96ce22ab587b65bd"
2956
+ },
2833
2957
  "cpp.cpp.trimFrac": {
2834
2958
  "merkle": "d4174042a7e04a9489284fa7a32ae56504854b581a52e2d82d61651511447dea",
2835
2959
  "own": "496ec63c36adc5182bbf091daee9e5cfed8d8ba3011d9b2d217a765632642235"
@@ -2977,12 +3101,16 @@
2977
3101
  "cpp.cpp.zerosStr": {
2978
3102
  "merkle": "f30109968ddf45b916771a08f4926cafbeb71a6ead58104adffcc3f9f0f2c494",
2979
3103
  "own": "a1be374bf9e80e5492b28f1d1dd0eaa14fa74a19804dc3f2b2dc52d43a1775d3"
3104
+ },
3105
+ "cpp.cpp.zivPick": {
3106
+ "merkle": "e7db75e6bb150ceb6d6ee8bda7c085e214af2ac585a7a64bfa6fbb2d049075cd",
3107
+ "own": "83ed1f5829b233328a7971d86085bf1c6ef195fe55f2339e4ec89d9d0c42a900"
2980
3108
  }
2981
3109
  },
2982
3110
  "format": 1,
2983
3111
  "modules": {
2984
3112
  "cpp": {
2985
- "bytes": 2025772,
3113
+ "bytes": 2063592,
2986
3114
  "deps": [
2987
3115
  "cpp"
2988
3116
  ]
@@ -2990,7 +3118,7 @@
2990
3118
  },
2991
3119
  "requires": {
2992
3120
  "cella-lang": {
2993
- "checkerHash": "231d56957b3302bb",
3121
+ "checkerHash": "ed39e29725c07b4c",
2994
3122
  "modules": [
2995
3123
  "int"
2996
3124
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cella-lang/cpp",
3
- "version": "0.1.202610080149",
3
+ "version": "0.1.202610080247",
4
4
  "description": "A formally verified C++ subset for the Cella proof checker: integer types with C++ promotions and conversions (LP64 / AVR), control flow with small-step semantics, iostream, arrays, vector, sort, and standard containers — compiled module pack.",
5
5
  "files": [
6
6
  "cpp.cell",
@@ -20,14 +20,14 @@
20
20
  "license": "Apache-2.0",
21
21
  "author": "SungYu Chang",
22
22
  "peerDependencies": {
23
- "cella-lang": "0.1.202610080148"
23
+ "cella-lang": "0.1.202610080247"
24
24
  },
25
25
  "cella": {
26
- "checkerHash": "231d56957b3302bb",
26
+ "checkerHash": "ed39e29725c07b4c",
27
27
  "cbfVersion": 19,
28
28
  "modules": [
29
29
  "cpp"
30
30
  ],
31
- "packHash": "39db97794729fcd6"
31
+ "packHash": "1cc7d92a11115bbb"
32
32
  }
33
33
  }