Normed parser/src/point.c
This commit is contained in:
parent
36d9d411ba
commit
fa7077c053
4 changed files with 90 additions and 64 deletions
|
|
@ -16,7 +16,8 @@ node/node_getter_funcs3 \
|
||||||
node/node_iterator \
|
node/node_iterator \
|
||||||
node/node_relevent \
|
node/node_relevent \
|
||||||
parser \
|
parser \
|
||||||
point \
|
point/point_funcs1 \
|
||||||
|
point/point_funcs2 \
|
||||||
reduce_action \
|
reduce_action \
|
||||||
scanner \
|
scanner \
|
||||||
stack/stack_add_link \
|
stack/stack_add_link \
|
||||||
|
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
#include "parser/point.h"
|
|
||||||
|
|
||||||
TSPoint point__new(t_u32 row, t_u32 column)
|
|
||||||
{
|
|
||||||
return ((TSPoint){row, column});
|
|
||||||
}
|
|
||||||
|
|
||||||
TSPoint point_add(TSPoint a, TSPoint b)
|
|
||||||
{
|
|
||||||
if (b.row > 0)
|
|
||||||
return (point__new(a.row + b.row, b.column));
|
|
||||||
else
|
|
||||||
return (point__new(a.row, a.column + b.column));
|
|
||||||
}
|
|
||||||
|
|
||||||
TSPoint point_sub(TSPoint a, TSPoint b)
|
|
||||||
{
|
|
||||||
if (a.row > b.row)
|
|
||||||
return (point__new(a.row - b.row, a.column));
|
|
||||||
else
|
|
||||||
return (point__new(0, a.column - b.column));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool point_lte(TSPoint a, TSPoint b)
|
|
||||||
{
|
|
||||||
return ((a.row < b.row) || (a.row == b.row && a.column <= b.column));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool point_lt(TSPoint a, TSPoint b)
|
|
||||||
{
|
|
||||||
return ((a.row < b.row) || (a.row == b.row && a.column < b.column));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool point_gt(TSPoint a, TSPoint b)
|
|
||||||
{
|
|
||||||
return ((a.row > b.row) || (a.row == b.row && a.column > b.column));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool point_gte(TSPoint a, TSPoint b)
|
|
||||||
{
|
|
||||||
return ((a.row > b.row) || (a.row == b.row && a.column >= b.column));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool point_eq(TSPoint a, TSPoint b)
|
|
||||||
{
|
|
||||||
return (a.row == b.row && a.column == b.column);
|
|
||||||
}
|
|
||||||
|
|
||||||
TSPoint point_min(TSPoint a, TSPoint b)
|
|
||||||
{
|
|
||||||
if (a.row < b.row || (a.row == b.row && a.column < b.column))
|
|
||||||
return (a);
|
|
||||||
else
|
|
||||||
return (b);
|
|
||||||
}
|
|
||||||
|
|
||||||
TSPoint point_max(TSPoint a, TSPoint b)
|
|
||||||
{
|
|
||||||
if (a.row > b.row || (a.row == b.row && a.column > b.column))
|
|
||||||
return (a);
|
|
||||||
else
|
|
||||||
return (b);
|
|
||||||
}
|
|
||||||
44
parser/src/point/point_funcs1.c
Normal file
44
parser/src/point/point_funcs1.c
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* point_funcs1.c :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2024/08/31 17:31:13 by maiboyer #+# #+# */
|
||||||
|
/* Updated: 2024/08/31 17:31:33 by maiboyer ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "parser/point.h"
|
||||||
|
|
||||||
|
TSPoint point__new(t_u32 row, t_u32 column)
|
||||||
|
{
|
||||||
|
return ((TSPoint){row, column});
|
||||||
|
}
|
||||||
|
|
||||||
|
TSPoint point_add(TSPoint a, TSPoint b)
|
||||||
|
{
|
||||||
|
if (b.row > 0)
|
||||||
|
return (point__new(a.row + b.row, b.column));
|
||||||
|
else
|
||||||
|
return (point__new(a.row, a.column + b.column));
|
||||||
|
}
|
||||||
|
|
||||||
|
TSPoint point_sub(TSPoint a, TSPoint b)
|
||||||
|
{
|
||||||
|
if (a.row > b.row)
|
||||||
|
return (point__new(a.row - b.row, a.column));
|
||||||
|
else
|
||||||
|
return (point__new(0, a.column - b.column));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool point_lte(TSPoint a, TSPoint b)
|
||||||
|
{
|
||||||
|
return ((a.row < b.row) || (a.row == b.row && a.column <= b.column));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool point_lt(TSPoint a, TSPoint b)
|
||||||
|
{
|
||||||
|
return ((a.row < b.row) || (a.row == b.row && a.column < b.column));
|
||||||
|
}
|
||||||
44
parser/src/point/point_funcs2.c
Normal file
44
parser/src/point/point_funcs2.c
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* point_funcs2.c :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2024/08/31 17:31:56 by maiboyer #+# #+# */
|
||||||
|
/* Updated: 2024/08/31 17:31:57 by maiboyer ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "parser/point.h"
|
||||||
|
|
||||||
|
bool point_gt(TSPoint a, TSPoint b)
|
||||||
|
{
|
||||||
|
return ((a.row > b.row) || (a.row == b.row && a.column > b.column));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool point_gte(TSPoint a, TSPoint b)
|
||||||
|
{
|
||||||
|
return ((a.row > b.row) || (a.row == b.row && a.column >= b.column));
|
||||||
|
}
|
||||||
|
|
||||||
|
bool point_eq(TSPoint a, TSPoint b)
|
||||||
|
{
|
||||||
|
return (a.row == b.row && a.column == b.column);
|
||||||
|
}
|
||||||
|
|
||||||
|
TSPoint point_min(TSPoint a, TSPoint b)
|
||||||
|
{
|
||||||
|
if (a.row < b.row || (a.row == b.row && a.column < b.column))
|
||||||
|
return (a);
|
||||||
|
else
|
||||||
|
return (b);
|
||||||
|
}
|
||||||
|
|
||||||
|
TSPoint point_max(TSPoint a, TSPoint b)
|
||||||
|
{
|
||||||
|
if (a.row > b.row || (a.row == b.row && a.column > b.column))
|
||||||
|
return (a);
|
||||||
|
else
|
||||||
|
return (b);
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue