KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nfunk > jep > function > UMinus


1 /*****************************************************************************
2
3 JEP - Java Math Expression Parser 2.3.0
4       October 3 2004
5       (c) Copyright 2004, Nathan Funk and Richard Morris
6       See LICENSE.txt for license information.
7
8 *****************************************************************************/

9 package org.nfunk.jep.function;
10
11 import java.util.*;
12 import org.nfunk.jep.*;
13 import org.nfunk.jep.type.*;
14  
15 public class UMinus extends PostfixMathCommand
16 {
17     public UMinus() {
18         numberOfParameters = 1;
19     }
20     
21     public void run(Stack inStack) throws ParseException {
22         checkStack(inStack);// check the stack
23

24         Object JavaDoc param = inStack.pop();
25         
26         inStack.push(umin(param));
27         return;
28     }
29     
30     public Object JavaDoc umin(Object JavaDoc param) throws ParseException {
31         if (param instanceof Complex)
32             return ((Complex)param).neg();
33         if (param instanceof Number JavaDoc)
34             return new Double JavaDoc(-((Number JavaDoc)param).doubleValue());
35
36         throw new ParseException("Invalid parameter type");
37     }
38 }
39
Popular Tags