1# 2# Copyright (c) ZeroC, Inc. All rights reserved. 3# 4 5import Ice 6 7try: 8 import numpy 9 hasNumPy = True 10except ImportError: 11 hasNumPy = False 12 13def myBoolSeq(buffer, type, copy): 14 return Ice.createArray(buffer, type, copy) 15 16 17def myByteSeq(buffer, type, copy): 18 return Ice.createArray(buffer, type, copy) 19 20 21def myShortSeq(buffer, type, copy): 22 return Ice.createArray(buffer, type, copy) 23 24 25def myIntSeq(buffer, type, copy): 26 return Ice.createArray(buffer, type, copy) 27 28 29def myLongSeq(buffer, type, copy): 30 return Ice.createArray(buffer, type, copy) 31 32 33def myFloatSeq(buffer, type, copy): 34 return Ice.createArray(buffer, type, copy) 35 36 37def myDoubleSeq(buffer, type, copy): 38 return Ice.createArray(buffer, type, copy) 39 40if hasNumPy: 41 42 def myNumPyBoolSeq(buffer, type, copy): 43 return Ice.createNumPyArray(buffer, type, copy) 44 45 46 def myNumPyByteSeq(buffer, type, copy): 47 return Ice.createNumPyArray(buffer, type, copy) 48 49 50 def myNumPyShortSeq(buffer, type, copy): 51 return Ice.createNumPyArray(buffer, type, copy) 52 53 54 def myNumPyIntSeq(buffer, type, copy): 55 return Ice.createNumPyArray(buffer, type, copy) 56 57 58 def myNumPyLongSeq(buffer, type, copy): 59 return Ice.createNumPyArray(buffer, type, copy) 60 61 62 def myNumPyFloatSeq(buffer, type, copy): 63 return Ice.createNumPyArray(buffer, type, copy) 64 65 66 def myNumPyDoubleSeq(buffer, type, copy): 67 return Ice.createNumPyArray(buffer, type, copy) 68 69 70 def myNumPyComplex128Seq(buffer, type, copy): 71 import numpy 72 return numpy.frombuffer(buffer.tobytes() if copy else buffer, numpy.complex128) 73 74 75 def myNumPyMatrix3x3(buffer, type, copy): 76 a = Ice.createNumPyArray(buffer, type, copy) 77 a.shape = (3, 3) 78 return a 79 80 def myBogusNumpyArrayType(buffer, type, copy): 81 return Ice.createNumPyArray(buffer, 1024, copy) 82 83 84def myBogusArrayThrowFactory(buffer, type, copy): 85 raise ValueError() 86 87 88def myBogusArrayType(buffer, type, copy): 89 return Ice.createArray(buffer, 1024, copy) 90 91 92def myBogusArrayNoneFactory(buffer, type, copy): 93 return None 94 95 96def myBogusArraySignatureFactory(): 97 return [] 98 99 100myNoCallableFactory = 5 101