| 17573 | throw new python.Error(`Simple expression '${tree.__class__.__name__}' not implemented.`); |
| 17574 | } |
| 17575 | getNodeKind(kind /*, ninputs */) { |
| 17576 | if (kind instanceof ast.Add) { |
| 17577 | return 'aten::add'; |
| 17578 | } else if (kind instanceof ast.Sub) { |
| 17579 | return 'aten::sub'; |
| 17580 | } else if (kind instanceof ast.Mult) { |
| 17581 | return 'aten::mul'; |
| 17582 | } |
| 17583 | /* |
| 17584 | case TK_UNARY_MINUS: return 'aten::neg'; |
| 17585 | case TK_POW: return 'aten::pow'; |
| 17586 | case '@': return 'aten::matmul'; |
| 17587 | case TK_STARRED: return 'prim::Starred'; |
| 17588 | case '/': return 'aten::div'; |
| 17589 | case '%': return 'aten::remainder'; |
| 17590 | case TK_NE: return 'aten::ne'; |
| 17591 | case TK_EQ: return 'aten::eq'; |
| 17592 | case '<': return 'aten::lt'; |
| 17593 | case '>': return 'aten::gt'; |
| 17594 | case TK_LE: return 'aten::le'; |
| 17595 | case TK_GE: return 'aten::ge'; |
| 17596 | case TK_AND: return 'aten::__and__'; |
| 17597 | case TK_OR: return 'aten::__or__'; |
| 17598 | case TK_IS: return 'aten::__is__'; |
| 17599 | case TK_ISNOT: return 'aten::__isnot__'; |
| 17600 | case TK_NOT: return 'aten::__not__'; |
| 17601 | case TK_FLOOR_DIV: return 'aten::floordiv'; |
| 17602 | case TK_LSHIFT: return 'aten::__lshift__'; |
| 17603 | case TK_RSHIFT: return 'aten::__rshift__'; |
| 17604 | case '&': return 'aten::__and__'; |
| 17605 | case '|': return 'aten::__or__'; |
| 17606 | case '^': return 'aten::__xor__'; |
| 17607 | case TK_IN: return 'aten::__contains__'; |
| 17608 | */ |
| 17609 | throw new python.Error(`Unknown kind '${kind.__class__.__name__}'.`); |
| 17610 | } |
| 17611 | getOperatorOverload(kind /*, ninputs */) { |
| 17612 | if (kind instanceof ast.Add) { |
| 17613 | return '__add__'; |