|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef THIRD_PARTY_LYRA_CODEC_SPARSE_MATMUL_LAYERS_STATUS_MACROS_H_ |
|
#define THIRD_PARTY_LYRA_CODEC_SPARSE_MATMUL_LAYERS_STATUS_MACROS_H_ |
|
|
|
#include "absl/status/status.h" |
|
#include "absl/status/statusor.h" |
|
|
|
#define SPARSE_MATMUL_RETURN_IF_ERROR(expr) \ |
|
do { \ |
|
const absl::Status _status = (expr); \ |
|
if (!_status.ok()) return _status; \ |
|
} while (0) |
|
template <typename T> |
|
absl::Status DoAssignOrReturn(T& lhs, absl::StatusOr<T> result) { |
|
if (result.ok()) { |
|
lhs = result.value(); |
|
} |
|
return result.status(); |
|
} |
|
|
|
#endif |
|
|