def Array(dtype, size=None, ref=False):
def getArrayType(self):<EOL><INDENT>"""<STR_LIT>"""<EOL>return self._dtype<EOL><DEDENT>if ref:<EOL><INDENT>assert size is None<EOL><DEDENT>index = basicTypes.index(dtype)<EOL>if index == -<NUM_LIT:1>:<EOL><INDENT>raise Exception('<STR_LIT>' + dtype)<EOL><DEDENT>if size and size <= <NUM_LIT:0>:<EOL><INDENT>raise Exception('<STR_LIT>')<EOL><DEDENT>suffix = '<STR_LIT>' if ref else '<STR_LIT>'<EOL>arrayFactory = getattr(engine_internal, dtype + suffix)<EOL>arrayFactory.getType = getArrayType<EOL>if size:<EOL><INDENT>a = arrayFactory(size)<EOL><DEDENT>else:<EOL><INDENT>a = arrayFactory()<EOL><DEDENT>a._dtype = basicTypes[index]<EOL>return a<EOL>
Factory function that creates typed Array or ArrayRef objects

    dtype - the data type of the array (as string).
      Supported types are: Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Real32, Real64

    size - the size of the array. Must be positive integer.