| 421 | } |
| 422 | |
| 423 | Status InferenceContext::WithValue(DimensionHandle dim, int64 value, |
| 424 | DimensionHandle* out) { |
| 425 | const int64 existing = Value(dim); |
| 426 | if (existing == value) { |
| 427 | *out = dim; |
| 428 | return Status::OK(); |
| 429 | } |
| 430 | if (existing == kUnknownDim) { |
| 431 | DimensionHandle d = MakeDim(value); |
| 432 | return Merge(dim, d, out); |
| 433 | } |
| 434 | *out = nullptr; |
| 435 | return errors::InvalidArgument("Dimension must be ", value, " but is ", |
| 436 | existing); |
| 437 | } |
| 438 | |
| 439 | void InferenceContext::Relax(DimensionHandle d_old, DimensionHandle d_new, |
| 440 | DimensionHandle* out) { |