comparison etc/NEWS.9.md @ 32074:03fe0b635d2e

quiver/quiver3: Overhaul input processing, validation, and add BISTs. * scripts/plot/draw/private/__quiver__.m: Overhaul numeric input validation. Simplify input classification using numeric input count switch statements and avoid quiver3 miscount due to scale factor. Add error messages for all valid numeric input combinations including vector x,y,z and scale factor. Move newplot command from quiver/quiver3 into __quiver__ after numeric input validation. Add hax as an output argument to return any changes back to calling function. * scripts/plot/draw/quiver.m: Remove newplot call. Update __quiver__ call to include hax as a return variable. Update docstring with note that line style and name-value pairs can both be provided but linstyle must appear first. Add BISTs to check standard inputs with single and multiple arrows, arrowhead shape, vector and array inputs, proper treatment of scaling factor "off", some simple input styles, and input validation BISTs to cover all numeric input errors. Added known failing BIST for linestyle+pair arrowhead showing when it should stay off (bug #64143). * scripts/plot/draw/quiver3.m: Remove newplot call. Update __quiver__ call to include hax as a return variable. Update docstring with note that line style and name-value pairs can both be provided but linstyle must appear first. Add BISTs to check standard inputs with single and multiple arrows, vector and array inputs, and input validation BISTs to cover all numeric input errors. * etc/NEWS.9.md: Update quiver/quiver3 improvement description under General Improvements.
author Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
date Wed, 03 May 2023 22:52:33 -0400
parents ada96a467a28
children 7dcb6b4a4218
comparison
equal deleted inserted replaced
32073:24752aa8be11 32074:03fe0b635d2e
17 `dec2base (100*pi, 16, 4, 6)` for exampele returns a base-16 string with four 17 `dec2base (100*pi, 16, 4, 6)` for exampele returns a base-16 string with four
18 places for the integer part and six places for the fractional part. Omitting 18 places for the integer part and six places for the fractional part. Omitting
19 the number of decimal places (the fourth input) retains old behavior for 19 the number of decimal places (the fourth input) retains old behavior for
20 backward compatibility, except that non-integer inputs will no longer error. 20 backward compatibility, except that non-integer inputs will no longer error.
21 21
22 - `quiver` and `quiver3` now properly plots non-float numeric inputs by 22 - `quiver` and `quiver3` now properly plot non-float numeric inputs by
23 internally recasting them to 'double'. They honor the scaling factor input 23 internally recasting them to 'double' (bug #59695). Scaling factor input
24 when there is only a single arrow, whereas the factor was previously ignored 24 processing is improved, with both functions honoring a previously ignored
25 in that case. They also accept a scale factor of "off" which is equivalent to 25 scaling factor input when there is only a single arrow (bug #39552), and
26 setting it to 0. 26 `quiver3` no longer producing an error when a scaling factor is input
27 without x and y inputs. Both functions now also accept a scale factor of
28 "off" which is equivalent to setting it to 0.
27 29
28 - The `inputParser` function has been re-architected for a 60% performance 30 - The `inputParser` function has been re-architected for a 60% performance
29 improvement. 31 improvement.
30 32
31 ### Graphical User Interface 33 ### Graphical User Interface