mtlb_a

Description

Matlab and Scilab addition behave differently in some particular cases:

With character string operands: The +
operator is used into Scilab to catenate character strings, while
Matlab realizes the sum of the operands ASCII codes.

With empty matrix: In Scilab, if one of the
operands is an empty matrix the result of the addition is the
other operand. In Matlab if one of the operand is an empty
matrix the result of the addition should be an error or an empty
matrix.

The function mtlb_a(A,B) is used by
mfile2sci to replace A+B when it was not
possible to know what were the operands while porting Matlab code to Scilab. This function will
determine the correct semantic at run time. If you want to have a
more efficient code it is possible to replace mtlb_a calls:

If A and B are character strings,
mtlb_a(A,B) may be replaced by asciimat(A)+asciimat(B)

If both A and B are not empty matrices
mtlb_a(A,B) may be replaced by A+B,
else mtlb_a(A,B) may be replaced by
[].

If mtlb_mode==%T, then mtlb_a(A,B)
may be replaced by A+B in any case where
A and B are not character string matrices.