def exercise_phase_transfer(): sg = sgtbx.space_group_info("P 21 21 21").group() i = flex.miller_index(((1,2,3), (3,0,3))) a = flex.double((-3.6,4.6)) p = flex.complex_double((1+2j, 0)) assert approx_equal(tuple(miller.phase_transfer(sg, i, a, p, 1.e-10)), ((-1.6099689-3.2199379j), 0j)) a = flex.complex_double((3.6,4.6)) try: miller.phase_transfer(sg, i, a, p) except Exception as e: if (str(e.__class__).find("Boost.Python.ArgumentError") < 0): raise RuntimeError("Unexpected exception: %s" % str(e)) else: raise Exception_expected a = flex.double((-3.6,4.6)) p = flex.double((10,20)) t = miller.phase_transfer(sg, i, a, p, True) assert approx_equal(tuple(flex.abs(t)), flex.abs(a)) assert approx_equal(tuple(flex.arg(t, True)), (-170,90)) p = p * (math.pi/180) t = miller.phase_transfer(sg, i, a, p, False) assert approx_equal(tuple(flex.abs(t)), flex.abs(a)) assert approx_equal(tuple(flex.arg(t, True)), (-170,90))
def exercise_phase_transfer(): sg = sgtbx.space_group_info("P 21 21 21").group() i = flex.miller_index(((1,2,3), (3,0,3))) a = flex.double((-3.6,4.6)) p = flex.complex_double((1+2j, 0)) assert approx_equal(tuple(miller.phase_transfer(sg, i, a, p, 1.e-10)), ((-1.6099689-3.2199379j), 0j)) a = flex.complex_double((3.6,4.6)) try: miller.phase_transfer(sg, i, a, p) except Exception, e: if (str(e.__class__).find("Boost.Python.ArgumentError") < 0): raise RuntimeError("Unexpected exception: %s" % str(e))
a = flex.double((-3.6,4.6)) p = flex.complex_double((1+2j, 0)) assert approx_equal(tuple(miller.phase_transfer(sg, i, a, p, 1.e-10)), ((-1.6099689-3.2199379j), 0j)) a = flex.complex_double((3.6,4.6)) try: miller.phase_transfer(sg, i, a, p) except Exception, e: if (str(e.__class__).find("Boost.Python.ArgumentError") < 0): raise RuntimeError("Unexpected exception: %s" % str(e)) else: raise Exception_expected a = flex.double((-3.6,4.6)) p = flex.double((10,20)) t = miller.phase_transfer(sg, i, a, p, True) assert approx_equal(tuple(flex.abs(t)), flex.abs(a)) assert approx_equal(tuple(flex.arg(t, True)), (-170,90)) p = p * (math.pi/180) t = miller.phase_transfer(sg, i, a, p, False) assert approx_equal(tuple(flex.abs(t)), flex.abs(a)) assert approx_equal(tuple(flex.arg(t, True)), (-170,90)) def exercise_f_calc_map(): i = flex.miller_index(( (1,1,0), (-1,-1,0), (1,2,3), (3,2,1) )) f = flex.complex_double(( 1+1j, 2+2j, 3+3j, 4+4j )) f_map = miller.f_calc_map(i, f, anomalous_flag=True) assert f_map[(1,1,0)] == 1+1j assert f_map[(-1,-1,0)] == 2+2j assert f_map[(1,2,3)] == 3+3j assert f_map[(3,2,1)] == 4+4j
a = flex.double((-3.6, 4.6)) p = flex.complex_double((1 + 2j, 0)) assert approx_equal(tuple(miller.phase_transfer(sg, i, a, p, 1.e-10)), ((-1.6099689 - 3.2199379j), 0j)) a = flex.complex_double((3.6, 4.6)) try: miller.phase_transfer(sg, i, a, p) except Exception, e: if (str(e.__class__).find("Boost.Python.ArgumentError") < 0): raise RuntimeError("Unexpected exception: %s" % str(e)) else: raise Exception_expected a = flex.double((-3.6, 4.6)) p = flex.double((10, 20)) t = miller.phase_transfer(sg, i, a, p, True) assert approx_equal(tuple(flex.abs(t)), flex.abs(a)) assert approx_equal(tuple(flex.arg(t, True)), (-170, 90)) p = p * (math.pi / 180) t = miller.phase_transfer(sg, i, a, p, False) assert approx_equal(tuple(flex.abs(t)), flex.abs(a)) assert approx_equal(tuple(flex.arg(t, True)), (-170, 90)) def exercise_f_calc_map(): i = flex.miller_index(((1, 1, 0), (-1, -1, 0), (1, 2, 3), (3, 2, 1))) f = flex.complex_double((1 + 1j, 2 + 2j, 3 + 3j, 4 + 4j)) f_map = miller.f_calc_map(i, f, anomalous_flag=True) assert f_map[(1, 1, 0)] == 1 + 1j assert f_map[(-1, -1, 0)] == 2 + 2j assert f_map[(1, 2, 3)] == 3 + 3j