view include/operations.h @ 25:2b19746a4e97

Added stack_destroy, separated programs, added swap operation stack_destroy unallocates all space that is currently being used by a given stack. I now have the rpn program and my memory test programs in separate files. The swap operation is exactly what one would expect.
author Jonathan Pevarnek <pevarnj@gmail.com>
date Wed, 16 Mar 2011 17:29:25 -0400
parents 45a80ea314ae
children
line wrap: on
line source

#ifndef __OPERATIONS_H
#define __OPERATIONS_H

#include <std.h>
#include <stack.h>

enum Operation {PRINT, ADD, SUB, MULT, DIV, POW, DUP, DROP, LOG, EXP, SWAP, MAXOP};
extern const char operationNames[MAXOP][10];
extern void (*operation[MAXOP])(Stack*);

void op_math1(Stack *stack, eltType (*mathop)(eltType));
void op_math2(Stack *stack, eltType (*mathop)(eltType, eltType));

void op_print(Stack *stack);
void op_add(Stack *stack);
void op_sub(Stack *stack);
void op_mult(Stack *stack);
void op_div(Stack *stack);
void op_pow(Stack *stack);
void op_dup(Stack *stack);
void op_drop(Stack *stack);
void op_log(Stack *stack);
void op_exp(Stack *stack);
void op_swap(Stack *stack);

#endif //__OPERATIONS_H