Skip to content

Commit b616a93

Browse files
committed
release of v0.11.0
1 parent e1f4050 commit b616a93

File tree

3 files changed

+43
-16
lines changed

3 files changed

+43
-16
lines changed

README.md

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -238,24 +238,22 @@ Remember, this is a c++20 library, so that needs to be the minimum standard that
238238
239239
## Status
240240
241-
Current version: `v0.10.8`
241+
Current version: `v0.11.0`
242242
243243
* **All the intended vector and matrix functionality from the GLSL specification is implemented.** We keep refining the implementation, and we keep expanding the API to better support ```c++20``` idioms and usage as we go.
244244
* First pass at test coverage. Everything major has some tests, but code coverage is not 100%.
245-
* We need much better API documentation, including examples.
246-
* We need better ```cmake``` support.
247-
* [Released v0.10.0](https://github.com/davidbrowne/dsga/releases/tag/v0.10.0)
245+
* [Released v0.11.0](https://github.com/davidbrowne/dsga/releases/tag/v0.11.0)
248246
249247
### The next steps
250-
* Example projects: need small, medium, and large examples. The quick peek at the top of this page is a start, as is a [more detailed generic version of the example](docs/DETAILS.md#detailed-generic-example).
251-
* Detailed API documentation.
252-
* Extend ```cmake``` support. Separate the out the testing aspect, and add support declaring a header-only library.
248+
* Working on much better API documentation.
249+
* Working on extended example of STL file conversion.
250+
* Working on better ```cmake``` support.
253251
254252
Once we have detailed API documentation and better ```cmake``` support, we can think about releasing a v1.0 version.
255253
256254
## Usage
257255
258-
Use it more or less like you would use vectors and matrices in a shader program, but not necessarily for shading. We hope to be able to use it for rapid development of geometric algorithms.
256+
Use it more or less like you would use vectors and matrices in a shader program, but not necessarily for shading. We hope to be able to use it for rapid development of geometric algorithms. See the [examples](examples) directory.
259257
260258
The [documentation](docs/DOCUMENTATION.md) explains more about how the vector and matrix classes work, and describes the API.
261259
@@ -271,7 +269,7 @@ The tests have been most recently run on:
271269
272270
### Windows 11 Native
273271
274-
* **MSVC 2022 - v17.5**
272+
* **MSVC 2022 - v17.5.5**
275273
276274
```
277275
[doctest] doctest version is "2.4.11"
@@ -283,6 +281,7 @@ The tests have been most recently run on:
283281
```
284282
285283
* **gcc 12.2.0** on Windows, [MinGW](https://github.com/niXman/mingw-builds-binaries) distribution:
284+
* **gcc 13.1.0** on Windows, [WinLibs MinGW](https://winlibs.com/) distribution:
286285
287286
```
288287
[doctest] doctest version is "2.4.11"
@@ -293,7 +292,7 @@ The tests have been most recently run on:
293292
[doctest] Status: SUCCESS!
294293
```
295294
296-
* **clang 16.0.3** on Windows, [official binaries](https://github.com/llvm/llvm-project/releases/tag/llvmorg-16.0.3), with MSVC installed:
295+
* **clang 16.0.3** on Windows, [official binaries](https://github.com/llvm/llvm-project/releases/tag/llvmorg-16.0.3), with MSVC and/or gcc v13.1.0 installed:
297296
298297
Performs all the unit tests except where there is lack of support for ```std::is_corresponding_member<>```, and this is protected with a feature test macro.
299298
@@ -306,7 +305,7 @@ Performs all the unit tests except where there is lack of support for ```std::is
306305
[doctest] Status: SUCCESS!
307306
```
308307
309-
### Mint LMDE 5 running in WSL2 for Windows 11
308+
### Ubuntu Mantic Minotaur preview running in WSL2 for Windows 11
310309
311310
* **gcc 13.1.0**
312311
@@ -319,6 +318,19 @@ Performs all the unit tests except where there is lack of support for ```std::is
319318
[doctest] Status: SUCCESS!
320319
```
321320
321+
* **clang 16.0.0**
322+
323+
Performs all the unit tests except where there is lack of support for ```std::is_corresponding_member<>```, and this is protected with a feature test macro.
324+
325+
```
326+
[doctest] doctest version is "2.4.11"
327+
[doctest] run with "--help" for options
328+
===============================================================================
329+
[doctest] test cases: 100 | 100 passed | 0 failed | 0 skipped
330+
[doctest] assertions: 2381 | 2381 passed | 0 failed |
331+
[doctest] Status: SUCCESS!
332+
```
333+
322334
### Ubuntu 22.04 running in WSL2 for Windows 11
323335
324336
* **gcc 12.1.0**

include/dsga.hxx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ inline void dsga_constexpr_assert_failed(Assert &&a) noexcept
4646
// When evaluated at compile time emits a compilation error if condition is not true.
4747
// Invokes the standard assert at run time.
4848
#define dsga_constexpr_assert(cond, msg) \
49-
((void)(!!(cond) ? 0 : (dsga_constexpr_assert_failed([](){ assert(((void)msg, !#cond));}), 0)))
49+
((void)(!!(cond) ? 0 : (dsga_constexpr_assert_failed([](){ assert(((void)msg, !static_cast<bool>(#cond)));}), 0)))
5050

5151
#endif
5252

@@ -57,8 +57,8 @@ inline void dsga_constexpr_assert_failed(Assert &&a) noexcept
5757
// version info
5858

5959
constexpr inline int DSGA_MAJOR_VERSION = 0;
60-
constexpr inline int DSGA_MINOR_VERSION = 10;
61-
constexpr inline int DSGA_PATCH_VERSION = 8;
60+
constexpr inline int DSGA_MINOR_VERSION = 11;
61+
constexpr inline int DSGA_PATCH_VERSION = 0;
6262

6363
namespace dsga
6464
{

src/main.cxx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
//#include "nanobench.h"
88
#include "dsga.hxx"
9-
9+
#include "../examples/format_output.hxx"
1010

1111
//
1212
//
@@ -21,8 +21,23 @@
2121
void sandbox_function()
2222
{
2323
// put fun code here
24-
}
2524

25+
#if defined(__cpp_lib_format)
26+
auto fmt_arr = std::array<double, 4>{1, 2, 3, 4};
27+
auto empty_arr = std::array<double, 0>{};
28+
auto one_arr = std::array<double, 1>{99};
29+
auto fmt_vec = dsga::dvec4(10, 20, 30, 40);
30+
auto fmt_mat = dsga::dmat3x2(1, 2, 3, 4, 5, 6);
31+
test_format_array(empty_arr);
32+
test_format_array(one_arr);
33+
test_format_array(fmt_arr);
34+
test_format_vector(fmt_vec);
35+
test_format_vector_base(fmt_vec);
36+
test_format_vector_base(fmt_vec.wzyx);
37+
test_format_indexed_vector(fmt_vec.wzyx);
38+
test_format_matrix(fmt_mat);
39+
#endif
40+
}
2641

2742
#if defined(__clang__) && (__clang_major__ < 13)
2843
// clang 10.0 does not like colors on windows (link problems with isatty and fileno)

0 commit comments

Comments
 (0)