Ejemplo n.º 1
0
def __floor_ceil(function, number, significance, mode):
    """
   Generic function used by ceil & floor function included in open formula

   Arguments
       function -- str 
       number -- Number or CellReference
       significance -- Number or CellRefenrece
       mode -- None or Number or CellReference
   """
    if mode is None:
        if (type(function) is str and type(number) in (Number, CellReference)
                and type(significance) in (Number, CellReference)):

            return function.upper() + "(" + of_parameter_list(
                number.str, significance.str) + ")"

        else:
            raise TypeError, "Arguments must be Numbers or CellReferences"
    else:
        if (type(function) is str and type(number) in (Number, CellReference)
                and type(significance) in (Number, CellReference)
                and type(mode) in (Number, CellReference)):

            return function.upper() + "(" + of_parameter_list(
                number.str, significance.str, mode.str) + ")"

        else:
            raise TypeError, "Arguments must be Numbers or CellReferences"
Ejemplo n.º 2
0
    def test_of_parameter_list(self):
	self.assertEqual(of_parameter_list("abc", "def", "ghi"), 
                                                           "abc ; def ; ghi")

        self.assertEqual(of_parameter_list("abc", "", "ghi"), "abc ;  ; ghi")
        self.assertEqual(of_parameter_list("abc"), "abc")
        self.assertRaises(TypeError, of_parameter_list, "abc", 2, "def")
Ejemplo n.º 3
0
def __floor_ceil(function, number, significance, mode):
   """
   Generic function used by ceil & floor function included in open formula

   Arguments
       function -- str 
       number -- Number or CellReference
       significance -- Number or CellRefenrece
       mode -- None or Number or CellReference
   """
   if mode is None:
      if (type(function) is str and type(number) in (Number, CellReference) and 
                                type(significance) in (Number, CellReference)):

	 return function.upper()+"("+of_parameter_list(number.str,
                                                           significance.str)+")"

      else:
         raise TypeError, "Arguments must be Numbers or CellReferences"
   else:
      if (type(function) is str and type(number) in (Number, CellReference) and 
			     type(significance) in (Number, CellReference) and 
                                        type(mode) in (Number, CellReference)):

	 return function.upper()+"("+of_parameter_list(number.str,
                                                 significance.str, mode.str)+")"

      else:
         raise TypeError, "Arguments must be Numbers or CellReferences"
Ejemplo n.º 4
0
def __round(function, number, count):
    """
   Generic function used by all the round function in open formula

   Arguments :
       function -- str
       number -- Number or CellReference
       count -- None or Number or CellReference
   """
    if count is None:
        if type(function) is str and type(number) in (Number, CellReference):
            return function.upper() + "(" + of_parameter_list(number.str) + ")"
        else:
            raise TypeError, "Argument must be a Number or a CellReference"
    else:
        if (type(function) is str and type(number) in (Number, CellReference)
                and type(count) in (Number, CellReference)):

            return function.upper() + "(" + of_parameter_list(
                number.str, count.str) + ")"

        else:
            raise TypeError, "Arguments must be Numbers or CellReferences"
Ejemplo n.º 5
0
def __round(function, number, count):
   """
   Generic function used by all the round function in open formula

   Arguments :
       function -- str
       number -- Number or CellReference
       count -- None or Number or CellReference
   """
   if count is None:
      if type(function) is str and type(number) in (Number, CellReference):
         return function.upper()+"("+of_parameter_list(number.str)+")"
      else:
         raise TypeError, "Argument must be a Number or a CellReference"
   else:
      if (type(function) is str and type(number) in (Number, CellReference) and 
                                        type(count) in (Number, CellReference)):

	 return function.upper()+"("+of_parameter_list(number.str,
                                                                 count.str)+")"

      else:
         raise TypeError, "Arguments must be Numbers or CellReferences"
Ejemplo n.º 6
0
def of_seriessum(x, n, m, coeff):
    """
    Return the syntax for a seriessum
    Gives the sum of a power series
    """
    if (type(x) in (Number, CellReference)
            and type(n) in (Number, CellReference)
            and type(m) in (Number, CellReference)
            and type(coeff) in (Number, CellReference, RangeReference)):

        return "SERIESSUM(" + of_parameter_list(x.str, n.str, m.str,
                                                coeff.str) + ")"

    else:
        raise TypeError, "Wrong type of arguments"
Ejemplo n.º 7
0
def of_seriessum(x, n, m, coeff):
    """
    Return the syntax for a seriessum
    Gives the sum of a power series
    """
    if (type(x) in (Number, CellReference) and  
       type(n) in (Number, CellReference) and 
       type(m) in (Number, CellReference) and 
       type(coeff) in (Number, CellReference, RangeReference)):

	return "SERIESSUM("+of_parameter_list(x.str, n.str, m.str,
                                                                 coeff.str)+")"

    else:
        raise TypeError, "Wrong type of arguments"
Ejemplo n.º 8
0
def __simple_function2(function, number1, number2):
    """
   Generic implementation the syntax for simple function with two arguments 
   like FUNCTION(number1, number2)
   
   Arguments :
       function -- str
       number -- Number or CellReference
   """
    if (type(function) is str and type(number1) in (Number, CellReference)
            and type(number2) in (Number, CellReference)):
        return function.upper() + "(" + of_parameter_list(
            number1.str, number2.str) + ")"

    else:
        raise TypeError, "Arguments must be Numbers or CellReferences"
Ejemplo n.º 9
0
def __simple_function2(function, number1, number2):
   """
   Generic implementation the syntax for simple function with two arguments 
   like FUNCTION(number1, number2)
   
   Arguments :
       function -- str
       number -- Number or CellReference
   """
   if (type(function) is str and type(number1) in (Number, CellReference) and 
                                      type(number2) in (Number, CellReference)):
      return function.upper()+"("+of_parameter_list(number1.str,
                                                                number2.str)+")"

   else:
      raise TypeError, "Arguments must be Numbers or CellReferences"