A modified JAR (with the clone() method) has been created and tested. The test was adapted from the Hiranabe's "VecmathTest.java" source code. The adaptation was mostly to transform the original code into a JUnit test. The test is available here:
It appears that Hiranabe's implementation (the free one) pass fully his own test, but Sun's implementation fails in many places. Unfortunatly, it appears that Hiranabe's and Sun's implementation produce completly different numbers for some operations. We have not yet investigated which one is right.
Note: JAR file size are
Free implementation (version 1.2): 64463 bytes
Sun implementation (version 1.3): 289881 bytes (4.5 time more)
I don't know why Sun's implementation is so much bigger. It doesn't seems to have more classes. Could it be possible that it uses more complex numerical algorithms?