@@ -13,7 +13,53 @@ class C10_API SymbolicIntNode
13
13
public:
14
14
c10::SymInt toSymInt ();
15
15
virtual ~SymbolicIntNode (){};
16
- virtual std::ostream& operator <<(std::ostream& os) {
16
+ // these could be pure virtual when we implement LTC versions
17
+ virtual std::shared_ptr<SymbolicIntNode> add (
18
+ const std::shared_ptr<SymbolicIntNode>& other) {
19
+ TORCH_CHECK (false , " NYI" );
20
+ };
21
+ virtual std::shared_ptr<SymbolicIntNode> sub (
22
+ const std::shared_ptr<SymbolicIntNode>& other) {
23
+ TORCH_CHECK (false , " NYI" );
24
+ };
25
+ virtual std::shared_ptr<SymbolicIntNode> mul (
26
+ const std::shared_ptr<SymbolicIntNode>& other) {
27
+ TORCH_CHECK (false , " NYI" );
28
+ };
29
+ virtual std::shared_ptr<SymbolicIntNode> div (
30
+ const std::shared_ptr<SymbolicIntNode>& other) {
31
+ TORCH_CHECK (false , " NYI" );
32
+ };
33
+ virtual std::shared_ptr<SymbolicIntNode> mod (
34
+ const std::shared_ptr<SymbolicIntNode>& other) {
35
+ TORCH_CHECK (false , " NYI" );
36
+ };
37
+ virtual std::shared_ptr<SymbolicIntNode> eq (
38
+ const std::shared_ptr<SymbolicIntNode>& other) {
39
+ TORCH_CHECK (false , " NYI" );
40
+ };
41
+ virtual std::shared_ptr<SymbolicIntNode> gt (
42
+ const std::shared_ptr<SymbolicIntNode>& other) {
43
+ TORCH_CHECK (false , " NYI" );
44
+ };
45
+ virtual std::shared_ptr<SymbolicIntNode> lt (
46
+ const std::shared_ptr<SymbolicIntNode>& other) {
47
+ TORCH_CHECK (false , " NYI" );
48
+ };
49
+ virtual std::shared_ptr<SymbolicIntNode> wrap (int64_t num) {
50
+ TORCH_CHECK (false , " NYI" );
51
+ };
52
+ virtual bool bool_ () {
53
+ TORCH_CHECK (false , " NYI" );
54
+ };
55
+ virtual int64_t int_ () {
56
+ TORCH_CHECK (false , " NYI" );
57
+ }
58
+ virtual std::string str () {
59
+ TORCH_CHECK (false , " NYI" );
60
+ };
61
+ std::ostream& operator <<(std::ostream& os) {
62
+ os << str ();
17
63
return os;
18
64
};
19
65
};
0 commit comments