Added bucket support to DebugGroup and DebugBilinearGroup
Added constructor to DebugBilinearGroup that takes in group size. Constructor for group bit size has been removed temporarily
Math version is now v3.0.0 due to API-breaking changes
Fixed counting tests to work with new bucket counting
The operation and pairing counting is now thread-safe (incrementing and retrieval is atomic). The more complex retrieval methods such as formatCounterData won't be made atomic.
Wrote new documentation for online doc page
Javadocs
Added more unit tests to test buckets and static counting
Updated JUnit5 version to 5.7.2 to fix a ClassDefNotFoundError
How does it work?
DebugGroup and DebugBilinearGroup now support using named buckets to distinguish between different sets of counter data. The bucket can be switched via the setBucket method (for DebugBilinearGroup it will switch the buckets for G1, G2, GT, and the pairing counter all together). The system also distinguishes between the buckets sets for G1, G2, and GT, as well as the DebugGroup not belonging to a bilinear group (if you use the latter directly).
Initially, a default bucket is selected which is not named. You can go back to the default bucket via setDefaultBucket and it has separate getter methods and result formatting methods. Having it not be named increases the number of methods but ensures you do not need to remember a name such as "default".
There are also methods that sum up all the values from all the buckets. These have the suffix "allBuckets".
To format the results, there are still the formatCounterData() methods, albeit with some more options.
These will currently print the results for all buckets plus the summed up results.
Done
DebugGroup
andDebugBilinearGroup
DebugBilinearGroup
that takes in group size. Constructor for group bit size has been removed temporarilyformatCounterData
won't be made atomic.How does it work?
DebugGroup
andDebugBilinearGroup
now support using named buckets to distinguish between different sets of counter data. The bucket can be switched via thesetBucket
method (forDebugBilinearGroup
it will switch the buckets for G1, G2, GT, and the pairing counter all together). The system also distinguishes between the buckets sets for G1, G2, and GT, as well as theDebugGroup
not belonging to a bilinear group (if you use the latter directly).Initially, a default bucket is selected which is not named. You can go back to the default bucket via
setDefaultBucket
and it has separate getter methods and result formatting methods. Having it not be named increases the number of methods but ensures you do not need to remember a name such as "default".There are also methods that sum up all the values from all the buckets. These have the suffix "allBuckets".
To format the results, there are still the
formatCounterData()
methods, albeit with some more options. These will currently print the results for all buckets plus the summed up results.