| 32 | } |
| 33 | |
| 34 | static float tensor_sum_elements(const ggml_tensor * tensor) { |
| 35 | double sum = 0; |
| 36 | if (tensor->type == GGML_TYPE_F32) { |
| 37 | for (int j = 0; j < tensor->ne[1]; j++) { |
| 38 | for (int k = 0; k < tensor->ne[0]; k++) { |
| 39 | sum += ((float *) tensor->data)[j*tensor->ne[0] + k]; |
| 40 | } |
| 41 | } |
| 42 | } |
| 43 | return sum; |
| 44 | } |
| 45 | |
| 46 | static void tensor_dump(const ggml_tensor * tensor, const char * name) { |
| 47 | printf("%15s: type = %i (%5s) ne = %5" PRIi64 " x %5" PRIi64 " x %5" PRIi64 ", nb = (%5zi, %5zi, %5zi) - ", name, |
no outgoing calls
no test coverage detected