mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
152 lines
4.9 KiB
Diff
152 lines
4.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Tyler Veness <calcmogul@gmail.com>
|
|
Date: Wed, 29 May 2024 16:29:55 -0700
|
|
Subject: [PATCH 1/8] Use fmtlib
|
|
|
|
---
|
|
include/.styleguide | 1 +
|
|
include/sleipnir/util/assert.hpp | 5 +++--
|
|
include/sleipnir/util/print.hpp | 31 ++++++++++++++++++-------------
|
|
src/.styleguide | 1 +
|
|
src/optimization/problem.cpp | 1 +
|
|
5 files changed, 24 insertions(+), 15 deletions(-)
|
|
|
|
diff --git a/include/.styleguide b/include/.styleguide
|
|
index 1b6652d3d5886cf8c9eca0d855c21031775bad7c..4f4c76204071f90bf49eddb8c2aceb583b5e09ba 100644
|
|
--- a/include/.styleguide
|
|
+++ b/include/.styleguide
|
|
@@ -8,5 +8,6 @@ cppSrcFileInclude {
|
|
|
|
includeOtherLibs {
|
|
^Eigen/
|
|
+ ^fmt/
|
|
^gch/
|
|
}
|
|
diff --git a/include/sleipnir/util/assert.hpp b/include/sleipnir/util/assert.hpp
|
|
index 75d8ffca32accbf66ffce30f073de1db2f42469b..53de01928b929793fa77885ec4a6d1a928bdc5a9 100644
|
|
--- a/include/sleipnir/util/assert.hpp
|
|
+++ b/include/sleipnir/util/assert.hpp
|
|
@@ -3,9 +3,10 @@
|
|
#pragma once
|
|
|
|
#ifdef JORMUNGANDR
|
|
-#include <format>
|
|
#include <source_location>
|
|
#include <stdexcept>
|
|
+
|
|
+#include <fmt/format.h>
|
|
/**
|
|
* Throw an exception in Python.
|
|
*/
|
|
@@ -13,7 +14,7 @@
|
|
do { \
|
|
if (!(condition)) { \
|
|
auto location = std::source_location::current(); \
|
|
- throw std::invalid_argument(std::format( \
|
|
+ throw std::invalid_argument(fmt::format( \
|
|
"{}:{}: {}: Assertion `{}' failed.", location.file_name(), \
|
|
location.line(), location.function_name(), #condition)); \
|
|
} \
|
|
diff --git a/include/sleipnir/util/print.hpp b/include/sleipnir/util/print.hpp
|
|
index fe430352dabf4cd6a890dc8007237c7a261dfd4b..055d5c9fa246201f1d8ae7ddca00b1159aeb2a57 100644
|
|
--- a/include/sleipnir/util/print.hpp
|
|
+++ b/include/sleipnir/util/print.hpp
|
|
@@ -4,10 +4,15 @@
|
|
|
|
#ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
|
|
#include <cstdio>
|
|
-#include <print>
|
|
#include <system_error>
|
|
#include <utility>
|
|
|
|
+#if __has_include(<fmt/base.h>)
|
|
+#include <fmt/base.h>
|
|
+#else
|
|
+#include <fmt/core.h>
|
|
+#endif
|
|
+
|
|
#endif
|
|
|
|
namespace slp {
|
|
@@ -15,45 +20,45 @@ namespace slp {
|
|
#ifndef SLEIPNIR_DISABLE_DIAGNOSTICS
|
|
|
|
/**
|
|
- * Wrapper around std::print() that squelches write failure exceptions.
|
|
+ * Wrapper around fmt::print() that squelches write failure exceptions.
|
|
*/
|
|
template <typename... T>
|
|
-inline void print(std::format_string<T...> fmt, T&&... args) {
|
|
+inline void print(fmt::format_string<T...> fmt, T&&... args) {
|
|
try {
|
|
- std::print(fmt, std::forward<T>(args)...);
|
|
+ fmt::print(fmt, std::forward<T>(args)...);
|
|
} catch (const std::system_error&) {
|
|
}
|
|
}
|
|
|
|
/**
|
|
- * Wrapper around std::print() that squelches write failure exceptions.
|
|
+ * Wrapper around fmt::print() that squelches write failure exceptions.
|
|
*/
|
|
template <typename... T>
|
|
-inline void print(std::FILE* f, std::format_string<T...> fmt, T&&... args) {
|
|
+inline void print(std::FILE* f, fmt::format_string<T...> fmt, T&&... args) {
|
|
try {
|
|
- std::print(f, fmt, std::forward<T>(args)...);
|
|
+ fmt::print(f, fmt, std::forward<T>(args)...);
|
|
} catch (const std::system_error&) {
|
|
}
|
|
}
|
|
|
|
/**
|
|
- * Wrapper around std::println() that squelches write failure exceptions.
|
|
+ * Wrapper around fmt::println() that squelches write failure exceptions.
|
|
*/
|
|
template <typename... T>
|
|
-inline void println(std::format_string<T...> fmt, T&&... args) {
|
|
+inline void println(fmt::format_string<T...> fmt, T&&... args) {
|
|
try {
|
|
- std::println(fmt, std::forward<T>(args)...);
|
|
+ fmt::println(fmt, std::forward<T>(args)...);
|
|
} catch (const std::system_error&) {
|
|
}
|
|
}
|
|
|
|
/**
|
|
- * Wrapper around std::println() that squelches write failure exceptions.
|
|
+ * Wrapper around fmt::println() that squelches write failure exceptions.
|
|
*/
|
|
template <typename... T>
|
|
-inline void println(std::FILE* f, std::format_string<T...> fmt, T&&... args) {
|
|
+inline void println(std::FILE* f, fmt::format_string<T...> fmt, T&&... args) {
|
|
try {
|
|
- std::println(f, fmt, std::forward<T>(args)...);
|
|
+ fmt::println(f, fmt, std::forward<T>(args)...);
|
|
} catch (const std::system_error&) {
|
|
}
|
|
}
|
|
diff --git a/src/.styleguide b/src/.styleguide
|
|
index 1b6652d3d5886cf8c9eca0d855c21031775bad7c..4f4c76204071f90bf49eddb8c2aceb583b5e09ba 100644
|
|
--- a/src/.styleguide
|
|
+++ b/src/.styleguide
|
|
@@ -8,5 +8,6 @@ cppSrcFileInclude {
|
|
|
|
includeOtherLibs {
|
|
^Eigen/
|
|
+ ^fmt/
|
|
^gch/
|
|
}
|
|
diff --git a/src/optimization/problem.cpp b/src/optimization/problem.cpp
|
|
index c3331197e2365934273f57422b79fa18c2b78a5b..09828cdb6d7cddff692b9d17603dc0c11cd5a3ec 100644
|
|
--- a/src/optimization/problem.cpp
|
|
+++ b/src/optimization/problem.cpp
|
|
@@ -11,6 +11,7 @@
|
|
|
|
#include <Eigen/Core>
|
|
#include <Eigen/SparseCore>
|
|
+#include <fmt/chrono.h>
|
|
#include <gch/small_vector.hpp>
|
|
|
|
#include "optimization/bounds.hpp"
|