コード例 #1
0
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)
コード例 #2
0
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]