You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AGENTS.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,14 +13,14 @@ To detect if a specific language interface is available, we provide functions st
13
13
There is a namespace stdlib.sys defined under +stdlib/+sys/ that provided system() calls using the system shell as a last-restort fallback if no external language interface is available on the end user computer running Matlab.
14
14
The namespace stdlib.native and stdlib.legacy use plain Matlab code, and allow switching between "modern" and "legacy" implementations of functions as needed.
15
15
16
-
The self-test functions under "test/" directory can be used by Matlab >= R2019a as invoked by "test_main.m" at the top level of the project directory.
16
+
The self-test functions under "test/" directory can be used by Matlab >= R2017b as invoked by "test_main.m" at the top level of the project directory.
17
17
Matlab >= R2022b can alternatively use "buildtool test" to run the self-tests.
18
18
19
19
Key limitations to minimum Matlab version include:
20
20
21
21
* R2017b: builtin isfolder(), isfile() available
22
22
* R2017b: fileparts() supports string type. fileparts() is used in many places in the code as it's 5-10x faster than regexp() for filename parsing.
23
-
* R2018a: fileattrib() supports string type
23
+
* R2018a: fileattrib(), fullfile() supports string type
24
24
* R2018a: mfilename('fullpath') tells the full path to the matlab .m file currently running (empty for older Matlab)
25
25
* R2019b: function argument validation block "arguments"
26
26
@@ -33,7 +33,7 @@ In particular, using GNU Octave with functions having a backend as shown in [API
33
33
34
34
These rules apply under the namespace "stdlib" (directory +stdlib/) and all its sub-namespaces (subdirectories +stdlib/+*).
35
35
36
-
- The code syntax must work for Matlab >= R2019b
36
+
- The code syntax must work for Matlab >= R2019b (preferably Matlab >= R2017b)
37
37
- The code must not require any Matlab toolboxes, only base Matlab functionality
38
38
- Prohibited to use Matlab factory function "isMATLABReleaseOlderThan()" as it is slow and not available for Matlab < R2020b. Instead we use stdlib.matlabOlderThan() which is like 200x faster than isMATLABReleaseOlderThan() and works for Matlab >= R2016b
39
39
- When an exception is encountered, we generally desire that the code return an "empty" value of the appropriate type. In certain cases we may throw or rethrow an error.
Copy file name to clipboardExpand all lines: Readme.md
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,9 +7,8 @@
7
7
Matlab users coming from other languages will benefit from the functionality contained within this user-developed, unofficial "stdlib" standard library of functions.
8
8
These system, filesystem, and HDF5 / HDF4 / NetCDF functions are used by numerous independent projects.
9
9
10
-
Matlab R2019b is the absolute minimum version required due to use of
Full functionality is available with R2021a and newer.
10
+
Matlab R2017b is the absolute minimum version required.
11
+
Full functionality is available with R2019b and newer.
13
12
14
13
## Self-tests
15
14
@@ -21,7 +20,7 @@ Matlab R2022b and newer:
21
20
buildtool test
22
21
```
23
22
24
-
Matlab R2021a and newer (R2022b and newer can use `buildtool test`):
23
+
Matlab R2017b and newer:
25
24
26
25
```matlab
27
26
test_main
@@ -42,7 +41,7 @@ Normally the user does not specify the backend as we prioritize faster backends.
42
41
* Windows: all supported Matlab releases
43
42
* Linux / macOS: R2024b and newer
44
43
*[Java](./Readme_java.md): all supported Matlab releases
45
-
*[Perl](https://www.mathworks.com/help/matlab/ref/perl.html): all supported Matlab releases. This uses a system() call to Perl, which is bundled with Matlab on Windows and generally available on Linux and macOS
44
+
*[Perl](https://www.mathworks.com/help/matlab/ref/perl.html): Matlab R2018a and newer. This uses a system() call to Perl, which is bundled with Matlab on Windows and generally available on Linux and macOS
46
45
*[Python](https://www.mathworks.com/help/matlab/call-python-libraries.html): Matlab R2022b and newer
47
46
* System shell calls: all supported Matlab releases. As a backup when the platform doesn't have the primary (faster) methods available, the system shell can be called for some functions.
0 commit comments