Although we have the new serialization functions for field and group elements, which allow encodings to be selected by code (rather than by #defines from the build config), many classes still have the old stream operators implemented to write out as binary, depending on the build config, which makes printf-debugging very awkward indeed. Classes also include old write_compressed methods and friends, which should no longer be required.
We should be able to remove all of these and keep only operator<< for writing in a human readable form. This would make it much easier to quickly print out field and group element values.
(We should check libsnark and others to make sure they are not using these operators.)
Although we have the new serialization functions for field and group elements, which allow encodings to be selected by code (rather than by #defines from the build config), many classes still have the old stream operators implemented to write out as binary, depending on the build config, which makes printf-debugging very awkward indeed. Classes also include old
write_compressed
methods and friends, which should no longer be required.We should be able to remove all of these and keep only
operator<<
for writing in a human readable form. This would make it much easier to quickly print out field and group element values.(We should check libsnark and others to make sure they are not using these operators.)