Short projects: Difference between revisions

Jump to navigation Jump to search
325 bytes added ,  15 December 2015
m
no edit summary
(→‎Missing functions: added note to integral bullet)
mNo edit summary
Line 24: Line 24:
** These are basically renamed versions of quad/dblquad/triplequad.  It shouldn't be hard to make new functions which use the new integral naming system from Matlab.  See also {{bug|42037}}.
** These are basically renamed versions of quad/dblquad/triplequad.  It shouldn't be hard to make new functions which use the new integral naming system from Matlab.  See also {{bug|42037}}.
*** one note, the new integral functions do change usage slightly from quad. E.g., quad and quadv were the only integrators that didn't require vectorized functions (as opposed to quadgk, quadcc, etc.).  Also, passing parameters to integrating functions is more uniform than the different quad functions, where some (such as quad) does not include parameter passing. Compatibility should be checked for any wrapper made.
*** one note, the new integral functions do change usage slightly from quad. E.g., quad and quadv were the only integrators that didn't require vectorized functions (as opposed to quadgk, quadcc, etc.).  Also, passing parameters to integrating functions is more uniform than the different quad functions, where some (such as quad) does not include parameter passing. Compatibility should be checked for any wrapper made.
== BIST tests ==
Write Built-In Self Tests (BIST) for a function.  This improve's Octave's regression testing and ensures that we don't break anything when we add new features.  Tests 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 ==


* 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}}, {{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.  
* 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.  
1,072

edits

Navigation menu