I find that if if declare a variable in a procedure inside a if statement it Maple things something is wrong with the if statement:
tSound=proc(xMic,yMic,zMic,xGun,yGun,zGun,mode)
global vSound;
local locMic:=Vector([xMic,yMix,zMix]);
local locGun:=Vector([xGun,yGun,zGun]); l
ocal delGunToMix; if mode=1 then #`direct `
local x=0.0; <==remove this sand fine
delGunToMix:=locMic-locGun;
return vSound*Norm(delGunToMix);
elif mode=2 then #`reflect off wall at z=0`
end if; return 0.0; end proc:
Error, invalid 'if' statement
==>I can delclare the variable 'local' outside the if. Why? It doesn't make much sense, though not that hard to avoid.