You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make the cmake & CI builds use the same settings (ridiculousfish#82)
* CI & CMake builds: use same warning level
Turn on all warnings & warnings as errors
CI build will build debug as well as release (to get assertions).
* Add sanitize options to CMake
And replace build only sanitize flags with the
cmake option.
* CI build fixes
* Install VS 2019 ASAN component
* Docs
* Use a seperate build config - Sanitize
Instead of applying flags to existing build configs.
* Code review feedback
Copy file name to clipboardExpand all lines: README.md
+11-6
Original file line number
Diff line number
Diff line change
@@ -187,7 +187,7 @@ discrepancy.
187
187
188
188
# Benchmark program
189
189
190
-
You can pass the **benchmark** program one or more of the following arguments: ```u32```,
190
+
You can pass the **benchmark** program one or more of the following arguments: ```u16```, ```s16```, ```u32```,
191
191
```s32```, ```u64```, ```s64``` to compare libdivide's speed against hardware division.
192
192
**benchmark** tests a simple function that inputs an array of random numerators and a single
193
193
divisor, and returns the sum of their quotients. It tests this using both hardware division, and
@@ -210,7 +210,7 @@ It will keep going as long as you let it, so it's best to stop it when you are h
210
210
denominators tested. These columns have the following significance. All times are in
211
211
nanoseconds, lower is better.
212
212
213
-
```bash
213
+
```
214
214
#: The divisor that is tested
215
215
system: Hardware divide time
216
216
scalar: libdivide time, using scalar division
@@ -226,9 +226,14 @@ so benchmark is valuable for its verification as well.
226
226
227
227
# Contributing
228
228
229
-
We currently do not have automated testing! Hence, before sending in patches, it would be nice
230
-
if you compiled your new code at high warning levels using at least MSVC and GCC (or Clang).
231
-
Also run the tester program to verify correctness and the benchmark programs to ensure you have
232
-
not introduced any performance regressions.
229
+
Although there are no individual unit tests, the supplied ```cmake``` builds do include several safety nets:
230
+
231
+
* They compile with:
232
+
* All warnings on and;
233
+
* Warnings as errors
234
+
* The CI build will build and run with sanitizers on ; these are available as part of the cmake build: ```-DCMAKE_BUILD_TYPE=Sanitize```
235
+
* The ```cmake``` and CI builds will compile and run both ```C``` and ```C++``` test programs.
236
+
237
+
Before sending in patches, build and run at least the ```tester``` and ```benchmark``` using the supplied ```cmake``` scripts on at least ```MSVC``` and ```GCC``` (or ```Clang```).
0 commit comments