How to use add_parameter method in Slash

Best Python code snippet using slash

inttype.py

Source:inttype.py Github

copy

Full Screen

...9 DIRECTIONS = [Parameter.DIRECTION_IN]10 CTYPES = ['int', 'int32_t']11 def convert_c_to_python(self, wrapper):12 assert isinstance(wrapper, ReverseWrapperBase)13 wrapper.build_params.add_parameter('i', [self.value])14 def convert_python_to_c(self, wrapper):15 assert isinstance(wrapper, ForwardWrapperBase)16 name = wrapper.declarations.declare_variable(self.ctype_no_const, self.name, self.default_value)17 wrapper.parse_params.add_parameter('i', ['&'+name], self.name, optional=bool(self.default_value))18 wrapper.call_params.append(name)19class UnsignedIntParam(Parameter):20 DIRECTIONS = [Parameter.DIRECTION_IN]21 CTYPES = ['unsigned int', 'uint32_t']22 def convert_c_to_python(self, wrapper):23 assert isinstance(wrapper, ReverseWrapperBase)24 wrapper.build_params.add_parameter('N', ["PyLong_FromUnsignedLong(%s)" % self.value])25 def convert_python_to_c(self, wrapper):26 assert isinstance(wrapper, ForwardWrapperBase)27 name = wrapper.declarations.declare_variable('unsigned int', self.name, self.default_value)28 wrapper.parse_params.add_parameter('I', ['&'+name], self.name, optional=bool(self.default_value))29 wrapper.call_params.append(name)30class UnsignedIntPtrParam(PointerParameter):31 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_OUT, Parameter.DIRECTION_INOUT]32 CTYPES = ['unsigned int*', 'uint32_t*']33 def __init__(self, ctype, name, direction=Parameter.DIRECTION_IN, is_const=False,34 default_value=None, transfer_ownership=False, array_length=None):35 super(UnsignedIntPtrParam, self).__init__(ctype, name, direction, is_const, default_value, transfer_ownership)36 self.array_length = array_length37 if transfer_ownership:38 raise NotSupportedError("%s: transfer_ownership=True not yet implemented." % ctype)39 def convert_c_to_python(self, wrapper):40 if self.direction & self.DIRECTION_IN:41 wrapper.build_params.add_parameter('I', ['*'+self.value])42 if self.direction & self.DIRECTION_OUT:43 wrapper.parse_params.add_parameter('I', [self.value], self.name)44 def convert_python_to_c(self, wrapper):45 #assert self.ctype == 'unsigned int*'46 if self.array_length is None:47 name = wrapper.declarations.declare_variable(str(self.type_traits.target), self.name)48 wrapper.call_params.append('&'+name)49 if self.direction & self.DIRECTION_IN:50 wrapper.parse_params.add_parameter('I', ['&'+name], self.name)51 if self.direction & self.DIRECTION_OUT:52 wrapper.build_params.add_parameter('I', [name])53 else: # complicated code path to deal with arrays...54 name = wrapper.declarations.declare_variable(str(self.type_traits.target), self.name, array="[%i]" % self.array_length)55 py_list = wrapper.declarations.declare_variable("PyObject*", "py_list")56 idx = wrapper.declarations.declare_variable("int", "idx")57 wrapper.call_params.append(name)58 if self.direction & self.DIRECTION_IN:59 elem = wrapper.declarations.declare_variable("PyObject*", "element")60 wrapper.parse_params.add_parameter('O!', ['&PyList_Type', '&'+py_list], self.name)61 wrapper.before_call.write_error_check(62 'PyList_Size(%s) != %i' % (py_list, self.array_length),63 'PyErr_SetString(PyExc_TypeError, "Parameter `%s\' must be a list of %i ints/longs");'64 % (self.name, self.array_length))65 wrapper.before_call.write_code(66 "for (%s = 0; %s < %i; %s++) {" % (idx, idx, self.array_length, idx))67 wrapper.before_call.indent()68 wrapper.before_call.write_code("%(elem)s = PyList_GET_ITEM(%(py_list)s, %(idx)s);" % vars())69 wrapper.before_call.write_error_check(70 '!(PyInt_Check(%(elem)s) || PyLong_Check(%(elem)s))',71 'PyErr_SetString(PyExc_TypeError, "Parameter `%s\' must be a list of %i ints / longs");'72 % (self.name, self.array_length))73 wrapper.before_call.write_code("%(name)s[%(idx)s] = PyLong_AsUnsignedInt(%(elem)s);" % vars())74 wrapper.before_call.unindent()75 wrapper.before_call.write_code('}')76 if self.direction & self.DIRECTION_OUT:77 wrapper.after_call.write_code("%s = PyList_New(%i);" % (py_list, self.array_length))78 wrapper.after_call.write_code(79 "for (%s = 0; %s < %i; %s++) {" % (idx, idx, self.array_length, idx))80 wrapper.after_call.indent()81 wrapper.after_call.write_code("PyList_SET_ITEM(%(py_list)s, %(idx)s, PyLong_FromUnsignedLong(%(name)s[%(idx)s]));"82 % vars())83 wrapper.after_call.unindent()84 wrapper.after_call.write_code('}')85 wrapper.build_params.add_parameter("N", [py_list])86class IntReturn(ReturnValue):87 CTYPES = ['int', 'int32_t']88 def get_c_error_return(self):89 return "return INT_MIN;"90 91 def convert_python_to_c(self, wrapper):92 wrapper.parse_params.add_parameter("i", ["&"+self.value], prepend=True)93 def convert_c_to_python(self, wrapper):94 wrapper.build_params.add_parameter("i", [self.value], prepend=True)95class UnsignedIntReturn(ReturnValue):96 CTYPES = ['unsigned int', 'uint32_t']97 def get_c_error_return(self):98 return "return 0;"99 100 def convert_python_to_c(self, wrapper):101 wrapper.parse_params.add_parameter("I", ["&"+self.value], prepend=True)102 def convert_c_to_python(self, wrapper):103 wrapper.build_params.add_parameter('N', ["PyLong_FromUnsignedLong(%s)" % self.value], prepend=True)104class IntPtrParam(PointerParameter):105 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_OUT,106 Parameter.DIRECTION_IN|Parameter.DIRECTION_OUT]107 CTYPES = ['int*']108 def __init__(self, ctype, name, direction=None, is_const=None, transfer_ownership=None):109 if direction is None:110 if is_const:111 direction = Parameter.DIRECTION_IN112 else:113 raise TypeConfigurationError("direction not given")114 115 super(IntPtrParam, self).__init__(ctype, name, direction, is_const, transfer_ownership)116 117 def convert_c_to_python(self, wrapper):118 if self.direction & self.DIRECTION_IN:119 wrapper.build_params.add_parameter('i', ['*'+self.value])120 if self.direction & self.DIRECTION_OUT:121 wrapper.parse_params.add_parameter("i", [self.value], self.name)122 def convert_python_to_c(self, wrapper):123 name = wrapper.declarations.declare_variable(self.ctype_no_const[:-1], self.name)124 wrapper.call_params.append('&'+name)125 if self.direction & self.DIRECTION_IN:126 wrapper.parse_params.add_parameter('i', ['&'+name], self.name)127 if self.direction & self.DIRECTION_OUT:128 wrapper.build_params.add_parameter("i", [name])129 130class IntRefParam(Parameter):131 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_OUT,132 Parameter.DIRECTION_IN|Parameter.DIRECTION_OUT]133 CTYPES = ['int&']134 135 def convert_c_to_python(self, wrapper):136 if self.direction & self.DIRECTION_IN:137 wrapper.build_params.add_parameter('i', [self.value])138 if self.direction & self.DIRECTION_OUT:139 wrapper.parse_params.add_parameter("i", [self.value], self.name)140 def convert_python_to_c(self, wrapper):141 #assert self.ctype == 'int&'142 name = wrapper.declarations.declare_variable(self.ctype_no_const[:-1], self.name)143 wrapper.call_params.append(name)144 if self.direction & self.DIRECTION_IN:145 wrapper.parse_params.add_parameter('i', ['&'+name], self.name)146 if self.direction & self.DIRECTION_OUT:147 wrapper.build_params.add_parameter("i", [name])148class UnsignedIntRefParam(Parameter):149 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_OUT,150 Parameter.DIRECTION_IN|Parameter.DIRECTION_OUT]151 CTYPES = ['unsigned int&', 'unsigned &']152 153 def convert_c_to_python(self, wrapper):154 if self.direction & self.DIRECTION_IN:155 wrapper.build_params.add_parameter('I', [self.value])156 if self.direction & self.DIRECTION_OUT:157 wrapper.parse_params.add_parameter("I", [self.value], self.name)158 def convert_python_to_c(self, wrapper):159 #assert self.ctype == 'int&'160 name = wrapper.declarations.declare_variable(self.ctype_no_const[:-1], self.name)161 wrapper.call_params.append(name)162 if self.direction & self.DIRECTION_IN:163 wrapper.parse_params.add_parameter('I', ['&'+name], self.name)164 if self.direction & self.DIRECTION_OUT:165 wrapper.build_params.add_parameter("I", [name])166class UInt16Return(ReturnValue):167 CTYPES = ['uint16_t', 'unsigned short', 'unsigned short int', 'short unsigned int']168 def get_c_error_return(self):169 return "return 0;"170 171 def convert_python_to_c(self, wrapper):172 tmp_var = wrapper.declarations.declare_variable("int", "tmp")173 wrapper.parse_params.add_parameter("i", ["&"+tmp_var], prepend=True)174 wrapper.after_call.write_error_check('%s > 0xffff' % tmp_var,175 'PyErr_SetString(PyExc_ValueError, "Out of range");')176 wrapper.after_call.write_code(177 "%s = %s;" % (self.value, tmp_var))178 def convert_c_to_python(self, wrapper):179 wrapper.build_params.add_parameter("i", [self.value], prepend=True)180class Int16Return(ReturnValue):181 CTYPES = ['int16_t', 'short', 'short int']182 def get_c_error_return(self):183 return "return 0;"184 185 def convert_python_to_c(self, wrapper):186 tmp_var = wrapper.declarations.declare_variable("int", "tmp")187 wrapper.parse_params.add_parameter("i", ["&"+tmp_var], prepend=True)188 wrapper.after_call.write_error_check('%s > 32767 || %s < -32768' % (tmp_var, tmp_var),189 'PyErr_SetString(PyExc_ValueError, "Out of range");')190 wrapper.after_call.write_code(191 "%s = %s;" % (self.value, tmp_var))192 def convert_c_to_python(self, wrapper):193 wrapper.build_params.add_parameter("i", [self.value], prepend=True)194class UInt16Param(Parameter):195 DIRECTIONS = [Parameter.DIRECTION_IN]196 CTYPES = ['uint16_t', 'unsigned short', 'unsigned short int']197 def convert_c_to_python(self, wrapper):198 assert isinstance(wrapper, ReverseWrapperBase)199 wrapper.build_params.add_parameter('i', ["(int) "+self.value])200 def convert_python_to_c(self, wrapper):201 assert isinstance(wrapper, ForwardWrapperBase)202 name = wrapper.declarations.declare_variable("int", self.name, self.default_value)203 wrapper.parse_params.add_parameter('i', ['&'+name], self.name, optional=bool(self.default_value))204 wrapper.before_call.write_error_check('%s > 0xffff' % name,205 'PyErr_SetString(PyExc_ValueError, "Out of range");')206 wrapper.call_params.append(name)207class UInt16RefParam(Parameter):208 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_INOUT, Parameter.DIRECTION_OUT]209 CTYPES = ['uint16_t&', 'unsigned short&', 'unsigned short int&', 'short unsigned&', 'short unsigned int&']210 def convert_c_to_python(self, wrapper):211 assert isinstance(wrapper, ReverseWrapperBase)212 if self.direction & self.DIRECTION_IN:213 wrapper.build_params.add_parameter('H', [self.value])214 if self.direction & self.DIRECTION_OUT:215 wrapper.parse_params.add_parameter("H", [self.value], self.name)216 def convert_python_to_c(self, wrapper):217 name = wrapper.declarations.declare_variable(self.ctype_no_const[:-1], self.name)218 wrapper.call_params.append(name)219 if self.direction & self.DIRECTION_IN:220 wrapper.parse_params.add_parameter('H', ['&'+name], self.name)221 if self.direction & self.DIRECTION_OUT:222 wrapper.build_params.add_parameter("H", [name])223class Int16Param(Parameter):224 DIRECTIONS = [Parameter.DIRECTION_IN]225 CTYPES = ['int16_t', 'short', 'short int']226 def convert_c_to_python(self, wrapper):227 assert isinstance(wrapper, ReverseWrapperBase)228 wrapper.build_params.add_parameter('i', ["(int) "+self.value])229 def convert_python_to_c(self, wrapper):230 assert isinstance(wrapper, ForwardWrapperBase)231 name = wrapper.declarations.declare_variable("int", self.name, self.default_value)232 wrapper.parse_params.add_parameter('i', ['&'+name], self.name, optional=bool(self.default_value))233 wrapper.before_call.write_error_check('%s > 0x7fff' % name,234 'PyErr_SetString(PyExc_ValueError, "Out of range");')235 wrapper.call_params.append(name)236class Int16RefParam(Parameter):237 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_INOUT, Parameter.DIRECTION_OUT]238 CTYPES = ['int16_t&', 'short&', 'short int&']239 def convert_c_to_python(self, wrapper):240 assert isinstance(wrapper, ReverseWrapperBase)241 if self.direction & self.DIRECTION_IN:242 wrapper.build_params.add_parameter('h', [self.value])243 if self.direction & self.DIRECTION_OUT:244 wrapper.parse_params.add_parameter("h", [self.value], self.name)245 def convert_python_to_c(self, wrapper):246 name = wrapper.declarations.declare_variable(self.ctype_no_const[:-1], self.name)247 wrapper.call_params.append(name)248 if self.direction & self.DIRECTION_IN:249 wrapper.parse_params.add_parameter('h', ['&'+name], self.name)250 if self.direction & self.DIRECTION_OUT:251 wrapper.build_params.add_parameter("h", [name])252class UInt8Param(Parameter):253 DIRECTIONS = [Parameter.DIRECTION_IN]254 CTYPES = ['uint8_t', 'unsigned char', 'char unsigned']255 def convert_c_to_python(self, wrapper):256 assert isinstance(wrapper, ReverseWrapperBase)257 wrapper.build_params.add_parameter('i', ["(int) "+self.value])258 def convert_python_to_c(self, wrapper):259 assert isinstance(wrapper, ForwardWrapperBase)260 name = wrapper.declarations.declare_variable("int", self.name, self.default_value)261 wrapper.parse_params.add_parameter('i', ['&'+name], self.name, optional=bool(self.default_value))262 wrapper.before_call.write_error_check('%s > 0xff' % name,263 'PyErr_SetString(PyExc_ValueError, "Out of range");')264 wrapper.call_params.append(name)265class UInt8RefParam(Parameter):266 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_INOUT, Parameter.DIRECTION_OUT]267 CTYPES = ['uint8_t&', 'unsigned char&', 'char unsigned&']268 def convert_c_to_python(self, wrapper):269 assert isinstance(wrapper, ReverseWrapperBase)270 if self.direction & self.DIRECTION_IN:271 wrapper.build_params.add_parameter('B', [self.value])272 if self.direction & self.DIRECTION_OUT:273 wrapper.parse_params.add_parameter("B", [self.value], self.name)274 def convert_python_to_c(self, wrapper):275 name = wrapper.declarations.declare_variable(self.ctype_no_const[:-1], self.name)276 wrapper.call_params.append(name)277 if self.direction & self.DIRECTION_IN:278 wrapper.parse_params.add_parameter('B', ['&'+name], self.name)279 if self.direction & self.DIRECTION_OUT:280 wrapper.build_params.add_parameter("B", [name])281class UInt8Return(ReturnValue):282 CTYPES = ['uint8_t', 'unsigned char', 'char unsigned']283 def get_c_error_return(self):284 return "return 0;"285 286 def convert_python_to_c(self, wrapper):287 tmp_var = wrapper.declarations.declare_variable("int", "tmp")288 wrapper.parse_params.add_parameter("i", ["&"+tmp_var], prepend=True)289 wrapper.after_call.write_error_check('%s > 0xff' % tmp_var,290 'PyErr_SetString(PyExc_ValueError, "Out of range");')291 wrapper.after_call.write_code(292 "%s = %s;" % (self.value, tmp_var))293 def convert_c_to_python(self, wrapper):294 wrapper.build_params.add_parameter("i", ['(int)' + self.value], prepend=True)295class Int8Param(Parameter):296 DIRECTIONS = [Parameter.DIRECTION_IN]297 CTYPES = ['int8_t', 'signed char', 'char signed']298 def convert_c_to_python(self, wrapper):299 assert isinstance(wrapper, ReverseWrapperBase)300 wrapper.build_params.add_parameter('i', ["(int) "+self.value])301 def convert_python_to_c(self, wrapper):302 assert isinstance(wrapper, ForwardWrapperBase)303 name = wrapper.declarations.declare_variable("int", self.name, self.default_value)304 wrapper.parse_params.add_parameter('i', ['&'+name], self.name, optional=bool(self.default_value))305 wrapper.before_call.write_error_check('%s > 0x7f' % name,306 'PyErr_SetString(PyExc_ValueError, "Out of range");')307 wrapper.call_params.append(name)308class Int8RefParam(Parameter):309 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_INOUT, Parameter.DIRECTION_OUT]310 CTYPES = ['int8_t&', 'signed char &', 'char signed&']311 def convert_c_to_python(self, wrapper):312 assert isinstance(wrapper, ReverseWrapperBase)313 if self.direction & self.DIRECTION_IN:314 wrapper.build_params.add_parameter('b', [self.value])315 if self.direction & self.DIRECTION_OUT:316 wrapper.parse_params.add_parameter("b", [self.value], self.name)317 def convert_python_to_c(self, wrapper):318 name = wrapper.declarations.declare_variable(self.ctype_no_const[:-1], self.name)319 wrapper.call_params.append(name)320 if self.direction & self.DIRECTION_IN:321 wrapper.parse_params.add_parameter('b', ['&'+name], self.name)322 if self.direction & self.DIRECTION_OUT:323 wrapper.build_params.add_parameter("b", [name])324class Int8Return(ReturnValue):325 CTYPES = ['int8_t', 'signed char']326 def get_c_error_return(self):327 return "return 0;"328 329 def convert_python_to_c(self, wrapper):330 tmp_var = wrapper.declarations.declare_variable("int", "tmp")331 wrapper.parse_params.add_parameter("i", ["&"+tmp_var], prepend=True)332 wrapper.after_call.write_error_check('%s > 128 || %s < -127' % (tmp_var, tmp_var),333 'PyErr_SetString(PyExc_ValueError, "Out of range");')334 wrapper.after_call.write_code(335 "%s = %s;" % (self.value, tmp_var))336 def convert_c_to_python(self, wrapper):337 wrapper.build_params.add_parameter("i", [self.value], prepend=True)338class UnsignedLongLongParam(Parameter):339 DIRECTIONS = [Parameter.DIRECTION_IN]340 CTYPES = ['unsigned long long', 'uint64_t', 'unsigned long long int', 'long long unsigned int', 'long long unsigned']341 def get_ctype_without_ref(self):342 return str(self.type_traits.ctype_no_const)343 def convert_c_to_python(self, wrapper):344 assert isinstance(wrapper, ReverseWrapperBase)345 wrapper.build_params.add_parameter('K', [self.value])346 def convert_python_to_c(self, wrapper):347 assert isinstance(wrapper, ForwardWrapperBase)348 name = wrapper.declarations.declare_variable(self.get_ctype_without_ref(), self.name, self.default_value)349 wrapper.parse_params.add_parameter('K', ['&'+name], self.name, optional=bool(self.default_value))350 wrapper.call_params.append(name)351class UnsignedLongLongRefParam(UnsignedLongLongParam):352 DIRECTIONS = [Parameter.DIRECTION_IN]353 CTYPES = ['unsigned long long&', 'uint64_t&', 'long long unsigned int&']354 def get_ctype_without_ref(self):355 assert self.type_traits.target is not None356 return str(self.type_traits.target)357class UnsignedLongLongReturn(ReturnValue):358 CTYPES = ['unsigned long long', 'uint64_t', 'long long unsigned int']359 def get_c_error_return(self):360 return "return 0;"361 362 def convert_python_to_c(self, wrapper):363 wrapper.parse_params.add_parameter("K", ["&"+self.value], prepend=True)364 def convert_c_to_python(self, wrapper):365 wrapper.build_params.add_parameter("K", [self.value], prepend=True)366class UnsignedLongParam(Parameter):367 DIRECTIONS = [Parameter.DIRECTION_IN]368 CTYPES = ['unsigned long', 'unsigned long int', 'long unsigned', 'long unsigned int']369 def get_ctype_without_ref(self):370 return str(self.type_traits.ctype_no_const)371 def convert_c_to_python(self, wrapper):372 assert isinstance(wrapper, ReverseWrapperBase)373 wrapper.build_params.add_parameter('k', [self.value])374 def convert_python_to_c(self, wrapper):375 assert isinstance(wrapper, ForwardWrapperBase)376 name = wrapper.declarations.declare_variable(self.get_ctype_without_ref(), self.name, self.default_value)377 wrapper.parse_params.add_parameter('k', ['&'+name], self.name, optional=bool(self.default_value))378 wrapper.call_params.append(name)379class UnsignedLongRefParam(UnsignedLongParam):380 DIRECTIONS = [Parameter.DIRECTION_IN]381 CTYPES = ['unsigned long&', 'long unsigned&', 'long unsigned int&', 'unsigned long int&']382 def get_ctype_without_ref(self):383 assert self.type_traits.target is not None384 return str(self.type_traits.target)385class UnsignedLongReturn(ReturnValue):386 CTYPES = ['unsigned long', 'long unsigned int']387 def get_c_error_return(self):388 return "return 0;"389 390 def convert_python_to_c(self, wrapper):391 wrapper.parse_params.add_parameter("k", ["&"+self.value], prepend=True)392 def convert_c_to_python(self, wrapper):393 wrapper.build_params.add_parameter("k", [self.value], prepend=True)394class LongParam(Parameter):395 DIRECTIONS = [Parameter.DIRECTION_IN]396 CTYPES = ['signed long', 'signed long int', 'long', 'long int', 'long signed', 'long signed int']397 def get_ctype_without_ref(self):398 return str(self.type_traits.ctype_no_const)399 def convert_c_to_python(self, wrapper):400 assert isinstance(wrapper, ReverseWrapperBase)401 wrapper.build_params.add_parameter('l', [self.value])402 def convert_python_to_c(self, wrapper):403 assert isinstance(wrapper, ForwardWrapperBase)404 name = wrapper.declarations.declare_variable(self.get_ctype_without_ref(), self.name, self.default_value)405 wrapper.parse_params.add_parameter('l', ['&'+name], self.name, optional=bool(self.default_value))406 wrapper.call_params.append(name)407class LongRefParam(LongParam):408 DIRECTIONS = [Parameter.DIRECTION_IN]409 CTYPES = ['signed long&', 'long signed&', 'long&', 'long int&', 'long signed int&', 'signed long int&']410 def get_ctype_without_ref(self):411 assert self.type_traits.target is not None412 return str(self.type_traits.target)413class LongReturn(ReturnValue):414 CTYPES = ['signed long', 'long signed int', 'long', 'long int']415 def get_c_error_return(self):416 return "return 0;"417 418 def convert_python_to_c(self, wrapper):419 wrapper.parse_params.add_parameter("l", ["&"+self.value], prepend=True)420 def convert_c_to_python(self, wrapper):421 wrapper.build_params.add_parameter("l", [self.value], prepend=True)422class SizeTReturn(ReturnValue):423 CTYPES = ['size_t',]424 def get_c_error_return(self):425 return "return 0;"426 427 def convert_python_to_c(self, wrapper):428 # using the intermediate variable is not always necessary but429 # it's safer this way in case of weird platforms where430 # sizeof(size_t) != sizeof(unsigned PY_LONG_LONG).431 name = wrapper.declarations.declare_variable("unsigned PY_LONG_LONG", "retval_tmp", self.value)432 wrapper.parse_params.add_parameter("K", ["&"+name], prepend=True)433 wrapper.after_call.write_code("retval = %s;" % (name))434 def convert_c_to_python(self, wrapper):435 wrapper.build_params.add_parameter("K", ["((unsigned PY_LONG_LONG) %s)" % self.value], prepend=True)436class SizeTParam(Parameter):437 DIRECTIONS = [Parameter.DIRECTION_IN]438 CTYPES = ['size_t']439 def get_ctype_without_ref(self):440 return str(self.type_traits.ctype_no_const)441 def convert_c_to_python(self, wrapper):442 assert isinstance(wrapper, ReverseWrapperBase)443 wrapper.build_params.add_parameter('K', ["((unsigned PY_LONG_LONG) %s)" % self.value])444 def convert_python_to_c(self, wrapper):445 assert isinstance(wrapper, ForwardWrapperBase)446 name = wrapper.declarations.declare_variable("unsigned PY_LONG_LONG", self.name, self.default_value)447 wrapper.parse_params.add_parameter('K', ['&'+name], self.name, optional=bool(self.default_value))448 wrapper.call_params.append(name)449class LongLongParam(Parameter):450 DIRECTIONS = [Parameter.DIRECTION_IN]451 CTYPES = ['long long', 'int64_t', 'long long int']452 def get_ctype_without_ref(self):453 return str(self.type_traits.ctype_no_const)454 def convert_c_to_python(self, wrapper):455 assert isinstance(wrapper, ReverseWrapperBase)456 wrapper.build_params.add_parameter('L', [self.value])457 def convert_python_to_c(self, wrapper):458 assert isinstance(wrapper, ForwardWrapperBase)459 name = wrapper.declarations.declare_variable(self.get_ctype_without_ref(), self.name, self.default_value)460 wrapper.parse_params.add_parameter('L', ['&'+name], self.name, optional=bool(self.default_value))461 wrapper.call_params.append(name)462class LongLongRefParam(LongLongParam):463 DIRECTIONS = [Parameter.DIRECTION_IN] # other directions not yet implemented464 CTYPES = ['long long&', 'int64_t&', 'long long int&']465 def get_ctype_without_ref(self):466 assert self.type_traits.target is not None467 return str(self.type_traits.target)468class LongLongReturn(ReturnValue):469 CTYPES = ['long long', 'int64_t', 'long long int']470 def get_c_error_return(self):471 return "return 0;"472 473 def convert_python_to_c(self, wrapper):474 wrapper.parse_params.add_parameter("L", ["&"+self.value], prepend=True)475 def convert_c_to_python(self, wrapper):476 wrapper.build_params.add_parameter("L", [self.value], prepend=True)477class Int8PtrParam(PointerParameter):478 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_OUT,479 Parameter.DIRECTION_IN|Parameter.DIRECTION_OUT]480 CTYPES = ['int8_t*']481 def __init__(self, ctype, name, direction=None, is_const=None, default_value=None, transfer_ownership=None):482 if direction is None:483 if is_const:484 direction = Parameter.DIRECTION_IN485 else:486 raise TypeConfigurationError("direction not given")487 488 super(Int8PtrParam, self).__init__(ctype, name, direction, is_const, default_value, transfer_ownership)489 490 def convert_c_to_python(self, wrapper):491 if self.direction & self.DIRECTION_IN:492 wrapper.build_params.add_parameter('b', ['*'+self.value])493 if self.direction & self.DIRECTION_OUT:494 wrapper.parse_params.add_parameter("b", [self.value], self.name)495 def convert_python_to_c(self, wrapper):496 name = wrapper.declarations.declare_variable('int8_t', self.name)497 wrapper.call_params.append('&'+name)498 if self.direction & self.DIRECTION_IN:499 wrapper.parse_params.add_parameter('b', ['&'+name], self.name)500 if self.direction & self.DIRECTION_OUT:501 wrapper.build_params.add_parameter("b", [name])502class UInt8PtrParam(PointerParameter):503 DIRECTIONS = [Parameter.DIRECTION_IN, Parameter.DIRECTION_OUT,504 Parameter.DIRECTION_IN|Parameter.DIRECTION_OUT]505 CTYPES = ['uint8_t*']506 def __init__(self, ctype, name, direction=None, is_const=None, default_value=None, transfer_ownership=None):507 if direction is None:508 if is_const:509 direction = Parameter.DIRECTION_IN510 else:511 raise TypeConfigurationError("direction not given")512 513 super(UInt8PtrParam, self).__init__(ctype, name, direction, is_const, default_value, transfer_ownership)514 515 def convert_c_to_python(self, wrapper):516 if self.direction & self.DIRECTION_IN:517 wrapper.build_params.add_parameter('B', ['*'+self.value])518 if self.direction & self.DIRECTION_OUT:519 wrapper.parse_params.add_parameter("B", [self.value], self.name)520 def convert_python_to_c(self, wrapper):521 name = wrapper.declarations.declare_variable('uint8_t', self.name)522 wrapper.call_params.append('&'+name)523 if self.direction & self.DIRECTION_IN:524 wrapper.parse_params.add_parameter('B', ['&'+name], self.name)525 if self.direction & self.DIRECTION_OUT:...

Full Screen

Full Screen

LeeNet.py

Source:LeeNet.py Github

copy

Full Screen

1from SloppyCell.ReactionNetworks import *2net = Network('Lee2003')3net.add_compartment('extract')4net.add_parameter('Dsh0', 100, name = r'Dsh^0')5net.add_parameter('APC0', 100, name = r'APC^0')6net.add_parameter('TCF0', 15, name = r'TCF^0')7net.add_parameter('GSK0', 50, name = r'GSK^0')8net.add_species('X2', 'extract', 0)#, name=r'Dsh_a')9net.add_species('X3', 'extract', 0)#, name=r'APC^*/axin^*/GSK3')10net.add_species('X4', 'extract', 0)#, name=r'APC/axin/GSK3')11net.add_species('X9', 'extract', 0)#, name=r'\beta-catenin^*/APC^*/axin^*/GSK3')12net.add_species('X10', 'extract', 0)#, name=r'\beta-catenin^*')13net.add_species('X11', 'extract', 0)#, name=r'\beta-catenin')14net.add_species('X12', 'extract', 0)#, name=r'Axin')15#net.add_species('X5', 'extract', 'GSK0', is_constant=True)#, name=r'GSK3')16net.add_species('X5', 'extract', 'GSK0', is_constant=True)#, name=r'GSK3')17net.add_species('X1', 'extract')#, name=r'Dsh_i')18net.add_species('X6', 'extract')#, name=r'APC/axin')19net.add_species('X7', 'extract')#, name=r'APC')20net.add_species('X8', 'extract')#, name=r'\beta-catenin/APC^*/axin^*/GSK3')21net.add_species('X13', 'extract')#, name=r'TCF')22net.add_species('X14', 'extract')#, name=r'\beta-catenin/TCF')23net.add_species('X15', 'extract')#, name=r'\beta-catenin/APC')24net.add_parameter('K7', 50, name = r'K_7')25net.add_parameter('K8', 120, name = r'K_8')26net.add_parameter('K16', 30, name = r'K_16')27net.add_parameter('K17', 1200, name = r'K_17')28net.add_parameter('k1', 0.182, name = r'k_{1}')29net.add_parameter('k2', 1.82e-2, name = r'k_{2}')30net.add_parameter('k3', 5e-2, name = r'k_{3}')31net.add_parameter('k4', 0.267, name = r'k_{4}')32net.add_parameter('k5', 0.133, name = r'k_{5}')33net.add_parameter('k6', 9.09e-2, name = r'k_{6}')34net.add_parameter('km6', 0.909, name = 'k_{-6}')35net.add_parameter('k9', 206, name = r'k_{9}')36net.add_parameter('k10', 206, name = r'k_{10}')37net.add_parameter('k11', 0.417, name = r'k_{11}')38net.add_parameter('k13', 2.57e-4, name = r'k_{13}')39net.add_parameter('k15', 0.167, name = r'k_{15}')40net.add_parameter('v12', 0.423, name = r'v_{12}')41net.add_parameter('v14', 8.22e-5, name = r'v_{14}')42#net.add_parameter('k1', 0.18, name = r'k_{1}')43#net.add_parameter('k2', 1.8e-2, name = r'k_{2}')44#net.add_parameter('k3', 5e-2, name = r'k_{3}')45#net.add_parameter('k4', 0.27, name = r'k_{4}')46#net.add_parameter('k5', 0.13, name = r'k_{5}')47#net.add_parameter('k6', 9.1e-2, name = r'k_{6}')48#net.add_parameter('km6', 0.91, name = 'k_{-6}')49#net.add_parameter('k9', 210, name = r'k_{9}')50#net.add_parameter('k10', 210, name = r'k_{10}')51#net.add_parameter('k11', 0.42, name = r'k_{11}')52#net.add_parameter('k13', 2.6e-4, name = r'k_{13}')53#net.add_parameter('k15', 0.17, name = r'k_{15}')54#55#net.add_parameter('v12', 0.42, name = r'v_{12}')56#net.add_parameter('v14', 8.2e-5, name = r'v_{14}')57net.add_parameter('W', 0, is_optimizable=False)58net.add_rate_rule('X2', 'k1*W*(Dsh0-X2)-k2*X2')59net.add_rate_rule('X9', 'k9 * X8 - k10*X9')60net.add_rate_rule('X10', 'k10*X9-k11*X10')61net.add_rate_rule('X4', '-k3*X2*X4 - k4*X4 + k5*X3 + k6*X5*X6 - km6*X4')62net.add_parameter('a')63net.add_assignment_rule('a', '1+APC0*K17/(K7*(K17+X11))')64net.add_parameter('b')65net.add_assignment_rule('b', 'APC0*K17*X12/(K7*(K17+X11)**2)')66net.add_parameter('c')67net.add_assignment_rule('c', 'k3*X2*X4 - k6 * GSK0*APC0*K17*X12/(K7*(K17+X11)) + km6*X4 + v14 - k15*X12')68net.add_parameter('d')69net.add_assignment_rule('d', '1+X11/K8')70net.add_parameter('e')71net.add_assignment_rule('e', 'X3/K8')72net.add_parameter('f')73net.add_assignment_rule('f', 'k4*X4 - k5*X3 - k9*X3*X11/K8 + k10*X9')74net.add_parameter('g')75net.add_assignment_rule('g', '1+X3/K8+TCF0*K16/(K16+X11)**2 + APC0*K17/(K17+X11)**2')76net.add_parameter('h')77net.add_assignment_rule('h', 'X11/K8')78net.add_parameter('i')79net.add_assignment_rule('i', 'v12 - (k9*X3/K8 + k13)*X11')80net.add_parameter('rhsX11', name = 'rhs_{X11}')81net.add_assignment_rule('rhsX11', '(d*i - f*h)/(d*g - e*h)')82net.add_rate_rule('X11', 'rhsX11')83net.add_rate_rule('X12', '(c + rhsX11*b)/a')84net.add_rate_rule('X3', '(e*i - f*g)/(e*h - d*g)')85net.add_assignment_rule('X1', 'Dsh0 - X2')86net.add_assignment_rule('X7', 'K17*APC0/(K17+X11)')87net.add_assignment_rule('X15', 'X11*APC0/(K17+X11)')88net.add_assignment_rule('X13', 'K16*TCF0/(K16+X11)')89net.add_assignment_rule('X14', 'X11*TCF0/(K16+X11)')90net.add_assignment_rule('X8', 'X3*X11/K8')91net.add_assignment_rule('X6', 'K17*X12*APC0/(K7*(K17+X11))')92# These are just for my own monitoring purposes93net.add_parameter('BCatenin', name = r'\beta-catenin')94net.add_assignment_rule('BCatenin', 'X8+X9+X10+X11+X14+X15')95net.add_parameter('Axin', name = r'Axin')...

