| 2843 | } |
| 2844 | |
| 2845 | void ggml_set_i32_nd(const struct ggml_tensor * tensor, int i0, int i1, int i2, int i3, int32_t value) { |
| 2846 | void * data = (char *) tensor->data + i0*tensor->nb[0] + i1*tensor->nb[1] + i2*tensor->nb[2] + i3*tensor->nb[3]; |
| 2847 | switch (tensor->type) { |
| 2848 | case GGML_TYPE_I8: |
| 2849 | { |
| 2850 | ((int8_t *)(data))[0] = value; |
| 2851 | } break; |
| 2852 | case GGML_TYPE_I16: |
| 2853 | { |
| 2854 | ((int16_t *)(data))[0] = value; |
| 2855 | } break; |
| 2856 | case GGML_TYPE_I32: |
| 2857 | { |
| 2858 | ((int32_t *)(data))[0] = value; |
| 2859 | } break; |
| 2860 | case GGML_TYPE_F16: |
| 2861 | { |
| 2862 | ((ggml_fp16_t *)(data))[0] = GGML_FP32_TO_FP16(value); |
| 2863 | } break; |
| 2864 | case GGML_TYPE_F32: |
| 2865 | { |
| 2866 | ((float *)(data))[0] = value; |
| 2867 | } break; |
| 2868 | default: |
| 2869 | { |
| 2870 | GGML_ASSERT(false); |
| 2871 | } break; |
| 2872 | } |
| 2873 | } |
| 2874 | |
| 2875 | float ggml_get_f32_1d(const struct ggml_tensor * tensor, int i) { |
| 2876 | if (!ggml_is_contiguous(tensor)) { |
no outgoing calls
no test coverage detected