def exercise_minimal(): for method in ["integer", "float"]: for n_dim in xrange(1,10): for n_vertices in xrange(5): assert determine_degrees_of_freedom( n_dim=n_dim, n_vertices=n_vertices, edge_list=[], method=method) \ == n_dim * n_vertices assert determine_degrees_of_freedom( n_dim=n_dim, n_vertices=n_vertices, edge_list=[], method=method, also_return_repeats=True) \ == (n_dim * n_vertices, 0) assert determine_degrees_of_freedom( n_dim=n_dim, n_vertices=2, edge_list=[(0,1)], method=method) \ == 2 * n_dim - 1 dof, nr = determine_degrees_of_freedom( n_dim=n_dim, n_vertices=2, edge_list=[(0,1)], method=method, also_return_repeats=True) assert dof == 2 * n_dim - 1 assert isinstance(nr, int) update_repeat_log(nr=nr)
def ddof(n_dim, n_vertices, edge_list): n = 2 - int(option_float_only) results = [determine_degrees_of_freedom( n_dim=n_dim, n_vertices=n_vertices, edge_list=edge_list, method=method, also_return_repeats=True) for method in ["float", "integer"][:n]] nr = results[0][1] if (results[0][1] != 0): print "INFO: float repeats:", results[0][1] sys.stdout.flush() update_repeat_log(nr=nr) if (len(results) > 1): assert results[0][0] == results[1][0] return results[0][0]