@Override
    public boolean equals( Object o )
    {
        return o instanceof COSFloat &&
                Float.floatToIntBits(((COSFloat)o).value) == Float.floatToIntBits(value);
    }
@Test
    void testEquals()
    {
        new BaseTester()
        {
            @Override
            @SuppressWarnings({"java:S5863"}) // don't flag tests for reflexivity
            void runTest(float num)
            {

                COSFloat test1 = new COSFloat(num);
                COSFloat test2 = new COSFloat(num);
                COSFloat test3 = new COSFloat(num);
                // Reflexive (x == x)
                assertEquals(test1, test1);
                // Symmetric is preserved ( x==y then y==x)
                assertEquals(test2, test3);
                assertEquals(test3, test2);
                // Transitive (if x==y && y==z then x==z)
                assertEquals(test1, test2);
                assertEquals(test2, test3);
                assertEquals(test1, test3);

                float nf = Float.intBitsToFloat(Float.floatToIntBits(num) + 1);
                COSFloat test4 = new COSFloat(nf);
                assertNotEquals(test4, test1);
            }
        }.runTests();
    }