summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralejandro-colomar <colomar.6.4.3@gmail.com>2019-07-30 12:58:09 +0200
committeralejandro-colomar <colomar.6.4.3@gmail.com>2019-07-30 12:58:09 +0200
commitda8c7c1c52ef662025d3fa8d5c4832539b24b83d (patch)
treeff2f967ef31bcefda678fa4a1ccb568c9c7a1fc4
parent3356c1e1d93beaf5d0e8c6258b2f8fceacca0659 (diff)
Update libalx
-rw-r--r--Makefile12
-rw-r--r--bin/Makefile1
-rw-r--r--inc/vision-artificial/proc/coins.h69
-rw-r--r--inc/vision-artificial/proc/coins.hpp72
-rw-r--r--inc/vision-artificial/save/save.hpp2
-rw-r--r--inc/vision-artificial/share/share.hpp2
-rw-r--r--inc/vision-artificial/user/iface.hpp2
m---------libalx0
-rw-r--r--src/image/ocr.c4
-rw-r--r--src/main.cpp2
-rw-r--r--src/menu/tui.c4
-rw-r--r--src/proc/coins.cpp292
-rw-r--r--src/proc/common.cpp2
-rw-r--r--src/proc/iface.c16
-rw-r--r--src/proc/resistor.cpp2
-rw-r--r--src/save/save.cpp2
-rw-r--r--src/share/share.c4
-rw-r--r--src/user/clui.c4
-rw-r--r--src/user/tui.c2
-rw-r--r--tmp/Makefile2
-rw-r--r--tmp/image/Makefile4
-rw-r--r--tmp/menu/Makefile4
-rw-r--r--tmp/proc/Makefile21
-rw-r--r--tmp/save/Makefile2
-rw-r--r--tmp/share/Makefile2
-rw-r--r--tmp/user/Makefile4
26 files changed, 38 insertions, 495 deletions
diff --git a/Makefile b/Makefile
index 49da643..a63b09f 100644
--- a/Makefile
+++ b/Makefile
@@ -122,8 +122,7 @@ export SZ
################################################################################
# cflags
-CFLAGS_STD = -std=c17
-CFLAGS_STD += -Wpedantic
+CFLAGS_STD = -std=gnu17
CFLAGS_OPT = -O3
CFLAGS_OPT += -march=native
@@ -144,7 +143,8 @@ CFLAGS_PKG += `pkg-config --cflags tesseract`
CFLAGS_PKG += `pkg-config --cflags lept`
CFLAGS_PKG += -I $(LIBALX_INC_DIR)
-CFLAGS_D = -D _POSIX_C_SOURCE=200809L
+CFLAGS_D = -D _GNU_SOURCE
+CFLAGS_D += -D _POSIX_C_SOURCE=200809L
CFLAGS_D += -D PROG_VERSION=\"$(PROGRAMVERSION)\"
CFLAGS_D += -D INSTALL_SHARE_DIR=\"$(INSTALL_SHARE_DIR)\"
CFLAGS_D += -D INSTALL_VAR_DIR=\"$(INSTALL_VAR_DIR)\"
@@ -162,7 +162,7 @@ export CFLAGS
################################################################################
# c++flags
-CXXFLAGS_STD = -std=c++17
+CXXFLAGS_STD = -std=gnu++17
CXXFLAGS_OPT = -O3
CXXFLAGS_OPT += -march=native
@@ -182,7 +182,9 @@ CXXFLAGS_PKG += `pkg-config --cflags tesseract`
CXXFLAGS_PKG += `pkg-config --cflags lept`
CXXFLAGS_PKG += -I $(LIBALX_INC_DIR)
-CXXFLAGS_D = -D PROG_VERSION=\"$(PROGRAMVERSION)\"
+CXXFLAGS_D = -D _GNU_SOURCE
+CXXFLAGS_D += -D _POSIX_C_SOURCE=200809L
+CXXFLAGS_D += -D PROG_VERSION=\"$(PROGRAMVERSION)\"
CXXFLAGS_D += -D INSTALL_SHARE_DIR=\"$(INSTALL_SHARE_DIR)\"
CXXFLAGS_D += -D INSTALL_VAR_DIR=\"$(INSTALL_VAR_DIR)\"
diff --git a/bin/Makefile b/bin/Makefile
index 99e6ebd..b06d2d2 100644
--- a/bin/Makefile
+++ b/bin/Makefile
@@ -16,7 +16,6 @@ OBJS = \
$(TMP_DIR)/menu/iface.o \
$(TMP_DIR)/menu/parse.o \
$(TMP_DIR)/menu/tui.o \
- $(TMP_DIR)/proc/coins.o \
$(TMP_DIR)/proc/common.o \
$(TMP_DIR)/proc/iface.o \
$(TMP_DIR)/proc/label.o \
diff --git a/inc/vision-artificial/proc/coins.h b/inc/vision-artificial/proc/coins.h
deleted file mode 100644
index 74c7ede..0000000
--- a/inc/vision-artificial/proc/coins.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/******************************************************************************
- * Copyright (C) 2018 Alejandro Colomar Andrés *
- * SPDX-License-Identifier: GPL-2.0-only *
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* include guard ********************************************************
- ******************************************************************************/
-#ifndef VA_PROC_COINS_H
-#define VA_PROC_COINS_H
-
-
-/******************************************************************************
- ******* headers **************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* macros ***************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* enums ****************************************************************
- ******************************************************************************/
-enum Proc_Coins {
- COINS_OK,
- COINS_NOK_COINS,
- COINS_NOK_OVERLAP,
- COINS_NOK_SIZE
-};
-
-
-/******************************************************************************
- ******* structs / unions *****************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* variables ************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* extern functions *****************************************************
- ******************************************************************************/
-int proc_coins (void);
-
-
-/******************************************************************************
- ******* static inline functions (prototypes) *********************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* static inline functions (definitions) ********************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* include guard ********************************************************
- ******************************************************************************/
-#endif /* vision-artificial/proc/coins.h */
-
-
-/******************************************************************************
- ******* end of file **********************************************************
- ******************************************************************************/
diff --git a/inc/vision-artificial/proc/coins.hpp b/inc/vision-artificial/proc/coins.hpp
deleted file mode 100644
index d64486e..0000000
--- a/inc/vision-artificial/proc/coins.hpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/******************************************************************************
- * Copyright (C) 2018 Alejandro Colomar Andrés *
- * SPDX-License-Identifier: GPL-2.0-only *
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* include guard ********************************************************
- ******************************************************************************/
-#ifndef VA_PROC_COINS_HPP
-#define VA_PROC_COINS_HPP
-
-
-/******************************************************************************
- ******* headers **************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* macros ***************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* enums ****************************************************************
- ******************************************************************************/
-enum Proc_Coins {
- COINS_OK,
- COINS_NOK_COINS,
- COINS_NOK_OVERLAP,
- COINS_NOK_SIZE
-};
-
-
-/******************************************************************************
- ******* structs / unions *****************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* variables ************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* extern functions *****************************************************
- ******************************************************************************/
-extern "C"
-{
-int proc_coins (void);
-}
-
-
-/******************************************************************************
- ******* static inline functions (prototypes) *********************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* static inline functions (definitions) ********************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* include guard ********************************************************
- ******************************************************************************/
-#endif /* vision-artificial/proc/coins.hpp */
-
-
-/******************************************************************************
- ******* end of file **********************************************************
- ******************************************************************************/
diff --git a/inc/vision-artificial/save/save.hpp b/inc/vision-artificial/save/save.hpp
index f2033b4..df52ef7 100644
--- a/inc/vision-artificial/save/save.hpp
+++ b/inc/vision-artificial/save/save.hpp
@@ -18,7 +18,7 @@
#include <opencv2/core/core.hpp>
-#include "libalx/base/stddef/restrict.hpp"
+#include "libalx/base/compiler/restrict.hpp"
/******************************************************************************
diff --git a/inc/vision-artificial/share/share.hpp b/inc/vision-artificial/share/share.hpp
index 984c59f..09750e9 100644
--- a/inc/vision-artificial/share/share.hpp
+++ b/inc/vision-artificial/share/share.hpp
@@ -17,7 +17,7 @@
#include <cstddef>
#include <cstdio>
-#include "libalx/base/stddef/restrict.hpp"
+#include "libalx/base/compiler/restrict.hpp"
/******************************************************************************
diff --git a/inc/vision-artificial/user/iface.hpp b/inc/vision-artificial/user/iface.hpp
index a22c96c..5939148 100644
--- a/inc/vision-artificial/user/iface.hpp
+++ b/inc/vision-artificial/user/iface.hpp
@@ -17,7 +17,7 @@
#include <cstddef>
#include <cstdint>
-#include "libalx/base/stddef/restrict.hpp"
+#include "libalx/base/compiler/restrict.hpp"
/******************************************************************************
diff --git a/libalx b/libalx
-Subproject b5a3717b64e1963878d1f76715f4a82f62e4c85
+Subproject 1bc659e9696d3ebff0860dc1209a935a9e9cc5e
diff --git a/src/image/ocr.c b/src/image/ocr.c
index 24325b4..f2fa918 100644
--- a/src/image/ocr.c
+++ b/src/image/ocr.c
@@ -15,8 +15,8 @@
#include <tesseract/capi.h>
-#include "libalx/base/errno/perror.h"
-#include "libalx/base/stddef/size.h"
+#include "libalx/base/errno/error.h"
+#include "libalx/base/compiler/size.h"
#include "vision-artificial/share/share.h"
#include "vision-artificial/image/iface.h"
diff --git a/src/main.cpp b/src/main.cpp
index f46999d..36ecbdd 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -9,7 +9,7 @@
******************************************************************************/
#include <cstdio>
-#include "libalx/base/stdio/wait.hpp"
+#include "libalx/base/stdio/seekc.hpp"
#include "libalx/extra/ncurses/common.hpp"
/* Workaround <ncurses.h> naming collision */
diff --git a/src/menu/tui.c b/src/menu/tui.c
index c5016bf..b0d6911 100644
--- a/src/menu/tui.c
+++ b/src/menu/tui.c
@@ -15,8 +15,8 @@
#include <ncurses.h>
-#include "libalx/base/stddef/size.h"
-#include "libalx/base/stdio/wait.h"
+#include "libalx/base/compiler/size.h"
+#include "libalx/base/stdio/seekc.h"
#include "libalx/extra/ncurses/common.h"
#include "libalx/extra/ncurses/get.h"
#include "libalx/extra/ncurses/menu.h"
diff --git a/src/proc/coins.cpp b/src/proc/coins.cpp
deleted file mode 100644
index 1d7e56d..0000000
--- a/src/proc/coins.cpp
+++ /dev/null
@@ -1,292 +0,0 @@
-/******************************************************************************
- * Copyright (C) 2018 Alejandro Colomar Andrés *
- * SPDX-License-Identifier: GPL-2.0-only *
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* headers **************************************************************
- ******************************************************************************/
-#include "vision-artificial/proc/coins.hpp"
-
-#include <cstdio>
-
-#include <opencv2/core/core.hpp>
-#include <opencv2/imgproc/imgproc.hpp>
-
-#include "libalx/base/stddef/size.hpp"
-#include "libalx/base/stdlib/average.hpp"
-#include "libalx/base/stdlib/maximum.hpp"
-
-#include "vision-artificial/image/iface.hpp"
-#include "vision-artificial/user/iface.hpp"
-#include "vision-artificial/proc/common.hpp"
-
-
-/******************************************************************************
- ******* macros ***************************************************************
- ******************************************************************************/
-#define COINS_MAX (0xFFF)
-
-#define COIN_DIAMETER_2E (25.75)
-#define COIN_DIAMETER_50c (24.25)
-#define COIN_DIAMETER_1E (23.25)
-#define COIN_DIAMETER_20c (22.25)
-#define COIN_DIAMETER_5c (21.25)
-#define COIN_DIAMETER_10c (19.75)
-#define COIN_DIAMETER_2c (18.75)
-#define COIN_DIAMETER_1c (16.25)
-
-
-/******************************************************************************
- ******* enums ****************************************************************
- ******************************************************************************/
-
-
-/******************************************************************************
- ******* structs / unions *****************************************************
- ******************************************************************************/
-struct Coins_Properties {
- ptrdiff_t x;
- ptrdiff_t y;
- uint8_t diameter_pix;
- double diameter_mm;
- double value;
-};
-
-
-/******************************************************************************
- ******* variables ************************************************************
- ******************************************************************************/
-/* Global --------------------------------------------------------------------*/
-/* Static --------------------------------------------------------------------*/
-static class std::vector <class std::vector <class cv::Point_ <int>>> contours;
-static class cv::Mat hierarchy;
-static class cv::Rect_ <int> rectangle[COINS_MAX];
-static ptrdiff_t coins_n;
-static struct Coins_Properties coins[COINS_MAX];
-static double ratio_mm_per_pix;
-static double value_total;
-
-
-/******************************************************************************
- ******* static functions (prototypes) ****************************************
- ******************************************************************************/
-static void result_coins (int status);
-
-static void coins_segmentate (void);
-static int coins_positions (void);
-static void coins_diameters_pix (void);
-static void calibrate_mm_per_pix (void);
-static void coins_diameters_mm (void);
-static int coins_values (void);
-static double coin_value (double diameter_mm);
-static void coins_total_value (void);
-
-
-/******************************************************************************
- ******* global functions *****************************************************
- ******************************************************************************/
-int proc_coins (void)
-{
- int status;
-
- proc_save_mem(0);
-
- /* Segmentate coins */
- clock_start();
- coins_segmentate();
- clock_stop("Segmentate coins");
-
- /* Find coins positions */
- clock_start();
- status = coins_positions();
- if (status) {
- result_coins(status);
- return status;
- }
- clock_stop("Find coins positions");
-
- /* Get coin diameters in pixels */
- clock_start();
- coins_diameters_pix();
- clock_stop("Coins diameters in pixels");
-
- /* Calibrate with the biggest coin; every img should have a 2 € coin */
- clock_start();
- calibrate_mm_per_pix();
- clock_stop("Calibrate (mm per pix)");
-
- /* Get coins diameters in mm */
- clock_start();
- coins_diameters_mm();
- clock_stop("Coins diameters in mm");
-
- /* Get coins values (by their sizes) */
- clock_start();
- status = coins_values();
- if (status) {
- result_coins(status);
- return status;
- }
- clock_stop("Coins values");
-
- /* Add total value */
- clock_start();
- coins_total_value();
- clock_stop("Total value");
-
- result_coins(COINS_OK);
- return 0;
-}
-
-
-/******************************************************************************
- ******* static functions (definitions) ***************************************
- ******************************************************************************/
-static void result_coins (int status)
-{
-
- switch (status) {
- case COINS_OK:
- user_iface_log_write(0, "Coin: OK");
- break;
- case COINS_NOK_COINS:
- user_iface_log_write(0, "Coin: NOK_COINS");
- break;
-#if 0
- case COINS_NOK_OVERLAP:
- user_iface_log_write(0, "Coin: NOK_OVERLAP");
- break;
-#endif
- case COINS_NOK_SIZE:
- user_iface_log_write(0, "Coin: NOK_SIZE");
- break;
- default:
- user_iface_log_write(0, "Coin: NOK");
- break;
- }
-}
-
-static void coins_segmentate (void)
-{
- proc_load_mem(0);
-
- proc_cmp(IMG_IFACE_CMP_BLUE);
- proc_threshold(cv::THRESH_BINARY_INV, IMG_IFACE_THR_OTSU);
- proc_distance_transform();
- proc_local_max();
- proc_dilate(1);
- proc_save_mem(1);
-}
-
-static int coins_positions (void)
-{
-
- proc_load_mem(1);
-
- proc_contours(&contours, &hierarchy);
- coins_n = contours.size();
- if (!coins_n)
- return COINS_NOK_COINS;
- for (ptrdiff_t i = 0; i < coins_n; i++) {
- proc_bounding_rect(&contours[i], &rectangle[i], true);
- coins[i].x = rectangle[i].x + rectangle[i].width / 2.0;
- coins[i].y = rectangle[i].y + rectangle[i].height / 2.0;
- }
-
- return 0;
-}
-
-static void coins_diameters_pix (void)
-{
-
- proc_load_mem(1);
- for (ptrdiff_t i = 0; i < coins_n; i++) {
- proc_pixel_get(coins[i].x, coins[i].y, &coins[i].diameter_pix);
- coins[i].diameter_pix *= 2;
- }
-}
-
-static void calibrate_mm_per_pix (void)
-{
- uint8_t coins_size_pix[coins_n];
- int max_pos;
- int max_size;
-
- for (ptrdiff_t i = 0; i < coins_n; i++)
- coins_size_pix[i] = coins[i].diameter_pix;
-
- max_pos = alx_maximum_u8(ARRAY_SIZE(coins_size_pix), coins_size_pix);
- max_size = coins_size_pix[max_pos];
- ratio_mm_per_pix = 25.75 / max_size;
-}
-
-static void coins_diameters_mm (void)
-{
- char txt[LOG_LINE_LEN];
-
- for (ptrdiff_t i = 0; i < coins_n; i++) {
- coins[i].diameter_mm = ratio_mm_per_pix * coins[i].diameter_pix;
- snprintf(txt, LOG_LINE_LEN, "Coin[%ti]: %.2lf mm",
- i, coins[i].diameter_mm);
- user_iface_log_write(0, txt);
- }
-}
-
-static int coins_values (void)
-{
- char txt[LOG_LINE_LEN];
-
- for (ptrdiff_t i = 0; i < coins_n; i++) {
- coins[i].value = coin_value(coins[i].diameter_mm);
- if (coins[i].value < 0)
- return COINS_NOK_SIZE;
- snprintf(txt, LOG_LINE_LEN, "Coin[%ti]: %.2lf EUR",
- i, coins[i].value);
- user_iface_log_write(0, txt);
- }
-
- return 0;
-}
-
-static double coin_value (double diameter_mm)
-{
-
- if (diameter_mm > (COIN_DIAMETER_2E + 1.5))
- return -1;
- if (diameter_mm > AVGfast(COIN_DIAMETER_2E, COIN_DIAMETER_50c))
- return 2.00;
- if (diameter_mm > AVGfast(COIN_DIAMETER_50c, COIN_DIAMETER_1E))
- return 0.50;
- if (diameter_mm > AVGfast(COIN_DIAMETER_1E, COIN_DIAMETER_20c))
- return 1.00;
- if (diameter_mm > AVGfast(COIN_DIAMETER_20c, COIN_DIAMETER_5c))
- return 0.20;
- if (diameter_mm > AVGfast(COIN_DIAMETER_5c, COIN_DIAMETER_10c))
- return 0.05;
- if (diameter_mm > AVGfast(COIN_DIAMETER_10c, COIN_DIAMETER_2c))
- return 0.10;
- if (diameter_mm > AVGfast(COIN_DIAMETER_2c, COIN_DIAMETER_1c))
- return 0.02;
- if (diameter_mm > (COIN_DIAMETER_1c - 1.5))
- return 0.01;
- return -1;
-}
-
-static void coins_total_value (void)
-{
- char txt[LOG_LINE_LEN];
-
- value_total = 0.00;
- for (ptrdiff_t i = 0; i < coins_n; i++)
- value_total += coins[i].value;
-
- snprintf(txt, LOG_LINE_LEN, "Total value: %.2lf EUR",value_total);
- user_iface_log_write(0, txt);
-}
-
-
-/******************************************************************************
- ******* end of file **********************************************************
- ******************************************************************************/
diff --git a/src/proc/common.cpp b/src/proc/common.cpp
index 26629c4..075787d 100644
--- a/src/proc/common.cpp
+++ b/src/proc/common.cpp
@@ -15,7 +15,7 @@
#include <opencv2/core/core.hpp>
-#include "libalx/base/stdio/wait.hpp"
+#include "libalx/base/stdio/seekc.hpp"
#include "vision-artificial/image/iface.hpp"
#include "vision-artificial/proc/iface.hpp"
diff --git a/src/proc/iface.c b/src/proc/iface.c
index 9790e1c..0b28691 100644
--- a/src/proc/iface.c
+++ b/src/proc/iface.c
@@ -16,12 +16,11 @@
#include <string.h>
#include <time.h>
-#include "libalx/base/stddef/size.h"
+#include "libalx/base/compiler/size.h"
#include "libalx/base/stdio/sscan.h"
-#include "libalx/base/stdio/wait.h"
+#include "libalx/base/stdio/seekc.h"
#include "vision-artificial/image/iface.h"
-#include "vision-artificial/proc/coins.h"
#include "vision-artificial/proc/common.h"
#include "vision-artificial/proc/label.h"
#include "vision-artificial/proc/lighters.h"
@@ -85,9 +84,6 @@ int proc_iface_single (int action)
case PROC_MODE_OBJECTS_SERIES:
error = proc_objects();
break;
- case PROC_MODE_COINS_SERIES:
- error = proc_coins();
- break;
case PROC_MODE_RESISTOR_SERIES:
error = proc_resistor();
break;
@@ -136,14 +132,6 @@ void proc_iface_series (void)
i = 0;
proc_mode++;
break;
- case PROC_MODE_COINS_SERIES:
- snprintf(proc_path, FILENAME_MAX, "%s", coins_path);
- snprintf(proc_fail_path, FILENAME_MAX, "%s", coins_fail_path);
- snprintf(file_basename, FILENAME_MAX, "c");
- num_len = 4;
- snprintf(file_ext, FILENAME_MAX, ".jpeg");
- i = 1;
- break;
case PROC_MODE_RESISTOR_SERIES:
snprintf(proc_path, FILENAME_MAX, "%s", resistors_path);
snprintf(proc_fail_path, FILENAME_MAX,"%s",resistors_fail_path);
diff --git a/src/proc/resistor.cpp b/src/proc/resistor.cpp
index 01082cb..0f60b17 100644
--- a/src/proc/resistor.cpp
+++ b/src/proc/resistor.cpp
@@ -16,7 +16,7 @@
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
-#include "libalx/base/stddef/size.hpp"
+#include "libalx/base/compiler/size.hpp"
#include "vision-artificial/image/iface.hpp"
#include "vision-artificial/proc/common.hpp"
diff --git a/src/save/save.cpp b/src/save/save.cpp
index bf2cab4..802bf9d 100644
--- a/src/save/save.cpp
+++ b/src/save/save.cpp
@@ -19,7 +19,7 @@
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
-#include "libalx/base/stddef/restrict.hpp"
+#include "libalx/base/compiler/restrict.hpp"
#include "vision-artificial/user/iface.hpp"
diff --git a/src/share/share.c b/src/share/share.c
index 4d69823..21c5432 100644
--- a/src/share/share.c
+++ b/src/share/share.c
@@ -13,8 +13,8 @@
#include <stdio.h>
#include <stdlib.h>
-#include "libalx/base/errno/perror.h"
-#include "libalx/base/stddef/size.h"
+#include "libalx/base/errno/error.h"
+#include "libalx/base/compiler/size.h"
/******************************************************************************
diff --git a/src/user/clui.c b/src/user/clui.c
index 8c3c7ec..7412bb8 100644
--- a/src/user/clui.c
+++ b/src/user/clui.c
@@ -12,9 +12,9 @@
#include <stdio.h>
#include <string.h>
-#include "libalx/base/stddef/size.h"
+#include "libalx/base/compiler/size.h"
#include "libalx/base/stdio/get.h"
-#include "libalx/base/stdio/wait.h"
+#include "libalx/base/stdio/seekc.h"
#include "vision-artificial/image/iface.h"
#include "vision-artificial/user/iface.h"
diff --git a/src/user/tui.c b/src/user/tui.c
index 688bf8c..15d84db 100644
--- a/src/user/tui.c
+++ b/src/user/tui.c
@@ -12,7 +12,7 @@
#include <inttypes.h>
#include <ncurses.h>
-#include "libalx/base/stdio/wait.h"
+#include "libalx/base/stdio/seekc.h"
#include "libalx/extra/ncurses/common.h"
#include "libalx/extra/ncurses/get.h"
diff --git a/tmp/Makefile b/tmp/Makefile
index e52e98d..0120267 100644
--- a/tmp/Makefile
+++ b/tmp/Makefile
@@ -16,7 +16,7 @@ OBJ = \
main.o
MAIN_INC = \
- $(LIBALX_INC_DIR)/libalx/base/stdio/wait.hpp \
+ $(LIBALX_INC_DIR)/libalx/base/stdio/seekc.hpp \
$(LIBALX_INC_DIR)/libalx/extra/ncurses/common.hpp \
$(INC_DIR)/vision-artificial/image/iface.hpp \
$(INC_DIR)/vision-artificial/menu/iface.hpp \
diff --git a/tmp/image/Makefile b/tmp/image/Makefile
index ca859d0..6d830a9 100644
--- a/tmp/image/Makefile
+++ b/tmp/image/Makefile
@@ -56,8 +56,8 @@ IFACE_SRC = \
OCR_INC = \
$(INC_DIR)/vision-artificial/image/ocr.h \
- $(LIBALX_INC_DIR)/libalx/base/errno/perror.hpp \
- $(LIBALX_INC_DIR)/libalx/base/stddef/size.hpp \
+ $(LIBALX_INC_DIR)/libalx/base/errno/error.hpp \
+ $(LIBALX_INC_DIR)/libalx/base/compiler/size.hpp \
$(INC_DIR)/vision-artificial/image/iface.h \
$(INC_DIR)/vision-artificial/share/share.h
OCR_SRC = \
diff --git a/tmp/menu/Makefile b/tmp/menu/Makefile
index e27f83a..577e262 100644
--- a/tmp/menu/Makefile
+++ b/tmp/menu/Makefile
@@ -45,8 +45,8 @@ PARSE_SRC = \
TUI_INC = \
$(INC_DIR)/vision-artificial/menu/tui.h \
- $(LIBALX_INC_DIR)/libalx/base/stddef/size.h \
- $(LIBALX_INC_DIR)/libalx/base/stdio/wait.h \
+ $(LIBALX_INC_DIR)/libalx/base/compiler/size.h \
+ $(LIBALX_INC_DIR)/libalx/base/stdio/seekc.h \
$(LIBALX_INC_DIR)/libalx/extra/ncurses/common.h \
$(LIBALX_INC_DIR)/libalx/extra/ncurses/get.h \
$(LIBALX_INC_DIR)/libalx/extra/ncurses/menu.h \
diff --git a/tmp/proc/Makefile b/tmp/proc/Makefile
index d36ee82..af9638e 100644
--- a/tmp/proc/Makefile
+++ b/tmp/proc/Makefile
@@ -13,7 +13,6 @@
# dependencies
OBJ = \
- coins.o \
common.o \
iface.o \
label.o \
@@ -21,20 +20,9 @@ OBJ = \
objects.o \
resistor.o
-COINS_INC = \
- $(INC_DIR)/vision-artificial/proc/coins.hpp \
- $(LIBALX_INC_DIR)/libalx/base/stddef/size.hpp \
- $(LIBALX_INC_DIR)/libalx/base/stdlib/average.hpp \
- $(LIBALX_INC_DIR)/libalx/base/stdlib/maximum.hpp \
- $(INC_DIR)/vision-artificial/image/iface.hpp \
- $(INC_DIR)/vision-artificial/proc/common.hpp \
- $(INC_DIR)/vision-artificial/user/iface.hpp
-COINS_SRC = \
- $(SRC_DIR)/proc/coins.cpp
-
COMMON_INC = \
$(INC_DIR)/vision-artificial/proc/common.hpp \
- $(LIBALX_INC_DIR)/libalx/base/stdio/wait.hpp \
+ $(LIBALX_INC_DIR)/libalx/base/stdio/seekc.hpp \
$(INC_DIR)/vision-artificial/image/iface.hpp \
$(INC_DIR)/vision-artificial/proc/iface.hpp \
$(INC_DIR)/vision-artificial/user/iface.hpp
@@ -43,11 +31,10 @@ COMMON_SRC = \
IFACE_INC = \
$(INC_DIR)/vision-artificial/proc/iface.h \
- $(LIBALX_INC_DIR)/libalx/base/stddef/size.h \
+ $(LIBALX_INC_DIR)/libalx/base/compiler/size.h \
$(LIBALX_INC_DIR)/libalx/base/stdio/sscan.h \
- $(LIBALX_INC_DIR)/libalx/base/stdio/wait.h \
+ $(LIBALX_INC_DIR)/libalx/base/stdio/seekc.h \
$(INC_DIR)/vision-artificial/image/iface.h \
- $(INC_DIR)/vision-artificial/proc/coins.h \
$(INC_DIR)/vision-artificial/proc/common.h \
$(INC_DIR)/vision-artificial/proc/label.h \
$(INC_DIR)/vision-artificial/proc/lighters.h \
@@ -87,7 +74,7 @@ OBJECTS_SRC = \
RESISTOR_INC = \
$(INC_DIR)/vision-artificial/proc/resistor.hpp \
- $(LIBALX_INC_DIR)/libalx/base/stddef/size.hpp \
+ $(LIBALX_INC_DIR)/libalx/base/compiler/size.hpp \
$(INC_DIR)/vision-artificial/image/iface.hpp \
$(INC_DIR)/vision-artificial/proc/common.hpp \
$(INC_DIR)/vision-artificial/user/iface.hpp
diff --git a/tmp/save/Makefile b/tmp/save/Makefile
index 7326870..9c7a00b 100644
--- a/tmp/save/Makefile
+++ b/tmp/save/Makefile
@@ -17,7 +17,7 @@ OBJ = \
SAVE_INC = \
$(INC_DIR)/vision-artificial/save/save.hpp \
- $(LIBALX_INC_DIR)/libalx/base/stddef/restrict.hpp \
+ $(LIBALX_INC_DIR)/libalx/base/compiler/restrict.hpp \
$(INC_DIR)/vision-artificial/user/iface.hpp
SAVE_SRC = \
$(SRC_DIR)/save/save.cpp
diff --git a/tmp/share/Makefile b/tmp/share/Makefile
index 0ae1f47..1354f1c 100644
--- a/tmp/share/Makefile
+++ b/tmp/share/Makefile
@@ -17,7 +17,7 @@ OBJ = \
SHARE_INC = \
$(INC_DIR)/vision-artificial/share/share.h \
- $(LIBALX_INC_DIR)/libalx/base/stddef/size.h
+ $(LIBALX_INC_DIR)/libalx/base/compiler/size.h
SHARE_SRC = \
$(SRC_DIR)/share/share.c
diff --git a/tmp/user/Makefile b/tmp/user/Makefile
index e06b3db..937bd76 100644
--- a/tmp/user/Makefile
+++ b/tmp/user/Makefile
@@ -21,7 +21,7 @@ CLUI_INC = \
$(INC_DIR)/vision-artificial/user/clui.h \
$(LIBALX_INC_DIR)/libalx/base/stdlib/swap.h \
$(LIBALX_INC_DIR)/libalx/base/stdio/get.h \
- $(LIBALX_INC_DIR)/libalx/base/stdio/wait.h \
+ $(LIBALX_INC_DIR)/libalx/base/stdio/seekc.h \
$(INC_DIR)/vision-artificial/image/iface.h \
$(INC_DIR)/vision-artificial/user/iface.h
CLUI_SRC = \
@@ -39,7 +39,7 @@ IFACE_SRC = \
TUI_INC = \
$(INC_DIR)/vision-artificial/user/tui.h \
- $(LIBALX_INC_DIR)/libalx/base/stdio/wait.h \
+ $(LIBALX_INC_DIR)/libalx/base/stdio/seekc.h \
$(LIBALX_INC_DIR)/libalx/extra/ncurses/common.h \
$(LIBALX_INC_DIR)/libalx/extra/ncurses/get.h \
$(INC_DIR)/vision-artificial/image/iface.h \