| 1887 | } |
| 1888 | |
| 1889 | struct ggml_tensor * ggml_get_next_tensor(const struct ggml_context * ctx, struct ggml_tensor * tensor) { |
| 1890 | struct ggml_object * obj = (struct ggml_object *) ((char *)tensor - GGML_OBJECT_SIZE); |
| 1891 | obj = obj->next; |
| 1892 | |
| 1893 | char * const mem_buffer = ctx->mem_buffer; |
| 1894 | |
| 1895 | while (obj != NULL) { |
| 1896 | if (obj->type == GGML_OBJECT_TYPE_TENSOR) { |
| 1897 | return (struct ggml_tensor *)(mem_buffer + obj->offs); |
| 1898 | } |
| 1899 | |
| 1900 | obj = obj->next; |
| 1901 | } |
| 1902 | |
| 1903 | return NULL; |
| 1904 | } |
| 1905 | |
| 1906 | struct ggml_tensor * ggml_get_tensor(struct ggml_context * ctx, const char * name) { |
| 1907 | struct ggml_object * obj = ctx->objects_begin; |
no outgoing calls