Search code examples
octave

Meaning of @ in octave forge function reference


I'm using some packages from from Octave Forge. In the API documentation some of the functions are prefixed with @<AnOtherName>/..

As Example:

@lti/c2d

What is the meaning of this prefix with @ and the additional name? What is the difference to "normal" functions?


Solution

  • lti is a class, @lti/c2d refers to the c2d method of the lti class.

    In old-style class definitions, class methods for a class lti are M-files in a directory called @lti, so the c2d method would be defined in a file @lti/c2d.m.

    New-style class definitions use a single classdef file to define all methods, but it is still possible to override functions for a specific class or type by creating M-files in a directory @<class>. For example, you can create an M-file @double/foo.m to create a function foo that exists only on inputs of type double.