Skip to content

Commit e9f7ff9

Browse files
committed
add const to various places
1 parent 06cb595 commit e9f7ff9

File tree

3 files changed

+25
-25
lines changed

3 files changed

+25
-25
lines changed

tests/test-mtmd-c-api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ int main(void) {
2222
assert(n_chunks > 0);
2323

2424
for (size_t i = 0; i < n_chunks; i++) {
25-
mtmd_input_chunk * chunk = mtmd_input_chunks_get(chunks, i);
25+
const mtmd_input_chunk * chunk = mtmd_input_chunks_get(chunks, i);
2626
assert(chunk != NULL);
2727
enum mtmd_input_chunk_type type = mtmd_input_chunk_get_type(chunk);
2828
printf("Chunk %zu type: %d\n", i, type);

tools/llava/mtmd.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ static std::vector<llama_token> mtmd_tokenize_text_internal(
218218
int32_t mtmd_tokenize(mtmd_context * ctx,
219219
mtmd_input_chunks * output,
220220
const mtmd_input_text * text,
221-
mtmd_bitmap ** bitmaps,
221+
const mtmd_bitmap ** bitmaps,
222222
size_t n_bitmaps) {
223223
auto vocab = llama_model_get_vocab(ctx->text_model);
224224

@@ -454,7 +454,7 @@ float * mtmd_get_output_embd(mtmd_context * ctx) {
454454
return ctx->image_embd_v.data();
455455
}
456456

457-
size_t mtmd_helper_get_n_tokens(mtmd_input_chunks * chunks) {
457+
size_t mtmd_helper_get_n_tokens(const mtmd_input_chunks * chunks) {
458458
size_t n_tokens = 0;
459459
for (size_t i = 0; i < mtmd_input_chunks_size(chunks); i++) {
460460
auto chunk = mtmd_input_chunks_get(chunks, i);
@@ -473,7 +473,7 @@ size_t mtmd_helper_get_n_tokens(mtmd_input_chunks * chunks) {
473473
return n_tokens;
474474
}
475475

476-
llama_pos mtmd_helper_get_n_pos(mtmd_input_chunks * chunks) {
476+
llama_pos mtmd_helper_get_n_pos(const mtmd_input_chunks * chunks) {
477477
llama_pos n_pos = 0;
478478
for (size_t i = 0; i < mtmd_input_chunks_size(chunks); i++) {
479479
auto chunk = mtmd_input_chunks_get(chunks, i);
@@ -582,7 +582,7 @@ struct decode_embd_batch {
582582

583583
int32_t mtmd_helper_eval_chunk_single(mtmd_context * ctx,
584584
struct llama_context * lctx,
585-
mtmd_input_chunk * chunk,
585+
const mtmd_input_chunk * chunk,
586586
llama_pos n_past,
587587
llama_seq_id seq_id,
588588
int32_t n_batch,
@@ -698,7 +698,7 @@ int32_t mtmd_helper_eval_chunk_single(mtmd_context * ctx,
698698

699699
int32_t mtmd_helper_eval_chunks(mtmd_context * ctx,
700700
struct llama_context * lctx,
701-
mtmd_input_chunks * chunks,
701+
const mtmd_input_chunks * chunks,
702702
llama_pos n_past,
703703
llama_seq_id seq_id,
704704
int32_t n_batch,
@@ -820,11 +820,11 @@ mtmd_input_chunks * mtmd_input_chunks_init() {
820820
return new mtmd_input_chunks;
821821
}
822822

823-
size_t mtmd_input_chunks_size(mtmd_input_chunks * chunks) {
823+
size_t mtmd_input_chunks_size(const mtmd_input_chunks * chunks) {
824824
return chunks->entries.size();
825825
}
826826

827-
mtmd_input_chunk * mtmd_input_chunks_get(mtmd_input_chunks * chunks, size_t idx) {
827+
const mtmd_input_chunk * mtmd_input_chunks_get(const mtmd_input_chunks * chunks, size_t idx) {
828828
if (idx >= chunks->entries.size()) {
829829
return nullptr;
830830
}
@@ -859,7 +859,7 @@ const mtmd_image_tokens * mtmd_input_chunk_get_tokens_image(const mtmd_input_chu
859859
return nullptr;
860860
}
861861

862-
mtmd_input_chunk * mtmd_input_chunk_copy(const mtmd_input_chunk * chunk) {
862+
const mtmd_input_chunk * mtmd_input_chunk_copy(const mtmd_input_chunk * chunk) {
863863
mtmd_input_chunk * copy = new mtmd_input_chunk{
864864
chunk->type,
865865
chunk->tokens_text,

tools/llava/mtmd.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -102,18 +102,18 @@ MTMD_API const unsigned char * mtmd_bitmap_get_data(const mtmd_bitmap * bitmap);
102102
MTMD_API void mtmd_bitmap_free (mtmd_bitmap * bitmap);
103103
// bitmap ID is optional, but useful for KV cache tracking
104104
// these getters/setters are dedicated functions, so you can for example calculate the hash of the image based on mtmd_bitmap_get_data()
105-
MTMD_API const char * mtmd_bitmap_get_id (const mtmd_bitmap * bitmap);
106-
MTMD_API void mtmd_bitmap_set_id (mtmd_bitmap * bitmap, const char * id);
105+
MTMD_API const char * mtmd_bitmap_get_id(const mtmd_bitmap * bitmap);
106+
MTMD_API void mtmd_bitmap_set_id(mtmd_bitmap * bitmap, const char * id);
107107

108108

109109
// mtmd_input_chunks
110110
//
111111
// this is simply a list of mtmd_input_chunk
112112
// the elements can only be populated via mtmd_tokenize()
113-
MTMD_API mtmd_input_chunks * mtmd_input_chunks_init(void);
114-
MTMD_API size_t mtmd_input_chunks_size(mtmd_input_chunks * chunks);
115-
MTMD_API mtmd_input_chunk * mtmd_input_chunks_get (mtmd_input_chunks * chunks, size_t idx);
116-
MTMD_API void mtmd_input_chunks_free(mtmd_input_chunks * chunks);
113+
MTMD_API mtmd_input_chunks * mtmd_input_chunks_init(void);
114+
MTMD_API size_t mtmd_input_chunks_size(const mtmd_input_chunks * chunks);
115+
MTMD_API const mtmd_input_chunk * mtmd_input_chunks_get (const mtmd_input_chunks * chunks, size_t idx);
116+
MTMD_API void mtmd_input_chunks_free(mtmd_input_chunks * chunks);
117117

118118
// mtmd_input_chunk
119119
//
@@ -126,8 +126,8 @@ MTMD_API const mtmd_image_tokens * mtmd_input_chunk_get_tokens_image(const mtmd
126126
// in case you want to use custom logic to handle the chunk (i.e. KV cache management)
127127
// you can move the chunk ownership to your own code by copying it
128128
// remember to free the chunk when you are done with it
129-
MTMD_API mtmd_input_chunk * mtmd_input_chunk_copy(const mtmd_input_chunk * chunk);
130-
MTMD_API void mtmd_input_chunk_free(mtmd_input_chunk * chunk);
129+
MTMD_API const mtmd_input_chunk * mtmd_input_chunk_copy(const mtmd_input_chunk * chunk);
130+
MTMD_API void mtmd_input_chunk_free(mtmd_input_chunk * chunk);
131131

132132

133133
// mtmd_image_tokens
@@ -159,7 +159,7 @@ MTMD_API llama_pos mtmd_image_tokens_get_n_pos (const mtmd_image_tokens * i
159159
MTMD_API int32_t mtmd_tokenize(mtmd_context * ctx,
160160
mtmd_input_chunks * output,
161161
const mtmd_input_text * text,
162-
mtmd_bitmap ** bitmaps,
162+
const mtmd_bitmap ** bitmaps,
163163
size_t n_bitmaps);
164164

165165
// returns 0 on success
@@ -189,10 +189,10 @@ MTMD_API mtmd_bitmap * mtmd_helper_bitmap_init_from_file(const char * fname);
189189
MTMD_API mtmd_bitmap * mtmd_helper_bitmap_init_from_buf(const unsigned char * buf, size_t len);
190190

191191
// helper to count the total number of tokens from a list of chunks, useful to keep track of KV cache
192-
MTMD_API size_t mtmd_helper_get_n_tokens(mtmd_input_chunks * chunks);
192+
MTMD_API size_t mtmd_helper_get_n_tokens(const mtmd_input_chunks * chunks);
193193

194194
// helper to count the total position of tokens from a list of chunks, useful to keep track of n_past
195-
MTMD_API llama_pos mtmd_helper_get_n_pos(mtmd_input_chunks * chunks);
195+
MTMD_API llama_pos mtmd_helper_get_n_pos(const mtmd_input_chunks * chunks);
196196

197197
// helper function that automatically:
198198
// 1. run llama_decode() on text chunks
@@ -202,7 +202,7 @@ MTMD_API llama_pos mtmd_helper_get_n_pos(mtmd_input_chunks * chunks);
202202
// this function is NOT thread-safe
203203
MTMD_API int32_t mtmd_helper_eval_chunks(mtmd_context * ctx,
204204
struct llama_context * lctx,
205-
mtmd_input_chunks * chunks,
205+
const mtmd_input_chunks * chunks,
206206
llama_pos n_past,
207207
llama_seq_id seq_id,
208208
int32_t n_batch,
@@ -213,7 +213,7 @@ MTMD_API int32_t mtmd_helper_eval_chunks(mtmd_context * ctx,
213213
// this function is NOT thread-safe
214214
MTMD_API int32_t mtmd_helper_eval_chunk_single(mtmd_context * ctx,
215215
struct llama_context * lctx,
216-
mtmd_input_chunk * chunk,
216+
const mtmd_input_chunk * chunk,
217217
llama_pos n_past,
218218
llama_seq_id seq_id,
219219
int32_t n_batch,
@@ -275,8 +275,8 @@ struct bitmaps {
275275
// example:
276276
// auto bitmaps_c_ptr = bitmaps.c_ptr();
277277
// int32_t res = mtmd_tokenize(... bitmaps_c_ptr.data(), bitmaps_c_ptr.size());
278-
std::vector<mtmd_bitmap *> c_ptr() {
279-
std::vector<mtmd_bitmap *> res(entries.size());
278+
std::vector<const mtmd_bitmap *> c_ptr() {
279+
std::vector<const mtmd_bitmap *> res(entries.size());
280280
for (size_t i = 0; i < entries.size(); i++) {
281281
res[i] = entries[i].ptr.get();
282282
}
@@ -290,7 +290,7 @@ struct input_chunks {
290290
input_chunks(mtmd_input_chunks * chunks) : ptr(chunks) {}
291291
~input_chunks() = default;
292292
size_t size() { return mtmd_input_chunks_size(ptr.get()); }
293-
mtmd_input_chunk * operator[](size_t idx) {
293+
const mtmd_input_chunk * operator[](size_t idx) {
294294
return mtmd_input_chunks_get(ptr.get(), idx);
295295
}
296296
};

0 commit comments

Comments
 (0)