clear all cls mata: real scalar foobar1(real vector x) { real scalar i, n, ans n = rows(x) ans = 0 for (i=1; i<=n; i++) { ans = ans + x[i] } return(ans) } real scalar foobar2(real vector x) { real scalar i, n, ans n = rows(x) ans = 0 for (i=n; i; i--) { ans = ans + x[i] } return(ans) } real scalar foobar3(real vector x) { real scalar i, n, ans n = rows(x) ans = 0 i = n+1 while (--i) { ans = ans + x[i] } return(ans) } real scalar foobar4(real vector x) { real scalar i, n, ans n = rows(x) ans = 0 i = n //while (--i) { //} return(sum(x)) } end set rmsg on mata: x=runiform(1e7, 1) mata: foobar1(x) mata: foobar2(x) mata: foobar3(x) mata: foobar4(x) mata: foobar1(x) mata: foobar2(x) mata: foobar3(x) mata: foobar4(x) set rmsg off exit