size_t i = i3 * nb[3] + i2 * nb[2] + i1 * nb[1] + i0 * nb[0];
float v;
if (type == GGML_TYPE_F16) {
- v = ggml_fp16_to_fp32(*(ggml_fp16_t *) data + i);
+ v = ggml_fp16_to_fp32(*(ggml_fp16_t *) &data[i]);
} else if (type == GGML_TYPE_F32) {
- v = *(float *) data + i;
+ v = *(float *) &data[i];
} else if (type == GGML_TYPE_I32) {
- v = (float) *(int32_t *) data + i;
+ v = (float) *(int32_t *) &data[i];
} else if (type == GGML_TYPE_I16) {
- v = (float) *(int16_t *) data + i;
+ v = (float) *(int16_t *) &data[i];
} else if (type == GGML_TYPE_I8) {
- v = (float) *(int8_t *) data + i;
+ v = (float) *(int8_t *) &data[i];
} else {
GGML_ASSERT(false);
}