| 3496 | // ggml_sqr |
| 3497 | |
| 3498 | static struct ggml_tensor * ggml_sqr_impl( |
| 3499 | struct ggml_context * ctx, |
| 3500 | struct ggml_tensor * a, |
| 3501 | bool inplace) { |
| 3502 | bool is_node = false; |
| 3503 | |
| 3504 | if (!inplace && (a->grad)) { |
| 3505 | is_node = true; |
| 3506 | } |
| 3507 | |
| 3508 | struct ggml_tensor * result = inplace ? ggml_view_tensor(ctx, a) : ggml_dup_tensor(ctx, a); |
| 3509 | |
| 3510 | result->op = GGML_OP_SQR; |
| 3511 | result->grad = is_node ? ggml_dup_tensor(ctx, result) : NULL; |
| 3512 | result->src[0] = a; |
| 3513 | |
| 3514 | return result; |
| 3515 | } |
| 3516 | |
| 3517 | struct ggml_tensor * ggml_sqr( |
| 3518 | struct ggml_context * ctx, |
no test coverage detected