annotate CONTRIBUTING.md @ 515:08bcc06c38ec tip master

Remove fast-math
author Chris Cannam <cannam@all-day-breakfast.com>
date Tue, 28 Jan 2020 15:27:37 +0000
parents 8a8693f38b91
children
rev   line source
c@447 1
c@447 2 Contributing
c@447 3 ============
c@447 4
c@448 5 The qm-dsp library is maintained in a Github repository at
c@447 6 https://github.com/c4dm/qm-dsp.
c@447 7
c@447 8
c@447 9 Reporting bugs
c@447 10 --------------
c@447 11
c@448 12 Please use Github issues for bug reports. Try to make them as specific
c@448 13 as possible. For example, describe an input that triggers some
c@448 14 particular behaviour, and tell us how that behaviour differs from what
c@448 15 you expected.
c@447 16
c@447 17 If your bug can be reproduced by processing an audio file using one of
c@447 18 the QM Vamp Plugins (https://github.com/c4dm/qm-vamp-plugins), which
c@447 19 are built using this library, that might be a good way to illustrate
c@447 20 the problem.
c@447 21
c@447 22
c@447 23 Pull requests
c@447 24 -------------
c@447 25
c@447 26 We're happy to see pull requests, and can pull them directly in some
c@447 27 circumstances.
c@447 28
c@447 29 * Please make sure your change compiles without warnings and passes
c@447 30 the existing tests.
c@447 31
c@447 32 * Please follow the code style guidelines (see below).
c@447 33
c@447 34 * Please make it as easy as possible to verify the behaviour of the
c@447 35 pull request, for example by adding a new test in the `tests`
c@447 36 directory. This library has only limited test coverage, but we
c@447 37 would like to expand it, and prefer not to make changes unless they
c@447 38 are backed by tests.
c@447 39
c@447 40 * Please provide your changes under terms which permit Queen Mary
c@447 41 University of London to relicense the code for commercial
c@447 42 purposes. The qm-dsp library as a whole is provided under the GPL,
c@447 43 but QM also make commercial licences available separately, and
c@447 44 cannot accept any pull request whose copyright status would prevent
c@447 45 that. In practice, this means any non-trivial change not
c@447 46 originating from QM must be explicitly licensed using a BSD-like
c@447 47 licence text, either in the source file itself or in an
c@447 48 accompanying file. See `thread/BlockAllocator.h` for an example of
c@447 49 typical language.
c@447 50
c@447 51 Please note also that fixes which change the behaviour of the existing
c@447 52 QM Vamp Plugins will need particularly close scrutiny - these are
c@447 53 reasonably widely used and, even where they have defects, changes may
c@447 54 cause problems for users and will at least need to be documented with
c@447 55 the plugins. For this reason it may take some time for such changes to
c@447 56 be reviewed or integrated.
c@447 57
c@447 58
c@447 59 Code style
c@447 60 ----------
c@447 61
c@448 62 * C++ code must compile with the C++98 standard, except for the unit
c@448 63 tests which are C++14
c@447 64
c@448 65 * Classes are named `LikeThis` - functions, methods, and local
c@448 66 variables `likeThis` - class member variables `m_likeThis`
c@447 67
c@447 68 * Indentation is four spaces at a time (no tabs)
c@447 69
c@447 70 * The opening brace for a block goes at the end of the line, except
c@447 71 at the start of a function or class definition where it gets a line
c@447 72 of its own
c@447 73
cannam@473 74 * Please use braces around any conditional or loop block that is not
cannam@473 75 on the same line as the test
cannam@473 76
cannam@473 77 * Please keep lines to no more than 80 characters in length
c@447 78
cannam@500 79 * Avoid using unsigned int types, unless doing bit manipulation (see
cannam@500 80 http://soundsoftware.ac.uk/c-pitfall-unsigned.html for rationale)
c@447 81