Short projects: Difference between revisions

Jump to navigation Jump to search
555 bytes added ,  9 April 2019
(22 intermediate revisions by 8 users not shown)
Line 7: Line 7:
{{warning| do not simply add a patch/file to the bug or patch tracker. Always leave a comment at the same time, even if it just a simple "I prepared a change that should fix it". If there is no comment, it's hard to notice that a patch was added since there will be no notice on the discussion about it.}}
{{warning| do not simply add a patch/file to the bug or patch tracker. Always leave a comment at the same time, even if it just a simple "I prepared a change that should fix it". If there is no comment, it's hard to notice that a patch was added since there will be no notice on the discussion about it.}}


== Bugs==


== Bugs==
Please help with the triage of [https://savannah.gnu.org/bugs/?group=octave existing bugs] to populate the list of easy bugs below. You may find it useful to review the [http://wiki.octave.org/wiki/index.php?title=Short_projects&action=history history] of this short projects page, to give you an idea of past successful short projects.  
Please help with the triage of [https://savannah.gnu.org/bugs/?group=octave existing bugs] to populate the list of easy bugs below. You may find it useful to review the [http://wiki.octave.org/wiki/index.php?title=Short_projects&action=history history] of this short projects page, to give you an idea of past successful short projects.
* {{bug|41674}} - image package: temporary arrays in imresize are doubles
* {{patch|8368}} - imremap - Change to imremap to reduce memory footprint
* {{patch|8369}} - imresize - Change to imresize to reduce memory footprint


== Prepare a changeset ==
==== Code submitted, requires changeset & verification ====
Sometimes a standalone file or a diff file is submitted; Octave maintainers prefer a changeset though; preparing a changeset will expedite bug fixing.
Sometimes a standalone file or a diff file is submitted; Octave maintainers prefer a changeset though; preparing a changeset will expedite bug fixing.
* {{bug|41674}}, {{patch|8368}}, {{patch|8369}}
 
* {{bug|48151}} - pkg update - error if packages are specified


== Missing functions ==
== Missing functions ==


* there is a list of missing functions for the [[image package|image]], [[mapping package|mapping]], [[Optimization package|optimization]], and [[Signal package|signal]] packages.
* There are lists of missing functions for [[:Category:Missing functions|several packages]].
** It would help to group the several missing functions in the [[image package]], as per [http://www.mathworks.com/help/images/functionlist.html] (similar to what was done in the [[signal package]] wiki page); please keep the original alphabetical list intact.
** It would help to group the missing functions in the [[image package]], as per [http://www.mathworks.com/help/images/functionlist.html] (similar to what was done in the [[signal package]] wiki page); please keep the original alphabetical list intact.
* openfig/savefig functions
* openfig/savefig functions
** These should be particularly easy additions as they are really just a wrapper on top of hgload/hgsave.
** These should be particularly easy additions as they are really just a wrapper on top of hgload/hgsave.
* integral/integral2/integral3 functions
 
** These are basically renamed versions of quad/dblquad/triplequadIt shouldn't be hard to make new functions which use the new integral naming system from MatlabSee also bug #42037.
== Function Compatibility ==
* flip function
A number of functions are implemented, but may have known incompatibilities or only partially handled option sets, etc.
** fliplr() and flipud() already existflip just extends this to an arbitrary dimension.  It should be easy to follow the template of flipud to create the flip function.
* integral - currently cannot handle all optional inputs, see see {{bug|42037}}
 
== BIST tests ==
 
Write Built-In Self Tests (BIST) for a functionThis improve's Octave's regression testing and ensures that we don't break anything when we add new featuresTests are written in the Octave m-file language and usually take less than 10 minutes to code for a single instance.
 
* [[Add_BIST_tests_for_octave_functions_written_in_C%2B%2B| BIST for C++ functions]]
 
* [[BIST_for_m-files| BIST for m-files]]See also [[Projects#Tests]].


== Miscellaneous ==
== Miscellaneous ==
* C++ cleanup of packages after the switch to exceptions (late 2015).See [[Invert if/else/error]].


* Use "units.h" from [http://www.gnu.org/software/units/ GNU units] in [http://octave.sourceforge.net/miscellaneous/function/units.html function units] (from the Octave-Forge [http://octave.sourceforge.net/miscellaneous/ miscellaneous package]) rather than making a system call and parsing its output (and having to handle multiple versions of it). This change will make it much more robust. It likely will alleviate the requirement of having [http://www.gnu.org/software/units/ GNU units] installed in the system separately by the user. This requires knowledge of C (units is written on C) and C++ to write its Octave interface. It can be very easy if the units.h truly allows to be used as library or maybe impossible if it does not. This has not been investigated yet.
* Use "units.h" from [http://www.gnu.org/software/units/ GNU units] in [http://octave.sourceforge.net/miscellaneous/function/units.html function units] (from the Octave-Forge [http://octave.sourceforge.net/miscellaneous/ miscellaneous package]) rather than making a system call and parsing its output (and having to handle multiple versions of it). This change will make it much more robust. It likely will alleviate the requirement of having [http://www.gnu.org/software/units/ GNU units] installed in the system separately by the user. This requires knowledge of C (units is written on C) and C++ to write its Octave interface. It can be very easy if the units.h truly allows to be used as library or maybe impossible if it does not. This has not been investigated yet.


* Write self-tests for a single function.  For core Octave see [[Files missing tests|missing test]]; see also [[Projects#Tests]].
* Use non-empty identifiers in all warnings and errors issued by Octave; see {{bug|39439}}, {{bug|39434}}. You may tackle as many or as few IDs as you have time for. As it is a widespread issue, finding occurrences in the source code should give you valuable knowledge about the way Octave files are organized.  
 
* Use non-empty identifiers in all warnings and errors issued by Octave; see {{bug|39439}}, {{bug|39434}}, {{bug|37559}}, {{bug|36861}}. You may tackle as many or as few IDs as you have time for. As it is a widespread issue, finding occurrences in the source code should give you valuable knowledge about the way Octave files are organized.  
** When raising errors and warnings try to use the ids that are documented in the functions  [http://octave.sourceforge.net/octave/function/warning_ids.html warning_ids] and [http://octave.sourceforge.net/octave/function/error_ids.html error_ids].  If you really need a new id (please, first read the ones already there!), please add it to those functions as well.  If you see other ids used in core that are not given by the functions mentioned above, please, report or submit patch for them, in addition to the patch to the calling functions as well.  
** When raising errors and warnings try to use the ids that are documented in the functions  [http://octave.sourceforge.net/octave/function/warning_ids.html warning_ids] and [http://octave.sourceforge.net/octave/function/error_ids.html error_ids].  If you really need a new id (please, first read the ones already there!), please add it to those functions as well.  If you see other ids used in core that are not given by the functions mentioned above, please, report or submit patch for them, in addition to the patch to the calling functions as well.  


Line 40: Line 52:
[[Category:Project Ideas]]
[[Category:Project Ideas]]


* Convert the m code to C/C++ in {{bug|41843}}
== Feature requests ==
* {{bug|41844}} - GUI Debug Menu could offer "Stop If..."
* {{bug|41530}} - Editor debug mode could show a dbup/dbdown GUI component
* {{bug|40211}} - More compact output for structs and cell arrays
* {{bug|32088}} - Feature request: -ALL option for WHICH
* {{bug|47464}} - audioformats: a new function to get information on supported audio formats
* {{bug|47239}} - calling system without shell


The chore is easy and there are approximately 40 files to patch.  This is a good way to see what the C++ code in Octave looks like.
[[Category:Missing functions]]
 
== Feature requests ==
* {{bug|41844}}
* {{bug|41530}}
* {{bug|41470}}
* {{bug|40211}}
* {{bug|32088}}
Anonymous user

Navigation menu