| 397 | } |
| 398 | |
| 399 | core::TensorValue graph_sub(core::ModuleBuildContext & ctx, const core::TensorValue & lhs, const core::TensorValue & rhs) { |
| 400 | core::validate_shape(rhs, lhs.shape, "ZipEnhancer sub rhs"); |
| 401 | const auto lhs_contiguous = core::ensure_backend_addressable_layout(ctx, lhs); |
| 402 | const auto rhs_contiguous = core::ensure_backend_addressable_layout(ctx, rhs); |
| 403 | return core::wrap_tensor(ggml_sub(ctx.ggml, lhs_contiguous.tensor, rhs_contiguous.tensor), lhs.shape, GGML_TYPE_F32); |
| 404 | } |
| 405 | |
| 406 | core::TensorValue graph_mul(core::ModuleBuildContext & ctx, const core::TensorValue & lhs, const core::TensorValue & rhs) { |
| 407 | return modules::MulModule().build(ctx, lhs, rhs); |
no test coverage detected