Add function for filling a matrix
authorLukas Jiriste <ljiriste@student.42prague.com>
Fri, 5 Apr 2024 08:07:59 +0000 (10:07 +0200)
committerLukas Jiriste <ljiriste@student.42prague.com>
Fri, 5 Apr 2024 08:07:59 +0000 (10:07 +0200)
Makefile
ft_arr/ft_mat_fill.c [new file with mode: 0644]
inc/ft_arr.h

index b5f287f5806268007be6977ca1936ddd7acde6db..b33312ef8d1fbdc9c1501c6e8c97e91ad05f3e7f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -106,6 +106,7 @@ SRCarr      :=      ft_vec_init.c                   \
                        ft_mat_insert_col.c             \
                        ft_mat_insert_row.c             \
                        ft_mat_zeros.c                  \
+                       ft_mat_fill.c                   \
                        ft_mat_access.c                 \
                        ft_mat_free.c                   \
 
diff --git a/ft_arr/ft_mat_fill.c b/ft_arr/ft_mat_fill.c
new file mode 100644 (file)
index 0000000..b8bc4e9
--- /dev/null
@@ -0,0 +1,33 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_mat_fill.c                                      :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: ljiriste <ljiriste@student.42prague.com>   +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2024/04/05 10:00:33 by ljiriste          #+#    #+#             */
+/*   Updated: 2024/04/05 10:07:19 by ljiriste         ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "ft_arr.h"
+#include "libft.h"
+
+t_arr_stat     ft_mat_fill(t_mat *mat, void *filler)
+{
+       size_t  i;
+       size_t  j;
+
+       i = 0;
+       while (i < mat->cols)
+       {
+               j = 0;
+               while (j < mat->rows)
+               {
+                       ft_memcpy(ft_mat_access(mat, i, j), filler, mat->vec.el_size);
+                       ++j;
+               }
+               ++i;
+       }
+       return (success);
+}
index bc9bcb1abb1f523285bc2bfec89ee1e1c2dff2f9..f4389dbb6b248ff4bdeb70a5d71414f509bed8ac 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: ljiriste <ljiriste@student.42prague.com>   +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2023/12/09 13:58:15 by ljiriste          #+#    #+#             */
-/*   Updated: 2024/04/02 11:13:24 by ljiriste         ###   ########.fr       */
+/*   Updated: 2024/04/05 10:05:22 by ljiriste         ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -93,5 +93,6 @@ t_arr_stat    ft_mat_erase_cols(t_mat *mat, size_t count,
                                size_t index, void (*free_el)(void *));
 void           *ft_mat_access(t_mat *mat, size_t row, size_t col);
 t_arr_stat     ft_mat_zeros(t_mat *matrix, size_t rows, size_t cols);
+t_arr_stat     ft_mat_fill(t_mat *mat, void *filler);
 
 #endif