SYMBOL INDEX (364 symbols across 45 files) FILE: src/integration_tests/algorithmic_style_test.py function test_factorial (line 10) | def test_factorial() -> None: function test_collatz (line 46) | def test_collatz() -> None: FILE: src/integration_tests/function_expansion_test.py function test_atan2 (line 10) | def test_atan2() -> None: function test_atan2_nested (line 21) | def test_atan2_nested() -> None: function test_exp (line 32) | def test_exp() -> None: function test_exp_nested (line 40) | def test_exp_nested() -> None: function test_exp2 (line 48) | def test_exp2() -> None: function test_exp2_nested (line 56) | def test_exp2_nested() -> None: function test_expm1 (line 64) | def test_expm1() -> None: function test_expm1_nested (line 72) | def test_expm1_nested() -> None: function test_hypot_without_attribute (line 82) | def test_hypot_without_attribute() -> None: function test_hypot (line 92) | def test_hypot() -> None: function test_hypot_nested (line 100) | def test_hypot_nested() -> None: function test_log1p (line 111) | def test_log1p() -> None: function test_log1p_nested (line 119) | def test_log1p_nested() -> None: function test_pow_nested (line 127) | def test_pow_nested() -> None: function test_pow (line 138) | def test_pow() -> None: FILE: src/integration_tests/integration_utils.py function check_function (line 10) | def check_function( function check_algorithm (line 48) | def check_algorithm( FILE: src/integration_tests/regression_test.py function test_quadratic_solution (line 10) | def test_quadratic_solution() -> None: function test_sinc (line 18) | def test_sinc() -> None: function test_x_times_beta (line 35) | def test_x_times_beta() -> None: function test_sum_with_limit_1arg (line 53) | def test_sum_with_limit_1arg() -> None: function test_sum_with_limit_2args (line 64) | def test_sum_with_limit_2args() -> None: function test_sum_with_reducible_limit (line 75) | def test_sum_with_reducible_limit() -> None: function test_sum_with_irreducible_limit (line 86) | def test_sum_with_irreducible_limit() -> None: function test_prod_with_limit_1arg (line 97) | def test_prod_with_limit_1arg() -> None: function test_prod_with_limit_2args (line 108) | def test_prod_with_limit_2args() -> None: function test_prod_with_reducible_limits (line 119) | def test_prod_with_reducible_limits() -> None: function test_prod_with_irreducible_limit (line 130) | def test_prod_with_irreducible_limit() -> None: function test_nested_function (line 141) | def test_nested_function() -> None: function test_double_nested_function (line 148) | def test_double_nested_function() -> None: function test_reduce_assignments (line 158) | def test_reduce_assignments() -> None: function test_reduce_assignments_double (line 174) | def test_reduce_assignments_double() -> None: function test_reduce_assignments_with_if (line 197) | def test_reduce_assignments_with_if() -> None: function test_sub_bracket (line 220) | def test_sub_bracket() -> None: function test_docstring_allowed (line 233) | def test_docstring_allowed() -> None: function test_multiple_constants_allowed (line 242) | def test_multiple_constants_allowed() -> None: FILE: src/latexify/analyzers.py class RangeInfo (line 13) | class RangeInfo: function analyze_range (line 28) | def analyze_range(node: ast.Call) -> RangeInfo: function reduce_stop_parameter (line 68) | def reduce_stop_parameter(node: ast.expr) -> ast.expr: FILE: src/latexify/analyzers_test.py function test_analyze_range (line 98) | def test_analyze_range( function test_analyze_range_invalid (line 144) | def test_analyze_range_invalid(code: str) -> None: function test_reduce_stop_parameter (line 164) | def test_reduce_stop_parameter(before: str, after: str) -> None: FILE: src/latexify/ast_utils.py function parse_expr (line 10) | def parse_expr(code: str) -> ast.expr: function make_name (line 22) | def make_name(id: str) -> ast.Name: function make_attribute (line 34) | def make_attribute(value: ast.expr, attr: str): function make_constant (line 47) | def make_constant(value: Any) -> ast.expr: function is_constant (line 69) | def is_constant(node: ast.AST) -> bool: function is_str (line 81) | def is_str(node: ast.AST) -> bool: function extract_int_or_none (line 96) | def extract_int_or_none(node: ast.expr) -> int | None: function extract_int (line 115) | def extract_int(node: ast.expr) -> int: function extract_function_name_or_none (line 135) | def extract_function_name_or_none(node: ast.Call) -> str | None: function create_function_def (line 152) | def create_function_def( FILE: src/latexify/ast_utils_test.py function test_parse_expr (line 14) | def test_parse_expr() -> None: function test_make_name (line 25) | def test_make_name() -> None: function test_make_attribute (line 31) | def test_make_attribute() -> None: function test_make_constant (line 52) | def test_make_constant(value: Any, expected: ast.Constant) -> None: function test_make_constant_invalid (line 59) | def test_make_constant_invalid() -> None: function test_is_constant (line 72) | def test_is_constant(value: ast.AST, expected: bool) -> None: function test_is_str (line 85) | def test_is_str(value: ast.AST, expected: bool) -> None: function test_extract_int_or_none (line 89) | def test_extract_int_or_none() -> None: function test_extract_int_or_none_invalid (line 95) | def test_extract_int_or_none_invalid() -> None: function test_extract_int (line 106) | def test_extract_int() -> None: function test_extract_int_invalid (line 112) | def test_extract_int_invalid() -> None: function test_extract_function_name_or_none (line 165) | def test_extract_function_name_or_none(value: ast.Call, expected: str | ... function test_create_function_def (line 169) | def test_create_function_def() -> None: FILE: src/latexify/codegen/algorithmic_codegen.py class AlgorithmicCodegen (line 13) | class AlgorithmicCodegen(ast.NodeVisitor): method __init__ (line 25) | def __init__( method generic_visit (line 51) | def generic_visit(self, node: ast.AST) -> str: method visit_Assign (line 56) | def visit_Assign(self, node: ast.Assign) -> str: method visit_Expr (line 65) | def visit_Expr(self, node: ast.Expr) -> str: method visit_For (line 71) | def visit_For(self, node: ast.For) -> str: method visit_FunctionDef (line 90) | def visit_FunctionDef(self, node: ast.FunctionDef) -> str: method visit_If (line 115) | def visit_If(self, node: ast.If) -> str: method visit_Module (line 130) | def visit_Module(self, node: ast.Module) -> str: method visit_Return (line 134) | def visit_Return(self, node: ast.Return) -> str: method visit_While (line 144) | def visit_While(self, node: ast.While) -> str: method visit_Pass (line 160) | def visit_Pass(self, node: ast.Pass) -> str: method visit_Break (line 164) | def visit_Break(self, node: ast.Break) -> str: method visit_Continue (line 168) | def visit_Continue(self, node: ast.Continue) -> str: method _increment_level (line 173) | def _increment_level(self) -> Generator[None, None, None]: method _add_indent (line 179) | def _add_indent(self, line: str) -> str: class IPythonAlgorithmicCodegen (line 188) | class IPythonAlgorithmicCodegen(ast.NodeVisitor): method __init__ (line 201) | def __init__( method generic_visit (line 225) | def generic_visit(self, node: ast.AST) -> str: method visit_Assign (line 230) | def visit_Assign(self, node: ast.Assign) -> str: method visit_Expr (line 239) | def visit_Expr(self, node: ast.Expr) -> str: method visit_For (line 243) | def visit_For(self, node: ast.For) -> str: method visit_FunctionDef (line 263) | def visit_FunctionDef(self, node: ast.FunctionDef) -> str: method visit_If (line 286) | def visit_If(self, node: ast.If) -> str: method visit_Module (line 302) | def visit_Module(self, node: ast.Module) -> str: method visit_Return (line 306) | def visit_Return(self, node: ast.Return) -> str: method visit_While (line 315) | def visit_While(self, node: ast.While) -> str: method visit_Pass (line 331) | def visit_Pass(self, node: ast.Pass) -> str: method visit_Break (line 335) | def visit_Break(self, node: ast.Break) -> str: method visit_Continue (line 339) | def visit_Continue(self, node: ast.Continue) -> str: method _increment_level (line 344) | def _increment_level(self) -> Generator[None, None, None]: method _add_indent (line 350) | def _add_indent(self, line: str) -> str: FILE: src/latexify/codegen/algorithmic_codegen_test.py function test_generic_visit (line 14) | def test_generic_visit() -> None: function test_visit_assign (line 38) | def test_visit_assign(code: str, latex: str) -> None: function test_visit_for (line 57) | def test_visit_for(code: str, latex: str) -> None: function test_visit_functiondef (line 91) | def test_visit_functiondef(code: str, latex: str) -> None: function test_visit_if (line 123) | def test_visit_if(code: str, latex: str) -> None: function test_visit_return (line 145) | def test_visit_return(code: str, latex: str) -> None: function test_visit_while (line 164) | def test_visit_while(code: str, latex: str) -> None: function test_visit_while_with_else (line 173) | def test_visit_while_with_else() -> None: function test_visit_pass (line 192) | def test_visit_pass() -> None: function test_visit_break (line 201) | def test_visit_break() -> None: function test_visit_continue (line 210) | def test_visit_continue() -> None: function test_visit_assign_ipython (line 226) | def test_visit_assign_ipython(code: str, latex: str) -> None: function test_visit_for_ipython (line 246) | def test_visit_for_ipython(code: str, latex: str) -> None: function test_visit_functiondef_ipython (line 282) | def test_visit_functiondef_ipython(code: str, latex: str) -> None: function test_visit_if_ipython (line 311) | def test_visit_if_ipython(code: str, latex: str) -> None: function test_visit_return_ipython (line 330) | def test_visit_return_ipython(code: str, latex: str) -> None: function test_visit_while_ipython (line 349) | def test_visit_while_ipython(code: str, latex: str) -> None: function test_visit_while_with_else_ipython (line 355) | def test_visit_while_with_else_ipython() -> None: function test_visit_pass_ipython (line 374) | def test_visit_pass_ipython() -> None: function test_visit_break_ipython (line 382) | def test_visit_break_ipython() -> None: function test_visit_continue_ipython (line 390) | def test_visit_continue_ipython() -> None: FILE: src/latexify/codegen/codegen_utils.py function convert_constant (line 6) | def convert_constant(value: Any) -> str: FILE: src/latexify/codegen/codegen_utils_test.py function test_convert_constant (line 26) | def test_convert_constant(constant: Any, latex: str) -> None: function test_convert_constant_unsupported_constant (line 30) | def test_convert_constant_unsupported_constant() -> None: FILE: src/latexify/codegen/expression_codegen.py class ExpressionCodegen (line 12) | class ExpressionCodegen(ast.NodeVisitor): method __init__ (line 20) | def __init__( method generic_visit (line 49) | def generic_visit(self, node: ast.AST) -> str: method visit_Tuple (line 54) | def visit_Tuple(self, node: ast.Tuple) -> str: method visit_List (line 59) | def visit_List(self, node: ast.List) -> str: method visit_Set (line 64) | def visit_Set(self, node: ast.Set) -> str: method visit_ListComp (line 69) | def visit_ListComp(self, node: ast.ListComp) -> str: method visit_SetComp (line 80) | def visit_SetComp(self, node: ast.SetComp) -> str: method visit_comprehension (line 91) | def visit_comprehension(self, node: ast.comprehension) -> str: method _generate_sum_prod (line 103) | def _generate_sum_prod(self, node: ast.Call) -> str | None: method _generate_matrix (line 131) | def _generate_matrix(self, node: ast.Call) -> str | None: method _generate_zeros (line 174) | def _generate_zeros(self, node: ast.Call) -> str | None: method _generate_identity (line 207) | def _generate_identity(self, node: ast.Call) -> str | None: method _generate_transpose (line 226) | def _generate_transpose(self, node: ast.Call) -> str | None: method _generate_determinant (line 247) | def _generate_determinant(self, node: ast.Call) -> str | None: method _generate_matrix_rank (line 272) | def _generate_matrix_rank(self, node: ast.Call) -> str | None: method _generate_matrix_power (line 301) | def _generate_matrix_power(self, node: ast.Call) -> str | None: method _generate_inv (line 327) | def _generate_inv(self, node: ast.Call) -> str | None: method _generate_pinv (line 349) | def _generate_pinv(self, node: ast.Call) -> str | None: method visit_Call (line 371) | def visit_Call(self, node: ast.Call) -> str: method visit_Attribute (line 447) | def visit_Attribute(self, node: ast.Attribute) -> str: method visit_Name (line 453) | def visit_Name(self, node: ast.Name) -> str: method visit_Constant (line 458) | def visit_Constant(self, node: ast.Constant) -> str: method visit_Num (line 463) | def visit_Num(self, node: ast.Num) -> str: method visit_Str (line 468) | def visit_Str(self, node: ast.Str) -> str: method visit_Bytes (line 473) | def visit_Bytes(self, node: ast.Bytes) -> str: method visit_NameConstant (line 478) | def visit_NameConstant(self, node: ast.NameConstant) -> str: method visit_Ellipsis (line 483) | def visit_Ellipsis(self, node: ast.Ellipsis) -> str: method _wrap_operand (line 487) | def _wrap_operand( method _wrap_binop_operand (line 508) | def _wrap_binop_operand( method _should_remove_multiply_op (line 558) | def _should_remove_multiply_op( method visit_BinOp (line 631) | def visit_BinOp(self, node: ast.BinOp) -> str: method visit_UnaryOp (line 644) | def visit_UnaryOp(self, node: ast.UnaryOp) -> str: method visit_Compare (line 649) | def visit_Compare(self, node: ast.Compare) -> str: method visit_BoolOp (line 658) | def visit_BoolOp(self, node: ast.BoolOp) -> str: method visit_IfExp (line 665) | def visit_IfExp(self, node: ast.IfExp) -> str: method _get_sum_prod_range (line 680) | def _get_sum_prod_range(self, node: ast.comprehension) -> tuple[str, s... method _get_sum_prod_info (line 727) | def _get_sum_prod_info( method visit_Index (line 768) | def visit_Index(self, node: ast.Index) -> str: method _convert_nested_subscripts (line 772) | def _convert_nested_subscripts(self, node: ast.Subscript) -> tuple[str... method visit_Subscript (line 794) | def visit_Subscript(self, node: ast.Subscript) -> str: FILE: src/latexify/codegen/expression_codegen_test.py function test_generic_visit (line 13) | def test_generic_visit() -> None: function test_visit_tuple (line 33) | def test_visit_tuple(code: str, latex: str) -> None: function test_visit_list (line 48) | def test_visit_list(code: str, latex: str) -> None: function test_visit_set (line 64) | def test_visit_set(code: str, latex: str) -> None: function test_visit_listcomp (line 114) | def test_visit_listcomp(code: str, latex: str) -> None: function test_visit_setcomp (line 164) | def test_visit_setcomp(code: str, latex: str) -> None: function test_visit_call (line 215) | def test_visit_call(code: str, latex: str) -> None: function test_visit_call_with_pow (line 234) | def test_visit_call_with_pow(code: str, latex: str) -> None: function test_visit_call_sum_prod (line 350) | def test_visit_call_sum_prod(src_suffix: str, dest_suffix: str) -> None: function test_visit_call_sum_prod_multiple_comprehension (line 404) | def test_visit_call_sum_prod_multiple_comprehension(code: str, latex: st... function test_visit_call_sum_prod_with_if (line 429) | def test_visit_call_sum_prod_with_if(src_suffix: str, dest_suffix: str) ... function test_if_then_else (line 467) | def test_if_then_else(code: str, latex: str) -> None: function test_visit_binop (line 650) | def test_visit_binop(code: str, latex: str) -> None: function test_visit_unaryop (line 689) | def test_visit_unaryop(code: str, latex: str) -> None: function test_visit_compare (line 743) | def test_visit_compare(code: str, latex: str) -> None: function test_visit_boolop (line 789) | def test_visit_boolop(code: str, latex: str) -> None: function test_visit_constant (line 813) | def test_visit_constant(code: str, latex: str) -> None: function test_visit_subscript (line 829) | def test_visit_subscript(code: str, latex: str) -> None: function test_visit_binop_use_set_symbols (line 844) | def test_visit_binop_use_set_symbols(code: str, latex: str) -> None: function test_visit_compare_use_set_symbols (line 861) | def test_visit_compare_use_set_symbols(code: str, latex: str) -> None: function test_numpy_array (line 909) | def test_numpy_array(code: str, latex: str) -> None: function test_zeros (line 943) | def test_zeros(code: str, latex: str) -> None: function test_identity (line 964) | def test_identity(code: str, latex: str) -> None: function test_transpose (line 985) | def test_transpose(code: str, latex: str) -> None: function test_determinant (line 1016) | def test_determinant(code: str, latex: str) -> None: function test_matrix_rank (line 1059) | def test_matrix_rank(code: str, latex: str) -> None: function test_matrix_power (line 1094) | def test_matrix_power(code: str, latex: str) -> None: function test_inv (line 1120) | def test_inv(code: str, latex: str) -> None: function test_pinv (line 1146) | def test_pinv(code: str, latex: str) -> None: function test_remove_multiply (line 1235) | def test_remove_multiply(left: str, right: str, latex: str) -> None: FILE: src/latexify/codegen/expression_rules.py function get_precedence (line 61) | def get_precedence(node: ast.AST) -> int: class BinOperandRule (line 86) | class BinOperandRule: class BinOpRule (line 99) | class BinOpRule: class FunctionRule (line 200) | class FunctionRule: FILE: src/latexify/codegen/expression_rules_test.py function test_get_precedence (line 52) | def test_get_precedence(node: ast.AST, precedence: int) -> None: FILE: src/latexify/codegen/function_codegen.py class FunctionCodegen (line 12) | class FunctionCodegen(ast.NodeVisitor): method __init__ (line 22) | def __init__( method generic_visit (line 49) | def generic_visit(self, node: ast.AST) -> str: method visit_Module (line 54) | def visit_Module(self, node: ast.Module) -> str: method visit_FunctionDef (line 58) | def visit_FunctionDef(self, node: ast.FunctionDef) -> str: method visit_Assign (line 111) | def visit_Assign(self, node: ast.Assign) -> str: method visit_Return (line 117) | def visit_Return(self, node: ast.Return) -> str: method visit_If (line 125) | def visit_If(self, node: ast.If) -> str: method visit_Match (line 145) | def visit_Match(self, node: ast.Match) -> str: method visit_MatchValue (line 182) | def visit_MatchValue(self, node: ast.MatchValue) -> str: FILE: src/latexify/codegen/function_codegen_match_test.py function test_functiondef_match (line 15) | def test_functiondef_match() -> None: function test_matchvalue (line 39) | def test_matchvalue() -> None: function test_multiple_matchvalue (line 61) | def test_multiple_matchvalue() -> None: function test_single_matchvalue_no_wildcards (line 86) | def test_single_matchvalue_no_wildcards() -> None: function test_multiple_matchvalue_no_wildcards (line 105) | def test_multiple_matchvalue_no_wildcards() -> None: function test_matchas_nonempty (line 126) | def test_matchas_nonempty() -> None: function test_matchvalue_no_return (line 147) | def test_matchvalue_no_return() -> None: function test_matchvalue_mutliple_statements (line 168) | def test_matchvalue_mutliple_statements() -> None: FILE: src/latexify/codegen/function_codegen_test.py function test_generic_visit (line 14) | def test_generic_visit() -> None: function test_visit_functiondef_use_signature (line 25) | def test_visit_functiondef_use_signature() -> None: function test_visit_functiondef_ignore_docstring (line 49) | def test_visit_functiondef_ignore_docstring() -> None: function test_visit_functiondef_ignore_multiple_constants (line 65) | def test_visit_functiondef_ignore_multiple_constants() -> None: FILE: src/latexify/codegen/identifier_converter.py class IdentifierConverter (line 8) | class IdentifierConverter: method __init__ (line 22) | def __init__( method convert (line 43) | def convert(self, name: str) -> tuple[str, bool]: FILE: src/latexify/codegen/identifier_converter_test.py function test_identifier_converter (line 40) | def test_identifier_converter( function test_identifier_converter_failure (line 71) | def test_identifier_converter_failure( FILE: src/latexify/codegen/latex.py class Latex (line 11) | class Latex: method __init__ (line 16) | def __init__(self, raw: str) -> None: method __eq__ (line 24) | def __eq__(self, other: object) -> bool: method __str__ (line 36) | def __str__(self) -> str: method __add__ (line 44) | def __add__(self, other: object) -> Latex: method __radd__ (line 59) | def __radd__(self, other: object) -> Latex: method opt (line 75) | def opt(src: LatexLike) -> Latex: method arg (line 90) | def arg(src: LatexLike) -> Latex: method paren (line 105) | def paren(src: LatexLike) -> Latex: method curly (line 117) | def curly(src: LatexLike) -> Latex: method square (line 129) | def square(src: LatexLike) -> Latex: method command (line 141) | def command( method environment (line 166) | def environment( method join (line 198) | def join(separator: LatexLike, elements: Iterable[LatexLike]) -> Latex: FILE: src/latexify/codegen/latex_test.py function test_eq (line 9) | def test_eq() -> None: function test_str (line 15) | def test_str() -> None: function test_add (line 19) | def test_add() -> None: function test_opt (line 25) | def test_opt() -> None: function test_arg (line 30) | def test_arg() -> None: function test_paren (line 35) | def test_paren() -> None: function test_curly (line 42) | def test_curly() -> None: function test_square (line 49) | def test_square() -> None: function test_command (line 56) | def test_command() -> None: function test_environment (line 69) | def test_environment() -> None: function test_join (line 99) | def test_join() -> None: FILE: src/latexify/config.py class Config (line 10) | class Config: method merge (line 40) | def merge(self, *, config: Config | None = None, **kwargs) -> Config: method defaults (line 65) | def defaults() -> Config: FILE: src/latexify/exceptions.py class LatexifyError (line 4) | class LatexifyError(Exception): class LatexifyNotSupportedError (line 18) | class LatexifyNotSupportedError(LatexifyError): class LatexifySyntaxError (line 28) | class LatexifySyntaxError(LatexifyError): FILE: src/latexify/frontend.py function algorithmic (line 12) | def algorithmic( function algorithmic (line 18) | def algorithmic( function algorithmic (line 23) | def algorithmic( function function (line 54) | def function( function function (line 60) | def function( function function (line 65) | def function( function expression (line 96) | def expression( function expression (line 102) | def expression( function expression (line 107) | def expression( FILE: src/latexify/frontend_test.py function test_function (line 8) | def test_function() -> None: function test_expression (line 40) | def test_expression() -> None: FILE: src/latexify/generate_latex.py class Style (line 14) | class Style(enum.Enum): function get_latex (line 22) | def get_latex( FILE: src/latexify/generate_latex_test.py function test_get_latex_identifiers (line 8) | def test_get_latex_identifiers() -> None: function test_get_latex_prefixes (line 21) | def test_get_latex_prefixes() -> None: function test_get_latex_reduce_assignments (line 44) | def test_get_latex_reduce_assignments() -> None: function test_get_latex_reduce_assignments_with_docstring (line 57) | def test_get_latex_reduce_assignments_with_docstring() -> None: function test_get_latex_reduce_assignments_with_aug_assign (line 71) | def test_get_latex_reduce_assignments_with_aug_assign() -> None: function test_get_latex_use_math_symbols (line 85) | def test_get_latex_use_math_symbols() -> None: function test_get_latex_use_signature (line 97) | def test_get_latex_use_signature() -> None: function test_get_latex_use_set_symbols (line 109) | def test_get_latex_use_set_symbols() -> None: FILE: src/latexify/ipython_wrappers.py class LatexifiedRepr (line 11) | class LatexifiedRepr(metaclass=abc.ABCMeta): method __init__ (line 16) | def __init__(self, fn: Callable[..., Any], **kwargs) -> None: method __doc__ (line 20) | def __doc__(self) -> str | None: method __doc__ (line 24) | def __doc__(self, val: str | None) -> None: method __name__ (line 28) | def __name__(self) -> str: method __name__ (line 32) | def __name__(self, val: str) -> None: method __call__ (line 37) | def __call__(self, *args) -> Any: method __str__ (line 41) | def __str__(self) -> str: ... method _repr_html_ (line 44) | def _repr_html_(self) -> str | tuple[str, dict[str, Any]] | None: method _repr_latex_ (line 49) | def _repr_latex_(self) -> str | tuple[str, dict[str, Any]] | None: class LatexifiedAlgorithm (line 54) | class LatexifiedAlgorithm(LatexifiedRepr): method __init__ (line 62) | def __init__(self, fn: Callable[..., Any], **kwargs) -> None: method __str__ (line 83) | def __str__(self) -> str: method _repr_html_ (line 86) | def _repr_html_(self) -> str | tuple[str, dict[str, Any]] | None: method _repr_latex_ (line 94) | def _repr_latex_(self) -> str | tuple[str, dict[str, Any]] | None: class LatexifiedFunction (line 103) | class LatexifiedFunction(LatexifiedRepr): method __init__ (line 109) | def __init__(self, fn: Callable[..., Any], **kwargs) -> None: method __str__ (line 121) | def __str__(self) -> str: method _repr_html_ (line 124) | def _repr_html_(self) -> str | tuple[str, dict[str, Any]] | None: method _repr_latex_ (line 132) | def _repr_latex_(self) -> str | tuple[str, dict[str, Any]] | None: FILE: src/latexify/parser.py function parse_function (line 16) | def parse_function(fn: Callable[..., Any]) -> ast.Module: FILE: src/latexify/parser_test.py function test_parse_function_with_posonlyargs (line 12) | def test_parse_function_with_posonlyargs() -> None: function test_parse_function_with_lambda (line 47) | def test_parse_function_with_lambda() -> None: FILE: src/latexify/test_utils.py function require_at_least (line 12) | def require_at_least( function require_at_most (line 36) | def require_at_most( function ast_equal (line 60) | def ast_equal(observed: ast.AST, expected: ast.AST) -> bool: function assert_ast_equal (line 106) | def assert_ast_equal(observed: ast.AST, expected: ast.AST) -> None: FILE: src/latexify/transformers/assignment_reducer.py class AssignmentReducer (line 11) | class AssignmentReducer(ast.NodeTransformer): method visit_FunctionDef (line 35) | def visit_FunctionDef(self, node: ast.FunctionDef) -> Any: method visit_Name (line 79) | def visit_Name(self, node: ast.Name) -> Any: FILE: src/latexify/transformers/assignment_reducer_test.py function _make_ast (line 11) | def _make_ast(body: list[ast.stmt]) -> ast.Module: function test_unchanged (line 40) | def test_unchanged() -> None: function test_constant (line 53) | def test_constant() -> None: function test_nested (line 67) | def test_nested() -> None: function test_nested2 (line 87) | def test_nested2() -> None: function test_overwrite (line 112) | def test_overwrite() -> None: FILE: src/latexify/transformers/aug_assign_replacer.py class AugAssignReplacer (line 8) | class AugAssignReplacer(ast.NodeTransformer): method visit_AugAssign (line 15) | def visit_AugAssign(self, node: ast.AugAssign) -> ast.Assign: FILE: src/latexify/transformers/aug_assign_replacer_test.py function test_replace (line 9) | def test_replace() -> None: FILE: src/latexify/transformers/docstring_remover.py class DocstringRemover (line 11) | class DocstringRemover(ast.NodeTransformer): method visit_Expr (line 17) | def visit_Expr(self, node: ast.Expr) -> Union[ast.Expr, None]: FILE: src/latexify/transformers/docstring_remover_test.py function test_remove_docstrings (line 9) | def test_remove_docstrings() -> None: FILE: src/latexify/transformers/function_expander.py class FunctionExpander (line 11) | class FunctionExpander(ast.NodeTransformer): method __init__ (line 26) | def __init__(self, functions: set[str]) -> None: method visit_Call (line 29) | def visit_Call(self, node: ast.Call) -> ast.AST: function _atan2_expander (line 52) | def _atan2_expander(function_expander: FunctionExpander, node: ast.Call)... function _exp_expander (line 67) | def _exp_expander(function_expander: FunctionExpander, node: ast.Call) -... function _exp2_expander (line 76) | def _exp2_expander(function_expander: FunctionExpander, node: ast.Call) ... function _expm1_expander (line 85) | def _expm1_expander(function_expander: FunctionExpander, node: ast.Call)... function _hypot_expander (line 100) | def _hypot_expander(function_expander: FunctionExpander, node: ast.Call)... function _log1p_expander (line 123) | def _log1p_expander(function_expander: FunctionExpander, node: ast.Call)... function _pow_expander (line 138) | def _pow_expander(function_expander: FunctionExpander, node: ast.Call) -... function _check_num_args (line 147) | def _check_num_args(node: ast.Call, nargs: int) -> None: FILE: src/latexify/transformers/function_expander_test.py function test_preserve_keywords (line 11) | def test_preserve_keywords() -> None: function test_exp (line 26) | def test_exp() -> None: function test_exp_unchanged (line 41) | def test_exp_unchanged() -> None: function test_exp_with_attribute (line 56) | def test_exp_with_attribute() -> None: function test_exp_unchanged_with_attribute (line 71) | def test_exp_unchanged_with_attribute() -> None: function test_exp_nested1 (line 86) | def test_exp_nested1() -> None: function test_exp_nested2 (line 111) | def test_exp_nested2() -> None: function test_atan2 (line 138) | def test_atan2() -> None: function test_exp2 (line 159) | def test_exp2() -> None: function test_expm1 (line 174) | def test_expm1() -> None: function test_hypot (line 193) | def test_hypot() -> None: function test_hypot_no_args (line 222) | def test_hypot_no_args() -> None: function test_log1p (line 229) | def test_log1p() -> None: function test_pow (line 250) | def test_pow() -> None: FILE: src/latexify/transformers/identifier_replacer.py class IdentifierReplacer (line 12) | class IdentifierReplacer(ast.NodeTransformer): method __init__ (line 28) | def __init__(self, mapping: dict[str, str]): method _replace_args (line 45) | def _replace_args(self, args: list[ast.arg]) -> list[ast.arg]: method visit_FunctionDef (line 49) | def visit_FunctionDef(self, node: ast.FunctionDef) -> ast.FunctionDef: method visit_Name (line 72) | def visit_Name(self, node: ast.Name) -> ast.Name: FILE: src/latexify/transformers/identifier_replacer_test.py function test_invalid_mapping (line 13) | def test_invalid_mapping() -> None: function test_name_replaced (line 22) | def test_name_replaced() -> None: function test_name_not_replaced (line 29) | def test_name_not_replaced() -> None: function test_functiondef_with_posonlyargs (line 38) | def test_functiondef_with_posonlyargs() -> None: function test_expr (line 86) | def test_expr() -> None: FILE: src/latexify/transformers/prefix_trimmer.py class PrefixTrimmer (line 13) | class PrefixTrimmer(ast.NodeTransformer): method __init__ (line 32) | def __init__(self, prefixes: set[str]) -> None: method _get_prefix (line 47) | def _get_prefix(self, node: ast.expr) -> tuple[str, ...] | None: method _make_attribute (line 65) | def _make_attribute(self, prefix: tuple[str, ...], name: str) -> ast.e... method visit_Attribute (line 81) | def visit_Attribute(self, node: ast.Attribute) -> ast.expr: FILE: src/latexify/transformers/prefix_trimmer_test.py function test_invalid_prefix (line 21) | def test_invalid_prefix(prefix: str) -> None: function test_name (line 37) | def test_name(prefixes: set[str], expected: ast.expr) -> None: function test_attr_1 (line 56) | def test_attr_1(prefixes: set[str], expected: ast.expr) -> None: function test_attr_2 (line 77) | def test_attr_2(prefixes: set[str], expected: ast.expr) -> None: