pushswap/push_swap.h
2023-10-26 19:09:02 +02:00

85 lines
2.8 KiB
C

/* ************************************************************************** */
/* */
/* :::::::: */
/* push_swap.h :+: :+: */
/* +:+ */
/* By: houtworm <codam@houtworm.net> +#+ */
/* +#+ */
/* Created: 2023/10/26 19:03:11 by houtworm #+# #+# */
/* Updated: 2023/10/26 19:03:11 by houtworm ######## odam.nl */
/* */
/* ************************************************************************** */
#ifndef PUSH_SWAP_H
# define PUSH_SWAP_H
# include <unistd.h>
# include "libft/libft.h"
# include "printf/ft_printf.h"
# include "getnextline/get_next_line.h"
typedef struct s_stack
{
long data;
long id;
struct s_stack *n;
struct s_stack *p;
} t_stack;
typedef struct s_varlist
{
struct s_stack *a;
struct s_stack *b;
long high;
long low;
long moves;
long nbrs;
int direction;
long idcounter;
long oldlow;
long hdiv;
long ldiv;
long odiv;
} t_varlist;
int initstack(t_varlist *vl, long value);
int popb(t_varlist *vl, int print);
int popa(t_varlist *vl, int print);
int printlist(t_varlist *vl, char c);
int charactercheck(char **stack);
int finddouble(char **stack);
int sa(t_varlist *vl, int print);
int sb(t_varlist *vl, int print);
int ss(t_varlist *vl, int print);
int pa(t_varlist *vl, int print);
int pb(t_varlist *vl, int print);
int ra(t_varlist *vl, int print);
int rb(t_varlist *vl, int print);
int rr(t_varlist *vl, int print);
int rra(t_varlist *vl, int print);
int rrb(t_varlist *vl, int print);
int rrr(t_varlist *vl, int print);
int idall(t_varlist *vl);
void threenumbers(t_varlist *vl);
int findhighlow(t_varlist *vl, char stack);
int highorlow(t_varlist *vl);
int upordownbetween(t_varlist *vl);
void matchatob(t_varlist *vl);
int upordownfinal(t_varlist *vl);
int lowontop(t_varlist *vl);
void fourtothirty(int i, t_varlist *vl);
int findfastroutehigh(t_varlist *vl, char stack);
int findfastroutelow(t_varlist *vl, char stack);
void sorttostacklow(t_varlist *vl);
void sorttostackhigh(t_varlist *vl);
void dividetostack(t_varlist *vl);
void morethanthirty(t_varlist *vl, int division);
void thirtyorless(int argc, t_varlist *vl);
t_varlist *create_struct(t_varlist *vl);
int printall(t_varlist *vl);
int freeall(t_varlist *vl);
int errorreturn(t_varlist *vl, int type);
long long ft_ps_atol(char *str);
#endif