Full Screen

Full Screen

GenerateFilmSpecimen.py

Source:GenerateFilmSpecimen.py Github

copy

Full Screen

1#! /usr/bin/env python32# -*- coding: utf-8 -*-3from FilmSpecimenGenerator import Config4cfg = Config()5cfg.add_parameter("sizeX", "real_t", "0", "Specimen length (x direction)")6cfg.add_parameter("sizeY", "real_t", "0", "Specimen length (y direction)")7cfg.add_parameter("sizeZ", "real_t", "0", "Specimen length (z direction)")8cfg.add_parameter("oopp", "bool", "false", "Specimen out-of-plane periodicity (0 - film, 1 - cnt material)")9cfg.add_parameter("numBlocksX", "uint_t", "1", "Number of blocks in x direction")10cfg.add_parameter("numBlocksY", "uint_t", "1", "Number of blocks in y direction")11cfg.add_parameter("numBlocksZ", "uint_t", "1", "Number of blocks in z direction")12cfg.add_parameter("min_OOP", "real_t", "0", "Out-of-plane angle minimum")13cfg.add_parameter("max_OOP", "real_t", "0", "Out-of-plane angle maximum")14cfg.add_parameter("numCNTs", "int", "0", "Number of CNTs")15cfg.add_parameter("numSegs", "int", "0", "Number of segments in a CNT")16cfg.add_parameter("spacing", "real_t", "0", "Segment half-spacing")17cfg.add_parameter("localDamping", "real_t", "0", "Local damping coefficient")18cfg.add_parameter("viscousDamping", "real_t", "0", "Viscous damping coefficient")19cfg.add_parameter("seed", "uint_t", "0", "random generator seed")20cfg.add_parameter("vdW", "int", "0", "type of vdW interaction model")21cfg.add_parameter("simulationSteps", "int", "0", "Relaxation duration")22cfg.add_parameter("saveVTKEveryNthStep", "int", "0", "timesteps between saving VTK outputs")23cfg.add_parameter("saveEnergyEveryNthStep", "int", "0", "timesteps between saving energies")24cfg.add_parameter("saveConfEveryNthStep", "int", "0", "timesteps between saving confs")25cfg.add_parameter("vtkFolder", "std::string", '"."', "Folder for VTK files")26cfg.add_parameter("energyFolder", "std::string", '"."', "Folder for energy files")27cfg.add_parameter("confFolder", "std::string", '"."', "Folder for conf files")28cfg.add_parameter("useMPIIO", "bool", "false", "Write a single file instead of one file per process")29cfg.add_parameter("sqlFile", "std::string", '"cnt.sqlite"', "database file")30cfg.add_parameter("initialConfigurationFile", "std::string", '""', "restart from checkpoint")...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Slash automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful