@@ -13,32 +13,27 @@ const _endianByteNum = (() => {
1313 return ( buf8 [ 0 ] === 0xff ) ? [ 2 , 3 , 4 , 5 , 6 , 7 ] : [ 0 , 1 , 2 , 3 , 6 , 7 ]
1414} ) ( )
1515
16- const bits = ( total , risk ) => {
17- if ( total == 0 ) { return 0 }
16+ const _totalOf = ( numStrings , log2Risk ) => {
17+ if ( numStrings == 0 ) { return 0 }
1818
19- let N = 0
20- if ( total < 10001 ) {
21- N = _log2 ( total ) + _log2 ( total - 1 ) + ( _log2_10 * _log10 ( risk ) ) - 1
19+ let N
20+ if ( numStrings < 10001 ) {
21+ N = _log2 ( numStrings ) + _log2 ( numStrings - 1 )
2222 }
2323 else {
24- const n = 2 * _log10 ( total ) + _log10 ( risk )
25- N = n * _log2_10 - 1
24+ N = 2 * _log2 ( numStrings )
2625 }
27- return N
26+ return N + log2Risk - 1
2827}
2928
30- const bitsWithRiskPower = ( total , rPower ) => {
29+ const bits = ( total , risk ) => {
3130 if ( total == 0 ) { return 0 }
31+ return _totalOf ( total , _log2 ( risk ) )
32+ }
3233
33- let N = 0
34- if ( total < 10001 ) {
35- N = _log2 ( total ) + _log2 ( total - 1 ) + ( _log2_10 * rPower ) - 1
36- }
37- else {
38- const n = 2 * _log10 ( total ) + rPower
39- N = n * _log2_10 - 1
40- }
41- return N
34+ const bitsWithRiskPower = ( total , rPower ) => {
35+ let log2Risk = _log2_10 * rPower
36+ return _totalOf ( total , log2Risk )
4237}
4338
4439const bitsWithPowers = ( tPower , rPower ) => {
@@ -47,10 +42,8 @@ const bitsWithPowers = (tPower, rPower) => {
4742 return bitsWithRiskPower ( Math . pow ( 10 , tPower ) , rPower )
4843 }
4944 else {
50- const n = 2 * tPower + rPower
51- N = n * _log2_10 - 1
45+ return ( 2 * tPower + rPower ) * _log2_10 - 1
5246 }
53- return N
5447}
5548
5649const string = ( entropyBits , charSet ) => {
0 commit comments