@@ -696,24 +696,8 @@ static void ggml_compute_forward_dup_f32(
696696 if (ggml_is_contiguous (dst)) {
697697 // TODO: simplify
698698 if (nb00 == sizeof (float )) {
699- if (dst->type == GGML_TYPE_F32) {
700- size_t id = 0 ;
701- const size_t rs = ne00 * nb00;
702- char * dst_ptr = (char *) dst->data ;
703-
704- for (int i03 = 0 ; i03 < ne03; i03++) {
705- for (int i02 = 0 ; i02 < ne02; i02++) {
706- id += rs * ir0;
707- for (int i01 = ir0; i01 < ir1; i01++) {
708- const char * src0_ptr = (char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03;
709- memcpy (dst_ptr + id, src0_ptr, rs);
710- id += rs;
711- }
712- id += rs * (ne01 - ir1);
713- }
714- }
715- } else if (ggml_get_type_traits_cpu (dst->type )->from_float ) {
716- ggml_from_float_t const quantize_row_q = ggml_get_type_traits_cpu (dst->type )->from_float ;
699+ if (ggml_get_type_traits_cpu (dst->type )->from_float ) {
700+ ggml_from_float_t const from_float = ggml_get_type_traits_cpu (dst->type )->from_float ;
717701
718702 size_t id = 0 ;
719703 size_t rs = nb0 * (ne00 / ggml_blck_size (dst->type ));
@@ -724,7 +708,7 @@ static void ggml_compute_forward_dup_f32(
724708 id += rs * ir0;
725709 for (int i01 = ir0; i01 < ir1; i01++) {
726710 const float * src0_ptr = (float *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03);
727- quantize_row_q (src0_ptr, dst_ptr + id, ne00);
711+ from_float (src0_ptr, dst_ptr + id, ne00);
728712 id += rs;
729713 }
730714 id += rs * (ne01 - ir1);
0 commit comments