Commit Graph

849 Commits

Author SHA1 Message Date
Mateusz Loskot
b92ee65973 Add TIP on testing against master branch of Boost super-project
[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
d09ab2e473 Add Table of Contents to CONTRIBUTING.md
[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
47461ab59c Fix -Wconversion about float from unsigned int (#84)
Use of gil::float32_t type members typedefs with variables for half-results.
Observing intermediate values migth be useful during debugging.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
baa20b670d [circleci] Deploy root Jamfile with common compilation config 2018-06-27 00:02:27 -04:00
Mateusz Loskot
ed67f9a571 Replace bitsN[s] aliases with C++11 fixed width integer types
Import the selection of integer types into boost::gil namespace,
  and move from channel.hpp to typedefs.hpp for easier access.
Replace bits32f with float32_t and bits64f with float64_t
  - kept as alias of scoped_channel_value.
Move float64_t (bits64f) to typedefs.hpp.
Replace the four {float|double}_{zero|one} min/max channel values
  with float_point_zero and float_point_one templates.
Replace <boost/cstdint,hpp> with C++11 <cstdint>.

Introduce preference of using declaration instead of typedef.
Reformat typedefs.hpp to take advantage of the using declaration
  - works much better for left-to-right reading, alias name as
    most important detail comes first.
Add some of missing #include typedefs.hpp, sort some headers.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
1a9a01ce5d [cmake] Restore downloading of FindBoost.cmake for CMake older than 3.11
Download the module from the latest stable release, not master.
Require Boost 1.67 or later.

[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
2a3b350c5f Add TIP on copying b2 to PATH
[ci skip]
[skip ci]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
a2cf24c78e Link README for CI build status
[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
1d72f6a205 [appveyor] Fix build jobs using CMake
Attempt to fix the Boost look-up failure.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
f3fd792787 Test float-point divisor for less/greater-than Zero
Add divisor check to point2<T>::operator/=, if Zero do nothing.

This hack helps to avoid compiler warnings without
polluting the source with pragmas.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
99f765c24c Remove #if _MSC_VER > 1310 as always true since switch to C++11 2018-06-27 00:02:27 -04:00
Mateusz Loskot
1e89c764b2 [cmake] Replicate GCC/clang compile flags from Jamfile
Add headers to target sources, so they are included in generate
makefiles, scanned and inspected as regular sources.

[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
e68b80f7fd Running b2 headers is optional step
b2 headers can run on demand, linking minimal
set of required headers, see
https://lists.boost.org/boost-build/2018/04/29892.php

[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
5737caa039 Require C++11 or later
Add necessary flags to Boost.Build and CMake configurations
as well as CI builds.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
ea0d574272 Tidy up .gitignore with sections.
Add CLion .idea directory.

[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
3c0f29e1d4 First stab at CONTRIBUTING.md
- Maintain important/official documentation in single place (ie. repo),
  instead of wiki where it may become too distributed.
- Follow GitHub recommended practice,
  https://blog.github.com/2012-09-17-contributing-guidelines/

[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
056415f513 Improve casts in channel_convert_from_unsigned (refines PR #74) (#76)
Add cast to explicitly indicate val promotion to at least
32-bit integer. The arithmetic operations are performed on
int of higher rank type. Finally, since the result value is
guaranteed to fit range of 8/16-bit result integer type,
it is safe to cast.
This should make it clearer for a reader that subtleties
of implicit promotions and conversions have been considered.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
e92cb54059 [circleci] Disable notifications until CircleCI has ones for workflows
[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
8b5e7b0c82 [cmake] Bump required version to 3.10
Remove downloading FindBoost.cmake as too fragile and
no longer necessary workaround.

[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
eee3c526fc Add missing #include <stdexcept>
Fix GCC 4.7 error: 'runtime_error' is not a member of 'std'
2018-06-27 00:02:27 -04:00
Mateusz Loskot
0984b7586b Fix some warnings reported by clang (#74)
- unused parameter
- shadowed typedef
- implicit conversion changes signedness:
  int to signed <int>
  int to unsigned <int>

Note, arithmetic op is performed on int as higher rank type
with result is in range of return type, safe to cast.
2018-06-27 00:02:27 -04:00
Stefan Seefeld
148aefdf1a Fix cross-references. 2018-06-27 00:02:27 -04:00
Stefan Seefeld
465a9ec635 Install a more recent sphinx. 2018-06-27 00:02:27 -04:00
Stefan Seefeld
1015e71279 Update documentation for new IO extension file layout. 2018-06-27 00:02:27 -04:00
Mateusz Loskot
9f028e67ad Replace C++11 std::string::front with indexing operator 2018-06-27 00:02:27 -04:00
Mateusz Loskot
3e612232c2 Restore root Jamfile lost during merge of PR #13 2018-06-27 00:02:27 -04:00
Mateusz Loskot
a9b30b8468 [circleci] Configure notifications to Gitter 2018-06-27 00:02:27 -04:00
Mateusz Loskot
2e7f543596 [circleci] Run build workflow for develop branch only 2018-06-27 00:02:27 -04:00
Niklas Angare
acf760719c Take input filename on the command line to test/image.
This enables test runners to copy the file to the target. It also makes
the code that looks for the file in a different path unnecessary since
Boost.Build will pass the proper relative path.
2018-06-27 00:02:27 -04:00
Stefan Seefeld
fbefe8963e Doc (#73)
* Enable autosectionlabel extension.
* Fix various references.
* Update documentation for new IO extension file layout.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
47cad63a50 Add configuration for CircleCI builds
Add jobs with number of GCC and clang versions
2018-06-27 00:02:27 -04:00
Mateusz Loskot
51431b389f [doc] Tabs to spaces
[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
a0335281a0 Tidy up, typos, re-flow
[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
55d5fcbea8 Ignore .vs[code] not only in root 2018-06-27 00:02:27 -04:00
Mateusz Loskot
addc8f587e Update mailing list title and URL
Update gitter badge title.
Move license badge first.

[ci skip]
2018-06-27 00:02:27 -04:00
Stefan Seefeld
2a74410c4e Rename top-level IO extension headers. (#71)
Refactor IO extension headers.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
dfcc4d2c39 Ignore temporary files ending with tilde
[ci skip]
2018-06-27 00:02:27 -04:00
Mateusz Loskot
fef646ede1 Move links at the end of file
This seems to be Sphinx recommended convention.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
722901f1dc Tidy up, re-flow tutorial.rst 2018-06-27 00:02:27 -04:00
Mateusz Loskot
dc5fc1d46c Tidy up, re-flow, mark inline code parts in io.rst 2018-06-27 00:02:27 -04:00
Stefan Seefeld
40477cfc09 Use boost/gil.hpp in docs. 2018-06-27 00:02:27 -04:00
Stefan Seefeld
1f0bc35012 Introduce top-level gil.hpp header. (#70)
Introduce top-level boost/gil.hpp header.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
39ab012252 [appveyor] Install latest FindBoost.cmake only for CMake builds 2018-06-27 00:02:27 -04:00
Mateusz Loskot
84cc287d1b [appveyor] Add CMake build to allow_failures
Investigating why CMake 3.10 path is not accessible
2018-06-27 00:02:27 -04:00
Mateusz Loskot
b5a7de6e22 Tidy up, some doc8 linting, tabs to spaces. 2018-06-27 00:02:27 -04:00
Mateusz Loskot
242cd50fa8 Markup list of items as reStructuredText list 2018-06-27 00:02:27 -04:00
Stefan Seefeld
401a9c3c50 Fix image location. 2018-06-27 00:02:27 -04:00
Stefan Seefeld
22c82514dc Update documentation. 2018-06-27 00:02:27 -04:00
Stefan Seefeld
2987d32037 Remove old docs. 2018-06-27 00:02:27 -04:00
Mateusz Loskot
97efee04ee [travis] Remove allow_failures specification
All Travis CI builds succeed, no reason to allow any to fail.
2018-06-27 00:02:27 -04:00