##// END OF EJS Templates
Rewrite controller, remove MPDecorator to units (keep for plots an writers) use of queues for interproc comm instead of zmq, self operations are no longer supported
Rewrite controller, remove MPDecorator to units (keep for plots an writers) use of queues for interproc comm instead of zmq, self operations are no longer supported

File last commit:

r1167:1f521b07c958
r1287:af11e4aac00c
Show More
Lookup.py
61 lines | 2.8 KiB | text/x-python | PythonLexer
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 '''
Helper module for DynamicObject module - contains dictionaries
of data types built-in to our YAML IDL, converting backing and forth between
strings / YAML tags and python class instances.
$Id$
'''
import datetime
import numpy as np
import PrecisionTime
import DynamicObject
Binary = DynamicObject.Binary
import platform
import collections
# Implicit Types:
George Yong
Python 2to3, Spectra (all operations) working
r1167 python_dtypes = tuple([bool,int,int,float,str,datetime.datetime,list,
set,dict,tuple,str])
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
# Numpy Data-types:
numpy_dtypes = {'dtype.bool': bool, 'dtype.int': np.int, 'dtype.int8': np.int8,
'dtype.int16': np.int16, 'dtype.int32': np.int32, 'dtype.int64': np.int64,
'dtype.uint8': np.uint8, 'dtype.uint16': np.uint16, 'dtype.uint32': np.uint32,
'dtype.uint64': np.uint64, 'dtype.float': np.float, 'dtype.float16': np.float16,
'dtype.float32': np.float32, 'dtype.float64': np.float64, 'dtype.complex': np.complex,
'dtype.complex64': np.complex64, 'dtype.complex128': np.complex128,
'dtype.byte': np.byte, 'dtype.short': np.short, 'dtype.intc': np.intc,
'dtype.longlong': np.longlong, 'dtype.intp': np.intp, 'dtype.ubyte': np.ubyte,
'dtype.ushort': np.ushort, 'dtype.uintc': np.uintc, 'dtype.uint': np.uint,
'dtype.uintc': np.uintc, 'dtype.uint': np.uint, 'dtype.ulonglong': np.ulonglong,
'dtype.uintp': np.uintp, 'dtype.half': np.half, 'dtype.single': np.single,
'dtype.double': np.double, 'dtype.longfloat': np.longfloat,
'dtype.csingle': np.csingle, 'dtype.clongfloat': np.clongfloat, 'dtype.long': np.long}
if platform.architecture()[0] != '32bit': # 64bit - certain numpy types exist
numpy_dtypes.update({'dtype.float128': np.float128, 'dtype.complex256': np.complex256})
bit32 = False
else:
bit32 = True
#else: # 32 bit - fix 32 bit integer issue.
# np.int32 = np.int
# bit32 = True
# Built-in objects:
builtin_objects = {'binary': Binary, 'nsTime': PrecisionTime.nsTime, 'psTime': PrecisionTime.psTime,
'timestamp_ns': PrecisionTime.nsTime, 'timestamp_ps': PrecisionTime.psTime,
'timestamp_nanosecond': PrecisionTime.nsTime, 'timestamp_picosecond': PrecisionTime.psTime,
'datetime': datetime.datetime, 'Binary': Binary}
builtin_objects_simple = {'nsTime': PrecisionTime.nsTime, 'psTime': PrecisionTime.psTime,
'binary': Binary, 'datetime': datetime.datetime,
'Binary': Binary}
# Inverse lookup for accessing tags given a class instance:
George Yong
Python 2to3, Spectra (all operations) working
r1167 cls_dtypes = dict([(v,k) for (k,v) in list(numpy_dtypes.items())])
obj_dtypes = dict([(v,k) for (k,v) in list(builtin_objects_simple.items())])
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568
# Pointer to the list of all Object classes created, as located in the Object module / class:
dynamicClasses = DynamicObject.Object.dynamicClasses