TSL的基础算符有比如+,-,*,/,\,%,mod,div,^,~,.=,.>,.<,.<>,.>=,.<=,.!,.&,.|,.^,.||,.&&,.!!,like,++,--等等。
矩阵运算符有比如:*,:/,:\,:^,!,|,:|,Union,::,::=,->等等。
支持全部矩阵计算算符
比如 A:=fmarray[1,2,3]+fmarray[2,3,4];
A的结果为:fmarray[3,5,7]
再比如:A:= fmarray[1,2,3]+1;
A的结果为:fmarray[2,3,4]
矩阵运算支持和array的混合运算
计算的结果类型和左值相同
也就是 fmarray :* array -> fmarray
array :* fmarray -> array
例如:A:=fmarray[1,2,3]+array(2,3,4);
A的结果为:fmarray[3,5,7]
多维矩阵的转置
对超过2维矩阵的转置,fmarray的矩阵和array不一样,fmarray是对所有维度进行倒置,也就是说如果存在一个1*2*3*4的四维矩阵,会转置为一个4*3*2*1的矩阵。
如果要当成二维转置,请采用mswap(fm,0,1)的模式,这样交换第0维和第1维的下标