Skip to content

Commit

Permalink
define t_operation
Browse files Browse the repository at this point in the history
  • Loading branch information
rask24 committed Apr 20, 2024
1 parent a8e4768 commit 6e5af0c
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 11 deletions.
10 changes: 6 additions & 4 deletions include/stack_operations.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/* By: reasuke <[email protected]> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/02/11 12:41:01 by reasuke #+# #+# */
/* Updated: 2024/04/20 15:25:05 by reasuke ### ########.fr */
/* Updated: 2024/04/20 15:40:33 by reasuke ### ########.fr */
/* */
/* ************************************************************************** */

Expand All @@ -15,15 +15,17 @@

# include "push_swap.h"

typedef void t_operation(t_stack **);
typedef void t_dual_operation(t_stack **, t_stack **);

void push_stack(t_stack **p_s1, t_stack **p_s2);
void swap_stack(t_stack **p_stack);
void rotate_stack(t_stack **p_stack);
void reverse_rotate_stack(t_stack **p_stack);

void repeat_stack_operations(t_stack **p_st, int n,
void (*operation)(t_stack **));
void repeat_stack_operations(t_stack **p_st, int n, t_operation *op);
void repeat_dual_stack_operations(t_stack **p_a, t_stack **p_b, int n,
void (*operation)(t_stack **, t_stack **));
t_dual_operation *op);

void operate_sa(t_stack **p_a);
void operate_sb(t_stack **p_b);
Expand Down
6 changes: 3 additions & 3 deletions src/stack_operations/repeat_dual_stack_operations.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
/* By: reasuke <[email protected]> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/02/10 19:22:50 by reasuke #+# #+# */
/* Updated: 2024/04/20 15:25:42 by reasuke ### ########.fr */
/* Updated: 2024/04/20 15:40:46 by reasuke ### ########.fr */
/* */
/* ************************************************************************** */

#include "stack_operations.h"

void repeat_dual_stack_operations(t_stack **p_a, t_stack **p_b, int n,
void (*operation)(t_stack **, t_stack **))
t_dual_operation *op)
{
while (n--)
operation(p_a, p_b);
op(p_a, p_b);
}
7 changes: 3 additions & 4 deletions src/stack_operations/repeat_stack_operations.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,14 @@
/* By: reasuke <[email protected]> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/02/10 19:22:26 by reasuke #+# #+# */
/* Updated: 2024/04/20 15:32:16 by reasuke ### ########.fr */
/* Updated: 2024/04/20 15:39:53 by reasuke ### ########.fr */
/* */
/* ************************************************************************** */

#include "stack_operations.h"

void repeat_stack_operations(t_stack **p_st, int n,
void (*operation)(t_stack **))
void repeat_stack_operations(t_stack **p_st, int n, t_operation *op)
{
while (n--)
operation(p_st);
op(p_st);
}

0 comments on commit 6e5af0c

Please sign in to comment.