String和stdio支持 #2

Merged
ArchZer0 merged 5 commits from archzero_dev into main 2026-08-16 16:57:13 +08:00
11 changed files with 48 additions and 37 deletions
Showing only changes of commit c145fa8d05 - Show all commits
+4 -4
View File
@@ -4,8 +4,8 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# 定义源文件 # 定义源文件
set(BETTERSTL_SOURCES set(BETTERSTL_SOURCES
src/BigInteger.cpp src/big_integer.cpp
src/BigDecimal.cpp) src/big_decimal.cpp)
# 生成静态库 (.a 文件) # 生成静态库 (.a 文件)
add_library(BetterSTL_static STATIC ${BETTERSTL_SOURCES}) add_library(BetterSTL_static STATIC ${BETTERSTL_SOURCES})
@@ -26,12 +26,12 @@ add_library(BetterSTL ALIAS BetterSTL_static)
enable_testing() enable_testing()
add_executable(BigIntegerTests tests/BigIntegerTest.cpp) add_executable(BigIntegerTests tests/big_integer_test.cpp)
target_include_directories(BigIntegerTests PRIVATE include) target_include_directories(BigIntegerTests PRIVATE include)
target_link_libraries(BigIntegerTests PRIVATE BetterSTL_static) target_link_libraries(BigIntegerTests PRIVATE BetterSTL_static)
add_test(NAME BigIntegerTests COMMAND BigIntegerTests) add_test(NAME BigIntegerTests COMMAND BigIntegerTests)
add_executable(BigDecimalTests tests/BigDecimalTest.cpp) add_executable(BigDecimalTests tests/big_decimal_test.cpp)
target_include_directories(BigDecimalTests PRIVATE include) target_include_directories(BigDecimalTests PRIVATE include)
target_link_libraries(BigDecimalTests PRIVATE BetterSTL_static) target_link_libraries(BigDecimalTests PRIVATE BetterSTL_static)
add_test(NAME BigDecimalTests COMMAND BigDecimalTests) add_test(NAME BigDecimalTests COMMAND BigDecimalTests)
-7
View File
@@ -1,7 +0,0 @@
#pragma once
#include<BigDecimal.hpp>
#include<BigInteger.hpp>
#include <bstlint.hpp>
#ifndef BETTERSTL_BSTL_HPP
#define BETTERSTL_BSTL_HPP
#endif //BETTERSTL_BSTL_HPP
@@ -1,10 +1,10 @@
#pragma once #ifndef BETTERSTL_BIG_DECIMAL_H
#define BETTERSTL_BIG_DECIMAL_H
#include <string> #include <string>
#include "BigInteger.hpp" #include <bstl/big_integer.hpp>
namespace bstl { namespace bstl {
class BigDecimal { class BigDecimal {
public: public:
BigDecimal(); BigDecimal();
@@ -70,3 +70,5 @@ private:
}; };
} // namespace bstl } // namespace bstl
#endif //BETTERSTL_BIG_DECIMAL_H
@@ -1,4 +1,5 @@
#pragma once #ifndef BETTERSTL_BIG_INTEGER_HPP
#define BETTERSTL_BIG_INTEGER_HPP
#include <string> #include <string>
@@ -64,6 +65,6 @@ private:
static std::string divAbs(const std::string& a, const std::string& b); static std::string divAbs(const std::string& a, const std::string& b);
}; };
using BitInteger = BigInteger;
} // namespace bstl } // namespace bstl
#endif //BETTERSTL_BIG_INTEGER_HPP
+7
View File
@@ -0,0 +1,7 @@
#ifndef BETTERSTL_BIG_NUMBERS_HPP
#define BETTERSTL_BIG_NUMBERS_HPP
#include <bstl/biginteger.hpp>
#include <bstl/bigdecimal.hpp>
#endif // BETTERSTL_BIG_NUMBERS_HPP
+8
View File
@@ -0,0 +1,8 @@
#ifndef BETTERSTL_BSTL_HPP
#include<bstl/big_decimal.hpp>
#include<bstl/big_integer.hpp>
#include <bstl/bstlint.hpp>
#define BETTERSTL_BSTL_HPP
#endif //BETTERSTL_BSTL_HPP
+1 -1
View File
@@ -1,4 +1,4 @@
#include "BigDecimal.hpp" #include <bstl/big_decimal.hpp>
#include <stdexcept> #include <stdexcept>
#include <sstream> #include <sstream>
+1 -1
View File
@@ -1,4 +1,4 @@
#include "BigInteger.hpp" #include <bstl/big_integer.hpp>
#include <algorithm> #include <algorithm>
#include <stdexcept> #include <stdexcept>
@@ -1,4 +1,4 @@
#include <BigDecimal.hpp> #include <bstl/big_decimal.hpp>
#include <cassert> #include <cassert>
#include <iostream> #include <iostream>
@@ -1,4 +1,4 @@
#include <BigInteger.hpp> #include <bstl/big_integer.hpp>
#include <cassert> #include <cassert>
#include <iostream> #include <iostream>