| 51 | } |
| 52 | |
| 53 | TypedValueRef<ShapeValue> ValueRef::shape() const { |
| 54 | return imperative::apply(GetAttr(GetAttr::Shape), *this)[0].cast_ref<ShapeValue>(); |
| 55 | } |
| 56 | |
| 57 | TypedValueRef<DTypeValue> ValueRef::dtype() const { |
| 58 | return imperative::apply(GetAttr(GetAttr::DType), *this)[0].cast_ref<DTypeValue>(); |