Skip to content
This repository was archived by the owner on Aug 6, 2023. It is now read-only.

Commit d652077

Browse files
committed
remove gsl; downgrade to c++11
1 parent 18e5d50 commit d652077

File tree

12 files changed

+34
-56
lines changed

12 files changed

+34
-56
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22
/.vscode
33
/cpm_modules
44
/.cache
5+
/.trunk
6+
/.xmake
57
.DS_Store

.trunk/.gitignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

.trunk/trunk.yaml

Lines changed: 0 additions & 14 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ option(INSTALL_ONLY "Enable for installation only" OFF)
1212
# Note: update this to your new project's name and version
1313
project(
1414
LmiSolver
15-
VERSION 1.3.7
15+
VERSION 1.3.8
1616
LANGUAGES CXX
1717
)
1818

bench/BM_lmi.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ template <typename Oracle> class my_oracle {
3434
* @param[in] B2
3535
* @param[in] c
3636
*/
37-
my_oracle(size_t m1, gsl::span<const Matrix> F1, const Matrix &B1, size_t m2,
38-
gsl::span<const Matrix> F2, const Matrix &B2, Vec c)
37+
my_oracle(size_t m1, const std::vector<Matrix> &F1, const Matrix &B1,
38+
size_t m2, const std::vector<Matrix> &F2, const Matrix &B2, Vec c)
3939
: lmi1{m1, F1, B1}, lmi2{m2, F2, B2}, c{std::move(c)} {}
4040

4141
/**

include/lmisolver/lmi0_oracle.hpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
#pragma once
33

44
#include "ldlt_ext.hpp"
5-
#include <gsl/span>
5+
// #include <gsl/span>
66
#include <memory> // for unique_ptr
7+
#include <vector>
78

89
/**
910
* @brief Oracle for Linear Matrix Inequality.
@@ -20,7 +21,7 @@ template <typename Arr036, typename Mat = Arr036> class Lmi0Oracle {
2021
ldlt_ext _Q;
2122

2223
private:
23-
const gsl::span<const Mat> _F;
24+
const std::vector<Mat> &_F;
2425
std::unique_ptr<Cut> cut;
2526

2627
public:
@@ -30,8 +31,8 @@ template <typename Arr036, typename Mat = Arr036> class Lmi0Oracle {
3031
* @param[in] F
3132
* @param[in] dim
3233
*/
33-
Lmi0Oracle(size_t dim, gsl::span<const Mat> F)
34-
: _Q(dim), _F{F}, cut{std::make_unique<Cut>()} {}
34+
Lmi0Oracle(size_t dim, const std::vector<Mat> &F)
35+
: _Q(dim), _F{F}, cut{std::unique_ptr<Cut>(new Cut{})} {}
3536

3637
/**
3738
* @brief

include/lmisolver/lmi_old_oracle.hpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
#pragma once
33

44
#include "ldlt_ext.hpp"
5-
#include <gsl/span>
5+
// #include <gsl/span>
66
#include <memory> // for unique_ptr
7+
#include <vector>
78

89
/**
910
* @brief Oracle for Linear Matrix Inequality.
@@ -19,7 +20,7 @@ template <typename Arr036, typename Mat = Arr036> class LmiOldOracle {
1920
private:
2021
size_t _m;
2122
ldlt_ext _Q;
22-
const gsl::span<const Mat> _F;
23+
const std::vector<Mat> &_F;
2324
const Mat _F0;
2425
std::unique_ptr<Cut> cut;
2526

@@ -30,9 +31,9 @@ template <typename Arr036, typename Mat = Arr036> class LmiOldOracle {
3031
* @param[in] F
3132
* @param[in] B
3233
*/
33-
LmiOldOracle(size_t dim, gsl::span<const Mat> F, Mat B)
34-
: _m{dim},
35-
_Q(_m), _F{F}, _F0{std::move(B)}, cut{std::make_unique<Cut>()} {}
34+
LmiOldOracle(size_t dim, const std::vector<Mat> &F, Mat B)
35+
: _m{dim}, _Q{dim}, _F{F}, _F0{std::move(B)}, cut{std::unique_ptr<Cut>(
36+
new Cut{})} {}
3637

3738
/**
3839
* @brief

include/lmisolver/lmi_oracle.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
#pragma once
33

44
#include "ldlt_ext.hpp"
5-
#include <gsl/span>
5+
// #include <gsl/span>
66
#include <memory> // for unique_ptr
7+
#include <vector>
78

89
/**
910
* @brief Oracle for Linear Matrix Inequality.
@@ -18,7 +19,7 @@ template <typename Arr036, typename Mat = Arr036> class LmiOracle {
1819

1920
private:
2021
ldlt_ext _Q;
21-
const gsl::span<const Mat> _F;
22+
const std::vector<Mat> &_F;
2223
const Mat _F0;
2324
std::unique_ptr<Cut> cut;
2425

@@ -29,8 +30,9 @@ template <typename Arr036, typename Mat = Arr036> class LmiOracle {
2930
* @param[in] F
3031
* @param[in] B
3132
*/
32-
LmiOracle(size_t dim, gsl::span<const Mat> F, Mat B)
33-
: _Q{dim}, _F{F}, _F0{std::move(B)}, cut{std::make_unique<Cut>()} {}
33+
LmiOracle(size_t dim, const std::vector<Mat> &F, Mat B)
34+
: _Q{dim}, _F{F}, _F0{std::move(B)}, cut{std::unique_ptr<Cut>(
35+
new Cut{})} {}
3436

3537
/**
3638
* @brief

specific.cmake

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ CPMAddPackage(
77

88
CPMAddPackage(
99
NAME EllAlgo
10-
GIT_TAG 1.3.6
10+
GIT_TAG 1.3.8
1111
GITHUB_REPOSITORY luk036/ellalgo-cpp
1212
OPTIONS "INSTALL_ONLY YES" # create an installable target
1313
)
1414

15-
CPMAddPackage("gh:microsoft/GSL@3.1.0")
15+
# CPMAddPackage("gh:microsoft/GSL@3.1.0")
1616

17-
set(SPECIFIC_LIBS EllAlgo::EllAlgo fmt::fmt GSL)
17+
set(SPECIFIC_LIBS EllAlgo::EllAlgo fmt::fmt)

0 commit comments

Comments
 (0)