Functional calculator