def test_format_parameter(): test_cases = [ (1, '1'), (1.0, '1.0'), (1j, 'i'), (0 + 1j, 'i'), (-1j, '-i'), ] for test_case in test_cases: assert format_parameter(test_case[0]) == test_case[1]
def test_pretty_print_pi(): test_cases = [ (0., '0'), (pi, 'pi'), (-pi, '-pi'), (2 * pi / 3., '2*pi/3'), (pi / 9, '0.3490658503988659'), (pi / 8, 'pi/8'), (-90 * pi / 2, '-45*pi'), ] for test_case in test_cases: assert format_parameter(test_case[0]) == test_case[1]
def format_matrix_element(element): """ Formats a parameterized matrix element. :param element: {int, float, complex, str} The parameterized element to format. """ if isinstance(element, integer_types) or isinstance(element, (float, complex, np.int_)): return format_parameter(element) elif isinstance(element, string_types): return element elif isinstance(element, Expression): return str(element) else: raise TypeError("Invalid matrix element: %r" % element)
def _format_params(params): return "(" + ",".join(format_parameter(param) for param in params) + ")"