We welcome contributions that help improve the ExTemp project! Please read through the guidelines in this document before reporting an issue or submitting a request. We will do our best to respond to all issues and requests, but please bear in mind that it may take us a while.
- Bug reports.
- Compatibility patches (support for earlier MATLAB versions; alternatives to MATLAB Toolbox functions).
- Minor patches (documentation clarification and typos; code/documentation formatting; naming convention amendments).
- Functionality updates.
- Testing (testing or demo scripts for existing functionality).
- Re-implementations (performance improvements; system/language support extensions).
- Anything else, as long as its utility and functionality is described.
Please open a new issue for each unreported bug. Specify "[BUG] 1-sentence-description-of-bug" as the issue title, and list the following information in the issue body:
- Brief summary and background.
- Bug description: what should happen, and what happens instead.
- Version of MATLAB and relevant toolboxes; operating system; GPU hardware and drivers (if the bug affects GPU execution).
- Code for a concise MATLAB script that reproduces and illustrates the bug.
- Any other relevant notes (e.g., what you think causes the bug, any steps you may have taken to identify or resolve it, etc).
Please submit a pull request for each code or documentation contribution to ExTemp. When submitting a pull request, please adhere to the following.
- Clearly identify the type of your contribution in the
title and body of your pull request.
- If your contributions span multiple types, please separate them into individual pull requests. Minor patches should be lumped into a single pull request.
- Include a brief description of the rationale, functionality, and implementation of your contribution.
- Squash partial commits.
- If applicable, draft some relevant text to be added to or amended in the README. Please include the text in the pull request comments, not as part of the commit.
We encourage you to open a new issue to discuss any intended contributions prior to developing or submitting a pull request.
Please try to follow the style conventions in the ExTemp repository when
submitting pull requests. We recommend that you use the source code in
lif2mat.m
as a style template for functions. We generally try to observe the
following rules:
- The code should be clear, stable, and efficient. Clarity and stability take precedence over efficiency and performance. The code should be self-documented if possible (avoid referring to descriptions in existing issues or pull requests).
- Function interface documentation should be comprehensive and follow the format of existing functions.
- Function and variable names are in
camelCase
; Named constants (including globals) should be alluppercase
. - All code blocks should be briefly documented.
- We prefer 4-space indentation (no tabs), operator/operand alignment across multiple lines, and 80-column line width.
It is unlikely that we will do much development for new features, unless they are essential or supported by theoretical advances. We do, however, encourage the development and submission of new features via pull requests.