def check_Lab_f_inverse_2(self, f0, verbose): ''' Check that Lab_f() is the inverse of Lab_f_inverse() for the given f0. ''' t0 = colormodels.Lab_f_inverse(f0) f1 = colormodels.Lab_f(t0) # Check error. error = math.fabs(f1 - f0) tolerance = 1.0e-10 self.assertLessEqual(error, tolerance) msg = 'f0: %g t(f0): %g f(t(f0)): %g Error: %g' % (f0, t0, f1, error) if verbose: print(msg)
def check_Lab_f_inverse_1(self, t0, verbose): ''' Check that Lab_f_inverse() is the inverse of Lab_f() for the given t0. ''' f0 = colormodels.Lab_f(t0) t1 = colormodels.Lab_f_inverse(f0) # Check error. error = math.fabs(t1 - t0) tolerance = 1.0e-13 self.assertLessEqual(error, tolerance) msg = 't0: %g f(t0): %g t(f(t0)): %g Error: %g' % (t0, f0, t1, error) if verbose: print(msg)
def test_B(f0, tolerance=1.0e-10, verbose=1): '''Check that Lab_f() is the inverse of Lab_f_inverse() for the given f0.''' # we should cover both ranges in the tests if f0 > colormodels.LAB_F_A * colormodels.L_LUM_CUTOFF + colormodels.LAB_F_B: range_info = 'in normal range' else: range_info = 'in linear range' t0 = colormodels.Lab_f_inverse(f0) f1 = colormodels.Lab_f(t0) # check error error = math.fabs(f1 - f0) passed = (error <= tolerance) if passed: status = 'pass' else: status = 'FAILED' msg = 'test_Lab_f.test_B() : f0 = %g (%s), t(f0) = %g, f(t(f0)) = %g, error = %g, %s' % ( f0, range_info, t0, f1, error, status) if verbose >= 1: print(msg) if not passed: pass raise ValueError(msg) return passed
def test_A(t0, tolerance=1.0e-13, verbose=1): '''Check that Lab_f_inverse() is the inverse of Lab_f() for the given t0.''' # we should cover both ranges in the tests if (t0 > colormodels.L_LUM_CUTOFF): range_info = 'in normal range' else: range_info = 'in linear range' f0 = colormodels.Lab_f(t0) t1 = colormodels.Lab_f_inverse(f0) # check error error = math.fabs(t1 - t0) passed = (error <= tolerance) if passed: status = 'pass' else: status = 'FAILED' msg = 'test_Lab_f.test_A() : t0 = %g (%s), f(t0) = %g, t(f(t0)) = %g, error = %g, %s' % ( t0, range_info, f0, t1, error, status) if verbose >= 1: print(msg) if not passed: pass raise ValueError(msg) return passed