Explanation of tables
| * | green | Function exists in octave 2.0.x
Noted incompatibilities and missing features |
| + | yellow | Function exists in matcompat
Author and home for the function. |
| ? | orange | Function doesn't exist
Explanation of what you can do instead. |
| x | red | Function doesn't exist, and no work-around |
Logical functions
| * | xor | |
| * | any | |
| * | all |
Bit operations
| + | bitand | |
| + | bitcmp | |
| + | bitor | |
| + | bitmax | |
| + | bitxor | |
| + | bitset | |
| + | bitget | |
| + | bitshift |
Kai Habel has all these [but note comments in bitand.cc] |
Sets
| * | union | |
| + | unique |
Paul Kienzle, like octave create_set(), but also finds unique rows. |
| + | intersect |
Paul Kienzle, like octave intersection() |
| + | setdiff |
Paul Kienzle, like octave complement(), with reverse parameters |
| + | setxor |
Paul Kienzle |
| + | ismember |
Paul Kienzle, !isempty(find(set == element)) Of all these functions, only unique() accepts 'rows' parameter. None yet accept a cell array of strings. |
Control structures
| * | if | |
| * | else | |
| * | elseif | |
| * | end | |
| * | for | |
| * | while | |
| * | break | |
| * | switch | |
| * | case | |
| * | otherwise | |
| * | try | |
| * | catch | |
| * | return |
Interpreter interface
| * | eval | |
| x | evalc | |
| * | feval | |
| x | evalin | |
| x | builtin | |
| x | assignin | |
| x | run | |
| * | ans |
Constants
| * | eps | |
| * | realmax | |
| * | realmin | |
| * | pi | |
| * | i | , j - |
| * | inf | |
| * | NaN | |
| * | isnan | |
| * | isinf | |
| * | isfinite |
Symbol table
| * | exist | |
| * | global | |
| x | isglobal | |
| ? | persistent |
available in 2.1.x as "static" |
| x | mfilename | |
| x | mlock | |
| x | munlock | |
| x | mislocked |
Function arguments
| * | nargchk | |
| * | nargin | |
| * | nargout | |
| ? | varargin | |
| ? | varargout |
Needs special vararg handling. |
| x | inputname |
User I/O
| * | disp | |
| * | error | |
| * | warning | |
| + | lasterr |
Paul Kienzle |
| x | lastwarn | |
| * | clc | |
| * | home | |
| * | input | |
| * | keyboard | |
| * | pause |
Inline functions
| ? | inline |
Needs inline hack |
| x | argnames | |
| x | formula | |
| ? | char |
With inline hack, use type(g), or maybe eval(["type ", g]) |
| x | vectorize |