diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-24 09:33:51 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-24 09:33:51 +0200 |
| commit | d02bd0eb656b885bdf48088529183c40df8bd9c1 (patch) | |
| tree | 799a8b5ff0c55978235d7c8bf69e2940d427c5f3 | |
| parent | 3c50f5e98f28be7a9909c02172da6e627fd2b665 (diff) | |
feat: lib: micro-optimizations and improvements.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
| -rw-r--r-- | dev/lib/logic/equiv.hpp | 10 | ||||
| -rw-r--r-- | dev/lib/memory/tracked_ptr.hpp | 6 | ||||
| -rw-r--r-- | dev/lib/utility/cgi_writer.hpp | 14 |
3 files changed, 19 insertions, 11 deletions
diff --git a/dev/lib/logic/equiv.hpp b/dev/lib/logic/equiv.hpp index 2f63673..75fd8ee 100644 --- a/dev/lib/logic/equiv.hpp +++ b/dev/lib/logic/equiv.hpp @@ -7,6 +7,7 @@ #pragma once +/// @brief SOCL equivalence namespace. namespace snu::equiv { template <typename T> @@ -59,7 +60,7 @@ namespace snu::equiv struct equiv_is_int8 { private: - T left_ = 255, right_ = 255; + T left_ = 127, right_ = 127; public: using result = T; @@ -74,7 +75,8 @@ namespace snu::equiv struct equiv_not_int8 { private: - T left_ = 255, right_ = 255; + // these shall overflow if not int8. + T left_ = 127, right_ = 127; public: using result = T; @@ -96,7 +98,7 @@ namespace snu::equiv constexpr result hash() { - return left_ / right_; + return left_ / right_ == 1; } }; -} // namespace snu::equiv
\ No newline at end of file +} // namespace snu::equiv diff --git a/dev/lib/memory/tracked_ptr.hpp b/dev/lib/memory/tracked_ptr.hpp index 2607b5b..da7e46c 100644 --- a/dev/lib/memory/tracked_ptr.hpp +++ b/dev/lib/memory/tracked_ptr.hpp @@ -194,9 +194,9 @@ namespace snu::memory }; template <typename T> - inline auto make_tracked(T arg) -> tracked_ptr<T> + inline auto make_tracked() -> tracked_ptr<T> { - return tracked_ptr<T>(std::forward<T>(arg)); + return tracked_ptr<T>(); } template <typename U, typename... T> @@ -220,4 +220,4 @@ namespace snu::memory ::kill(::getpid(), SIGTRAP); } } -} // namespace snu::memory
\ No newline at end of file +} // namespace snu::memory diff --git a/dev/lib/utility/cgi_writer.hpp b/dev/lib/utility/cgi_writer.hpp index 2c30adf..69d0170 100644 --- a/dev/lib/utility/cgi_writer.hpp +++ b/dev/lib/utility/cgi_writer.hpp @@ -4,8 +4,8 @@ * Copyright 2023-2025, Amlal El Mahrouss. */ -#ifndef _SNU_CGI_HPP -#define _SNU_CGI_HPP +#ifndef _SNU_CGI_WRITER_HPP +#define _SNU_CGI_WRITER_HPP #include <cstdio> #include <string> @@ -25,7 +25,13 @@ namespace snu std::printf("Content-Type: %s\r\n", mime.c_str()); std::printf("Server: %s\r\n", "socl-cgi-system"); std::printf("Content-Length: %ld\r\n\r\n", ss.str().size()); - std::printf("%s", ss.str().c_str()); + + auto ss_cc = ss.str(); + + for (auto& ch : ss_cc) + { + std::printf("%c", ch); + } return *this; } @@ -66,4 +72,4 @@ namespace snu } // namespace cgi } // namespace snu -#endif // ifndef _SNU_CGI_HPP
\ No newline at end of file +#endif // ifndef _SNU_CGI_WRITER_HPP |
