示例#1
0
    def test_spow_enable(self):
        """
        Tests :func:`colour.algebra.common.spow_enable` definition.
        """

        with spow_enable(True):
            self.assertTrue(is_spow_enabled())

        with spow_enable(False):
            self.assertFalse(is_spow_enabled())

        @spow_enable(True)
        def fn_a():
            """
            :func:`spow_enable` unit tests :func:`fn_a` definition.
            """

            self.assertTrue(is_spow_enabled())

        fn_a()

        @spow_enable(False)
        def fn_b():
            """
            :func:`spow_enable` unit tests :func:`fn_b` definition.
            """

            self.assertFalse(is_spow_enabled())

        fn_b()
示例#2
0
    def test_is_spow_enabled(self):
        """Test :func:`colour.algebra.common.is_spow_enabled` definition."""

        with spow_enable(True):
            self.assertTrue(is_spow_enabled())

        with spow_enable(False):
            self.assertFalse(is_spow_enabled())
示例#3
0
    def test_spow(self):
        """Test :func:`colour.algebra.common.spow` definition."""

        self.assertEqual(spow(2, 2), 4.0)

        self.assertEqual(spow(-2, 2), -4.0)

        np.testing.assert_almost_equal(
            spow([2, -2, -2, 0], [2, 2, 0.15, 0]),
            np.array([4.00000000, -4.00000000, -1.10956947, 0.00000000]),
            decimal=7,
        )

        with spow_enable(True):
            np.testing.assert_almost_equal(
                spow(-2, 0.15), -1.10956947, decimal=7
            )

        with spow_enable(False):
            np.testing.assert_equal(spow(-2, 0.15), np.nan)