RosettaCodeData/Task/First-class-functions/Stata/first-class-functions.stata

35 lines
433 B
Plaintext

function _sin(x) {
return(sin(x))
}
function _asin(x) {
return(asin(x))
}
function _cos(x) {
return(cos(x))
}
function _acos(x) {
return(acos(x))
}
function cube(x) {
return(x*x*x)
}
function cuberoot(x) {
return(sign(x)*abs(x)^(1/3))
}
function compose(f,g,x) {
return((*f)((*g)(x)))
}
a=&_sin(),&_cos(),&cube()
b=&_asin(),&_acos(),&cuberoot()
for(i=1;i<=length(a);i++) {
printf("%10.5f\n",compose(a[i],b[i],0.5))
}