\* Modify `firstOrderDma()` to return the filters as the first argument, in order to avoid calculating the output if it is not required.\
\* Correct error in `firstOrderDma()` header (documentation) and changed name of local array manifold calculation function to clarify that a local function is called.\
\* Correct erroneous output calculations in `firstOrderDma()`.\
\* Moved the `input` input argument to the last of the input arguments list in `firstOrderDma()` and updated the input argument checks. This change **breaks backward compatibility**.
\* Moved the `input` input argument to the last of the input arguments list in `firstOrderDma()` and updated the input argument checks. This change **breaks backward compatibility**.\
\* Added different designs of Hypercardioid and Supercardioid DMAs for spherically (3D) and cylindrically (2D) diffuse sound fields.
**Optimisation - Memetic Algorithm**\
\* Removed redundant code to handle serial for-loop if parfor is not available.