From cb6cc9097b5fa618cd166ff4c566ebdf6a8fb245 Mon Sep 17 00:00:00 2001 From: = <=> Date: Tue, 2 Dec 2025 18:48:53 +0100 Subject: [PATCH] Shuffled stacks_apply.c into stacks.c --- stacks.c | 27 +++++++++++++++++- stacks_apply.c | 38 -------------------------- stacks_apply_inner.h => stacks_inner.h | 8 +++--- 3 files changed, 30 insertions(+), 43 deletions(-) delete mode 100644 stacks_apply.c rename stacks_apply_inner.h => stacks_inner.h (82%) diff --git a/stacks.c b/stacks.c index 158b855..8e9e75a 100644 --- a/stacks.c +++ b/stacks.c @@ -6,11 +6,12 @@ /* By: agilliar +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/02 15:57:41 by agilliar #+# #+# */ -/* Updated: 2025/12/02 18:10:34 by agilliar ### ########.fr */ +/* Updated: 2025/12/02 18:48:33 by agilliar ### ########.fr */ /* */ /* ************************************************************************** */ #include "pushswap.h" +#include "stacks_apply_inner.h" t_stacks stacks_new(void) { @@ -41,3 +42,27 @@ bool stack_is_solved(const t_stacks *stacks) return (false); return (true); } + +static void stacks_apply_op(t_stacks_apply_data *data, t_op op) +{ + t_stacks *stacks; + const t_ops *ops; + t_closure op_fn; + + stacks = data->stacks; + ops = data->ops; + op_fn = ops->ops[op]; + (op_fn.func)(op_fn.data, stacks); +} + +void stacks_apply(t_stacks *stacks, const t_ops *ops, t_algorithm algo) +{ + t_closure closure; + t_stacks_apply_data closure_data; + + closure_data.stacks = stacks; + closure_data.ops = ops; + closure.data = &closure_data; + closure.func = &stacks_apply_op; + algo(stacks, closure); +} diff --git a/stacks_apply.c b/stacks_apply.c deleted file mode 100644 index 93b3dba..0000000 --- a/stacks_apply.c +++ /dev/null @@ -1,38 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* stacks_apply.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: agilliar +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2025/12/02 18:10:48 by agilliar #+# #+# */ -/* Updated: 2025/12/02 18:26:05 by agilliar ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "pushswap.h" -#include "stacks_apply_inner.h" - -static void stacks_apply_op(t_stacks_apply_data *data, t_op op) -{ - t_stacks *stacks; - const t_ops *ops; - t_closure op_fn; - - stacks = data->stacks; - ops = data->ops; - op_fn = ops->ops[op]; - (op_fn.func)(op_fn.data, stacks); -} - -void stacks_apply(t_stacks *stacks, const t_ops *ops, t_algorithm algo) -{ - t_closure closure; - t_stacks_apply_data closure_data; - - closure_data.stacks = stacks; - closure_data.ops = ops; - closure.data = &closure_data; - closure.func = &stacks_apply_op; - algo(stacks, closure); -} diff --git a/stacks_apply_inner.h b/stacks_inner.h similarity index 82% rename from stacks_apply_inner.h rename to stacks_inner.h index 1872359..d301e6d 100644 --- a/stacks_apply_inner.h +++ b/stacks_inner.h @@ -1,17 +1,17 @@ /* ************************************************************************** */ /* */ /* ::: :::::::: */ -/* stacks_apply_inner.h :+: :+: :+: */ +/* stacks_inner.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: agilliar +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/12/02 18:18:38 by agilliar #+# #+# */ -/* Updated: 2025/12/02 18:22:48 by agilliar ### ########.fr */ +/* Updated: 2025/12/02 18:48:13 by agilliar ### ########.fr */ /* */ /* ************************************************************************** */ -#ifndef STACKS_APPLY_INNER_H -# define STACKS_APPLY_INNER_H +#ifndef STACKS_INNER_H +# define STACKS_INNER_H # include "pushswap.h" -- 2.51.0