Source code for ibeis.algo.detect.orientation.tester

import random
import sys


[docs]def loss(x, y): return min(abs(x - y), 1 - abs(x - y))
for i in range(10 ** 6): x = random.uniform(0.0, 1.0) y = random.uniform(0.0, 1.0) l = loss(x, y) try: if x < y: inner_dist = y - x outer_dist = 1.0 - y + x if inner_dist < outer_dist: assert l == inner_dist else: assert l == outer_dist elif y < x: inner_dist = x - y outer_dist = 1.0 - x + y if inner_dist < outer_dist: assert l == inner_dist else: assert l == outer_dist else: inner_dist = x - y outer_dist = 1.0 - x + y assert l == inner_dist assert inner_dist == 0.0 and outer_dist == 1.0 except AssertionError: print(x, y, l, inner_dist, outer_dist) t, v, tb = sys.exc_info() raise t, v, tb