@@ -29,6 +29,36 @@ static inline ExecuTorchValueTag deduceValueTag(NSNumber *number) {
2929 }
3030}
3131
32+ static inline NSString *valueTagDescription (ExecuTorchValueTag tag) {
33+ switch (tag) {
34+ case ExecuTorchValueTagNone:
35+ return @" none" ;
36+ case ExecuTorchValueTagTensor:
37+ return @" tensor" ;
38+ case ExecuTorchValueTagString:
39+ return @" string" ;
40+ case ExecuTorchValueTagDouble:
41+ return @" double" ;
42+ case ExecuTorchValueTagInteger:
43+ return @" integer" ;
44+ case ExecuTorchValueTagBoolean:
45+ return @" boolean" ;
46+ case ExecuTorchValueTagBooleanList:
47+ return @" boolean_list" ;
48+ case ExecuTorchValueTagDoubleList:
49+ return @" double_list" ;
50+ case ExecuTorchValueTagIntegerList:
51+ return @" integer_list" ;
52+ case ExecuTorchValueTagTensorList:
53+ return @" tensor_list" ;
54+ case ExecuTorchValueTagScalarList:
55+ return @" scalar_list" ;
56+ case ExecuTorchValueTagOptionalTensorList:
57+ return @" optional_tensor_list" ;
58+ }
59+ return @" undefined" ;
60+ }
61+
3262@interface ExecuTorchValue ()
3363
3464- (instancetype )initWithTag : (ExecuTorchValueTag)tag
@@ -195,4 +225,24 @@ - (BOOL)isEqual:(nullable id)other {
195225 return [self isEqualToValue: (ExecuTorchValue *)other];
196226}
197227
228+ - (NSString *)description {
229+ NSMutableString *string = [NSMutableString new ];
230+ [string appendString: @" Value {" ];
231+ [string appendFormat: @" \n tag: %@ " , valueTagDescription (_tag)];
232+ [string appendString: @" ," ];
233+ [string appendString: @" \n value: " ];
234+ if (_value) {
235+ NSString *valueDescription = [_value description ];
236+ [string appendString: [_value description ]];
237+ [string replaceOccurrencesOfString: @" \n "
238+ withString: @" \n "
239+ options: 0
240+ range: NSMakeRange (string.length - valueDescription.length, valueDescription.length)];
241+ } else {
242+ [string appendString: @" nil" ];
243+ }
244+ [string appendString: @" \n }" ];
245+ return string;
246+ }
247+
198248@end
0 commit comments