def getTypeObject(sequence, type): if type is not None: return type try: return typefrom(N.array(sequence)) except: raise TypeError("Can't determine a reasonable type from sequence")
def getTypeObject(sequence, type): if type is not None: return type try: return typefrom(np.array(sequence)) except: raise TypeError("Can't determine a reasonable type from sequence")
def info(obj, output=sys.stdout, numpy=0): if numpy: bp = lambda x: x else: bp = lambda x: int(x) cls = getattr(obj, '__class__', type(obj)) if numpy: nm = getattr(cls, '__name__', cls) else: nm = cls print >> output, "class: ", nm print >> output, "shape: ", obj.shape strides = obj.strides print >> output, "strides: ", strides if not numpy: print >> output, "byteoffset: 0" if len(strides) > 0: bs = obj.strides[0] else: bs = obj.itemsize print >> output, "bytestride: ", bs print >> output, "itemsize: ", obj.itemsize print >> output, "aligned: ", bp(obj.flags.aligned) print >> output, "contiguous: ", bp(obj.flags.contiguous) if numpy: print >> output, "fortran: ", obj.flags.fortran if not numpy: print >> output, "buffer: ", repr(obj.data) if not numpy: extra = " (DEBUG ONLY)" tic = "'" else: extra = "" tic = "" print >> output, "data pointer: %s%s" % (hex( obj.ctypes._as_parameter_.value), extra) print >> output, "byteorder: ", endian = obj.dtype.byteorder if endian in ['|', '=']: print >> output, "%s%s%s" % (tic, sys.byteorder, tic) byteswap = False elif endian == '>': print >> output, "%sbig%s" % (tic, tic) byteswap = sys.byteorder != "big" else: print >> output, "%slittle%s" % (tic, tic) byteswap = sys.byteorder != "little" print >> output, "byteswap: ", bp(byteswap) if not numpy: print >> output, "type: ", typefrom(obj).name else: print >> output, "type: %s" % obj.dtype
def info(obj, output=sys.stdout, numpy=0): if numpy: bp = lambda x: x else: bp = lambda x: int(x) cls = getattr(obj, '__class__', type(obj)) if numpy: nm = getattr(cls, '__name__', cls) else: nm = cls print >> output, "class: ", nm print >> output, "shape: ", obj.shape strides = obj.strides print >> output, "strides: ", strides if not numpy: print >> output, "byteoffset: 0" if len(strides) > 0: bs = obj.strides[0] else: bs = obj.itemsize print >> output, "bytestride: ", bs print >> output, "itemsize: ", obj.itemsize print >> output, "aligned: ", bp(obj.flags.aligned) print >> output, "contiguous: ", bp(obj.flags.contiguous) if numpy: print >> output, "fortran: ", obj.flags.fortran if not numpy: print >> output, "buffer: ", repr(obj.data) if not numpy: extra = " (DEBUG ONLY)" tic = "'" else: extra = "" tic = "" print >> output, "data pointer: %s%s" % (hex(obj.ctypes._as_parameter_.value), extra) print >> output, "byteorder: ", endian = obj.dtype.byteorder if endian in ['|','=']: print >> output, "%s%s%s" % (tic, sys.byteorder, tic) byteswap = False elif endian == '>': print >> output, "%sbig%s" % (tic, tic) byteswap = sys.byteorder != "big" else: print >> output, "%slittle%s" % (tic, tic) byteswap = sys.byteorder != "little" print >> output, "byteswap: ", bp(byteswap) if not numpy: print >> output, "type: ", typefrom(obj).name else: print >> output, "type: %s" % obj.dtype