From d3687f51f444636b7974a68c159b2fa4d42162d0 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sat, 18 Dec 2021 14:20:34 +0800 Subject: 4.10 --- 4/10.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/4/10.c b/4/10.c index c8df3ee..25b3e1a 100644 --- a/4/10.c +++ b/4/10.c @@ -77,6 +77,30 @@ int main(int argc, char *argv[]) { push(var[INDEX(s[0])]); break; case FUN: + if (strcmp("sin", s) == 0) + push(sin(pop())); + else if (strcmp("cos", s) == 0) + push(cos(pop())); + else if (strcmp("tan", s) == 0) + push(tan(pop())); + else if (strcmp("exp", s) == 0) + push(exp(pop())); + else if (strcmp("pow", s) == 0) + push(pow(pop(), pop())); + else if (strcmp("cls", s) == 0) + clear(); + else if (strcmp("top", s) == 0) { + lout = peek(); + printf("\t%.8g\n", lout); + } else if (strcmp("swp", s) == 0) { + op2 = pop(); + op1 = pop(); + push(op2); + push(op1); + } else if (strcmp("dup", s) == 0) + push(peek()); + else + printf("error: unknown function %s\n", s); break; case '\n': lout = pop(); -- cgit v1.2.3