Compare commits
6 Commits
cafe-1.16.
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 372b09651a | |||
| 7b2a786739 | |||
| 9b455dfefb | |||
| a2d636e215 | |||
| e50115776d | |||
| fdd124905b |
8038
#PyCafe.pyx#
Normal file
8038
#PyCafe.pyx#
Normal file
File diff suppressed because it is too large
Load Diff
9
.gitignore
vendored
9
.gitignore
vendored
@@ -1,10 +1,15 @@
|
||||
build
|
||||
#*#
|
||||
.#.#
|
||||
*.*~
|
||||
*.*-*
|
||||
*.*+*
|
||||
python3.5
|
||||
python3.5-sf
|
||||
python3.5-sls2
|
||||
python3.7
|
||||
python3.7-sf
|
||||
python3.7-sls2
|
||||
z_python-3.5-old
|
||||
z_python-3.7-old
|
||||
python3.10
|
||||
python3.10-sf
|
||||
python3.10-sls2
|
||||
|
||||
23811
PyCafe.cpp
23811
PyCafe.cpp
File diff suppressed because it is too large
Load Diff
3
PyCafe.h
3
PyCafe.h
@@ -1,9 +1,8 @@
|
||||
/* Generated by Cython 0.29.24 */
|
||||
/* Generated by Cython 0.29.2 */
|
||||
|
||||
#ifndef __PYX_HAVE__PyCafe
|
||||
#define __PYX_HAVE__PyCafe
|
||||
|
||||
#include "Python.h"
|
||||
|
||||
#ifndef __PYX_HAVE_API__PyCafe
|
||||
|
||||
|
||||
8690
PyCafe.html
8690
PyCafe.html
File diff suppressed because it is too large
Load Diff
547
PyCafeDefs.html
547
PyCafeDefs.html
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- Generated by Cython 0.29.24 -->
|
||||
<!-- Generated by Cython 0.29.2 -->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
@@ -286,13 +286,8 @@ body.cython { font-family: courier; font-size: 12; }
|
||||
.cython.score-252 {background-color: #FFFF09;}
|
||||
.cython.score-253 {background-color: #FFFF09;}
|
||||
.cython.score-254 {background-color: #FFFF09;}
|
||||
pre { line-height: 125%; }
|
||||
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
.cython .hll { background-color: #ffffcc }
|
||||
.cython { background: #f8f8f8; }
|
||||
.cython { background: #f8f8f8; }
|
||||
.cython .c { color: #408080; font-style: italic } /* Comment */
|
||||
.cython .err { border: 1px solid #FF0000 } /* Error */
|
||||
.cython .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
@@ -363,7 +358,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
</style>
|
||||
</head>
|
||||
<body class="cython">
|
||||
<p><span style="border-bottom: solid 1px grey;">Generated by Cython 0.29.24</span></p>
|
||||
<p><span style="border-bottom: solid 1px grey;">Generated by Cython 0.29.2</span></p>
|
||||
<p>
|
||||
<span style="background-color: #FFFF00">Yellow lines</span> hint at Python interaction.<br />
|
||||
Click on a line that starts with a "<code>+</code>" to see the C code that Cython generated for it.
|
||||
@@ -480,8 +475,6 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<pre class="cython line score-13" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">018</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_data_event_handler_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span></pre>
|
||||
<pre class='cython code score-13 '>void cy_data_event_handler_wrapper(void *__pyx_v_callback, unsigned int __pyx_v_handle, std::string __pyx_v_pvname, PVDataHolder __pyx_v_pvd) {
|
||||
struct __pyx_obj_6PyCafe_pvdata *__pyx_v_data = 0;
|
||||
HandleHelper __pyx_v_hh;
|
||||
CYTHON_UNUSED unsigned int __pyx_v_mpid;
|
||||
#ifdef WITH_THREAD
|
||||
PyGILState_STATE __pyx_gilstate_save = <span class='pyx_c_api'>__Pyx_PyGILState_Ensure</span>();
|
||||
#endif
|
||||
@@ -492,11 +485,11 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
goto __pyx_L0;
|
||||
__pyx_L1_error:;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10);
|
||||
<span class='pyx_c_api'>__Pyx_WriteUnraisable</span>("PyCafe.cy_data_event_handler_wrapper", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
|
||||
__pyx_L0:;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>((PyObject *)__pyx_v_data);
|
||||
@@ -510,91 +503,129 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<pre class="cython line score-0"> <span class="">021</span>: <span class="n">PVDataHolder</span> <span class="n">pvd</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">022</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">023</span>: <span class="k">global</span> <span class="n">py_cb</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">024</span>: <span class="c">#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVDATA++++++(1)= Handle/PVNAME :", handle, pvname) </span></pre>
|
||||
<pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">025</span>: <span class="k">cdef</span> <span class="kt">pvdata</span> <span class="nf">data</span> <span class="o">=</span> <span class="n">PVDataHolderToStruct</span><span class="p">(</span><span class="n">pvd</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-0 '> __pyx_t_1 = ((PyObject *)__pyx_f_6PyCafe_PVDataHolderToStruct(__pyx_v_pvd, NULL));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 25, __pyx_L1_error)</span>
|
||||
<pre class="cython line score-0"> <span class="">024</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">025</span>: <span class="c">#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVDATA++++++(1)= Handle/PVNAME :", handle, pvname) </span></pre>
|
||||
<pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">026</span>: <span class="k">cdef</span> <span class="kt">pvdata</span> <span class="nf">data</span> <span class="o">=</span> <span class="n">PVDataHolderToStruct</span><span class="p">(</span><span class="n">pvd</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-0 '> __pyx_t_1 = ((PyObject *)__pyx_f_6PyCafe_PVDataHolderToStruct(__pyx_v_pvd, NULL));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 26, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
__pyx_v_data = ((struct __pyx_obj_6PyCafe_pvdata *)__pyx_t_1);
|
||||
__pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-0"> <span class="">026</span>: <span class="c">#data.show() </span></pre>
|
||||
<pre class="cython line score-7" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">027</span>: <span class="n">py_cb</span> <span class="o">=</span> <span class="p"><</span><span class="kt">object</span><span class="p">>(</span><span class="o"><</span><span class="n">void</span> <span class="o">*></span> <span class="n">callback</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-7 '> __pyx_t_1 = ((PyObject *)((void *)__pyx_v_callback));
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1);
|
||||
if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_py_cb, __pyx_t_1) < 0) <span class='error_goto'>__PYX_ERR(3, 27, __pyx_L1_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-0"> <span class="">028</span>: <span class="c">#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVDATA++++++(2)= Handle/PVNAME :", handle, pvname)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">029</span>: <span class="k">cdef</span> <span class="kt">HandleHelper</span> <span class="nf">hh</span></pre>
|
||||
<pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">030</span>: <span class="n">mpid</span> <span class="o">=</span> <span class="n">hh</span><span class="o">.</span><span class="n">getUsrArgsAsUInt</span><span class="p">(</span><span class="n">handle</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-0 '> __pyx_v_mpid = __pyx_v_hh.getUsrArgsAsUInt(__pyx_v_handle);
|
||||
</pre><pre class="cython line score-0"> <span class="">031</span>: <span class="c">#print("monitorId", mpid)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">032</span>: <span class="c">#monDictGlobal[mpid](handle, pvname, data)</span></pre>
|
||||
<pre class="cython line score-48" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">033</span>: <span class="p"><</span><span class="kt">object</span><span class="p">></span><span class="n">py_cb</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">pvname</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-48 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_2, __pyx_n_s_py_cb);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 33, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
__pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 33, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);
|
||||
__pyx_t_4 = <span class='pyx_c_api'>__pyx_convert_PyStr_string_to_py_std__in_string</span>(__pyx_v_pvname);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 33, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);
|
||||
__pyx_t_5 = NULL;
|
||||
__pyx_t_6 = 0;
|
||||
if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_2))) {
|
||||
__pyx_t_5 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_2);
|
||||
if (likely(__pyx_t_5)) {
|
||||
PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_5);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(function);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_2, function);
|
||||
__pyx_t_6 = 1;
|
||||
</pre><pre class="cython line score-13" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">027</span>: <span class="k">try</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-13 '> {
|
||||
/*try:*/ {
|
||||
/* … */
|
||||
}
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
|
||||
goto __pyx_L8_try_end;
|
||||
__pyx_L3_error:;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); __pyx_t_8 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_10); __pyx_t_10 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
/* … */
|
||||
<span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_2);
|
||||
<span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_3);
|
||||
<span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_4);
|
||||
<span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_2, __pyx_t_3, __pyx_t_4);
|
||||
goto __pyx_L1_error;
|
||||
__pyx_L4_exception_handled:;
|
||||
<span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_2);
|
||||
<span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_3);
|
||||
<span class='refnanny'>__Pyx_XGIVEREF</span>(__pyx_t_4);
|
||||
<span class='pyx_c_api'>__Pyx_ExceptionReset</span>(__pyx_t_2, __pyx_t_3, __pyx_t_4);
|
||||
__pyx_L8_try_end:;
|
||||
}
|
||||
#if CYTHON_FAST_PYCALL
|
||||
if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_2)) {
|
||||
PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_t_3, __pyx_t_4, ((PyObject *)__pyx_v_data)};
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 33, __pyx_L1_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
|
||||
} else
|
||||
#endif
|
||||
#if CYTHON_FAST_PYCCALL
|
||||
if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_2)) {
|
||||
PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_t_3, __pyx_t_4, ((PyObject *)__pyx_v_data)};
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_2, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 33, __pyx_L1_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
__pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 33, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);
|
||||
if (__pyx_t_5) {
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
|
||||
</pre><pre class="cython line score-0"> <span class="">028</span>: <span class="c">#data.show() </span></pre>
|
||||
<pre class="cython line score-7" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">029</span>: <span class="n">py_cb</span> <span class="o">=</span> <span class="p"><</span><span class="kt">object</span><span class="p">>(</span><span class="o"><</span><span class="n">void</span> <span class="o">*></span> <span class="n">callback</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-7 '> __pyx_t_1 = ((PyObject *)((void *)__pyx_v_callback));
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1);
|
||||
if (<span class='py_c_api'>PyDict_SetItem</span>(__pyx_d, __pyx_n_s_py_cb, __pyx_t_1) < 0) <span class='error_goto'>__PYX_ERR(3, 29, __pyx_L3_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-0"> <span class="">030</span>: <span class="c">#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVDATA++++++(2)= Handle/PVNAME :", handle, pvname)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">031</span>: <span class="c">##cdef HandleHelper hh</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">032</span>: <span class="c">## mpid = hh.getUsrArgsAsUInt(handle)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">033</span>: <span class="c">#print("monitorId", mpid)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">034</span>: <span class="c">#monDictGlobal[mpid](handle, pvname, data)</span></pre>
|
||||
<pre class="cython line score-48" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">035</span>: <span class="p"><</span><span class="kt">object</span><span class="p">></span><span class="n">py_cb</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">pvname</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-48 '> <span class='pyx_c_api'>__Pyx_GetModuleGlobalName</span>(__pyx_t_5, __pyx_n_s_py_cb);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 35, __pyx_L3_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);
|
||||
__pyx_t_6 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_6)) __PYX_ERR(3, 35, __pyx_L3_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_6);
|
||||
__pyx_t_7 = <span class='pyx_c_api'>__pyx_convert_PyStr_string_to_py_std__in_string</span>(__pyx_v_pvname);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 35, __pyx_L3_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);
|
||||
__pyx_t_8 = NULL;
|
||||
__pyx_t_9 = 0;
|
||||
if (CYTHON_UNPACK_METHODS && unlikely(<span class='py_c_api'>PyMethod_Check</span>(__pyx_t_5))) {
|
||||
__pyx_t_8 = <span class='py_macro_api'>PyMethod_GET_SELF</span>(__pyx_t_5);
|
||||
if (likely(__pyx_t_8)) {
|
||||
PyObject* function = <span class='py_macro_api'>PyMethod_GET_FUNCTION</span>(__pyx_t_5);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_8);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(function);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF_SET</span>(__pyx_t_5, function);
|
||||
__pyx_t_9 = 1;
|
||||
}
|
||||
}
|
||||
#if CYTHON_FAST_PYCALL
|
||||
if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_5)) {
|
||||
PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_6, __pyx_t_7, ((PyObject *)__pyx_v_data)};
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 35, __pyx_L3_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); __pyx_t_8 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;
|
||||
} else
|
||||
#endif
|
||||
#if CYTHON_FAST_PYCCALL
|
||||
if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_5)) {
|
||||
PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_6, __pyx_t_7, ((PyObject *)__pyx_v_data)};
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_5, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 35, __pyx_L3_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_8); __pyx_t_8 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
__pyx_t_10 = <span class='py_c_api'>PyTuple_New</span>(3+__pyx_t_9);<span class='error_goto'> if (unlikely(!__pyx_t_10)) __PYX_ERR(3, 35, __pyx_L3_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_10);
|
||||
if (__pyx_t_8) {
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_8); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
|
||||
}
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_6);
|
||||
<span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 0+__pyx_t_9, __pyx_t_6);
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7);
|
||||
<span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 1+__pyx_t_9, __pyx_t_7);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_v_data));
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(((PyObject *)__pyx_v_data));
|
||||
<span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_10, 2+__pyx_t_9, ((PyObject *)__pyx_v_data));
|
||||
__pyx_t_6 = 0;
|
||||
__pyx_t_7 = 0;
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_5, __pyx_t_10, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 35, __pyx_L3_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_10); __pyx_t_10 = 0;
|
||||
}
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
|
||||
(void)(((PyObject *)__pyx_t_1));
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-0"> <span class="">036</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">037</span>: <span class="c">#if monDictGlobal[mpid] != <object>py_cb:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">038</span>: <span class="c"># print( monDictGlobal[mpid])</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">039</span>: <span class="c"># print( <object>py_cb)</span></pre>
|
||||
<pre class="cython line score-4" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">040</span>: <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-4 '> __pyx_t_9 = <span class='pyx_c_api'>__Pyx_PyErr_ExceptionMatches</span>(__pyx_builtin_TypeError);
|
||||
if (__pyx_t_9) {
|
||||
<span class='pyx_c_api'>__Pyx_ErrRestore</span>(0,0,0);
|
||||
goto __pyx_L4_exception_handled;
|
||||
}
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_3);
|
||||
<span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0+__pyx_t_6, __pyx_t_3);
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_4);
|
||||
<span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 1+__pyx_t_6, __pyx_t_4);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(((PyObject *)__pyx_v_data));
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(((PyObject *)__pyx_v_data));
|
||||
<span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 2+__pyx_t_6, ((PyObject *)__pyx_v_data));
|
||||
__pyx_t_3 = 0;
|
||||
__pyx_t_4 = 0;
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_2, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 33, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;
|
||||
}
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
(void)(((PyObject *)__pyx_t_1));
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-0"> <span class="">034</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">035</span>: <span class="c">#if monDictGlobal[mpid] != <object>py_cb:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">036</span>: <span class="c"># print( monDictGlobal[mpid])</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">037</span>: <span class="c"># print( <object>py_cb)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">038</span>: </pre>
|
||||
<pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">039</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
goto __pyx_L5_except_error;
|
||||
__pyx_L5_except_error:;
|
||||
</pre><pre class="cython line score-0"> <span class="">041</span>: <span class="k">pass</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">042</span>: </pre>
|
||||
<pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">043</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-6 '> {
|
||||
#ifdef WITH_THREAD
|
||||
PyThreadState *_save;
|
||||
@@ -609,24 +640,24 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='pyx_c_api'>__Pyx_FastGIL_Forget</span>();
|
||||
Py_BLOCK_THREADS
|
||||
#endif
|
||||
goto __pyx_L5;
|
||||
goto __pyx_L11;
|
||||
}
|
||||
__pyx_L3_return: {
|
||||
__pyx_L9_return: {
|
||||
#ifdef WITH_THREAD
|
||||
<span class='pyx_c_api'>__Pyx_FastGIL_Forget</span>();
|
||||
Py_BLOCK_THREADS
|
||||
#endif
|
||||
goto __pyx_L0;
|
||||
}
|
||||
__pyx_L5:;
|
||||
__pyx_L11:;
|
||||
}
|
||||
}
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">040</span>: <span class="k">return</span></pre>
|
||||
<pre class='cython code score-0 '> goto __pyx_L3_return;
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">044</span>: <span class="k">return</span></pre>
|
||||
<pre class='cython code score-0 '> goto __pyx_L9_return;
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">041</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">042</span>: </pre>
|
||||
<pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">043</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_ctrl_event_handler_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">045</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">046</span>: </pre>
|
||||
<pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">047</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_ctrl_event_handler_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span></pre>
|
||||
<pre class='cython code score-14 '>void cy_ctrl_event_handler_wrapper(void *__pyx_v_callback, unsigned int __pyx_v_handle, std::string __pyx_v_pvname, PVCtrlHolder __pyx_v_pvc) {
|
||||
struct __pyx_obj_6PyCafe_pvctrl *__pyx_v_data = 0;
|
||||
PyObject *__pyx_v_cbobjt = NULL;
|
||||
@@ -654,25 +685,25 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='pyx_c_api'>__Pyx_PyGILState_Release</span>(__pyx_gilstate_save);
|
||||
#endif
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">044</span>: <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">045</span>: <span class="n">string</span> <span class="n">pvname</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">046</span>: <span class="n">PVCtrlHolder</span> <span class="n">pvc</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">047</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">048</span>: <span class="c">#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVCTRL++++++= Handle/PVNAME :", handle, pvname)</span></pre>
|
||||
<pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">049</span>: <span class="k">cdef</span> <span class="kt">pvctrl</span> <span class="nf">data</span> <span class="o">=</span> <span class="n">PVCtrlHolderToStruct</span><span class="p">(</span><span class="n">pvc</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-0 '> __pyx_t_1 = ((PyObject *)__pyx_f_6PyCafe_PVCtrlHolderToStruct(__pyx_v_pvc, NULL));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 49, __pyx_L1_error)</span>
|
||||
</pre><pre class="cython line score-0"> <span class="">048</span>: <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">049</span>: <span class="n">string</span> <span class="n">pvname</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">050</span>: <span class="n">PVCtrlHolder</span> <span class="n">pvc</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">051</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">052</span>: <span class="c">#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVCTRL++++++= Handle/PVNAME :", handle, pvname)</span></pre>
|
||||
<pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">053</span>: <span class="k">cdef</span> <span class="kt">pvctrl</span> <span class="nf">data</span> <span class="o">=</span> <span class="n">PVCtrlHolderToStruct</span><span class="p">(</span><span class="n">pvc</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-0 '> __pyx_t_1 = ((PyObject *)__pyx_f_6PyCafe_PVCtrlHolderToStruct(__pyx_v_pvc, NULL));<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 53, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
__pyx_v_data = ((struct __pyx_obj_6PyCafe_pvctrl *)__pyx_t_1);
|
||||
__pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">050</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="p">(</span><span class="o"><</span><span class="n">void</span> <span class="o">*></span> <span class="n">callback</span><span class="p">)</span></pre>
|
||||
</pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">054</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="p">(</span><span class="o"><</span><span class="n">void</span> <span class="o">*></span> <span class="n">callback</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-1 '> __pyx_t_1 = ((PyObject *)((void *)__pyx_v_callback));
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1);
|
||||
__pyx_v_cbobjt = __pyx_t_1;
|
||||
__pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-47" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">051</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">pvname</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-47 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 51, __pyx_L1_error)</span>
|
||||
</pre><pre class="cython line score-47" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">055</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">pvname</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-47 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 55, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
__pyx_t_3 = <span class='pyx_c_api'>__pyx_convert_PyStr_string_to_py_std__in_string</span>(__pyx_v_pvname);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 51, __pyx_L1_error)</span>
|
||||
__pyx_t_3 = <span class='pyx_c_api'>__pyx_convert_PyStr_string_to_py_std__in_string</span>(__pyx_v_pvname);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 55, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_cbobjt);
|
||||
__pyx_t_4 = __pyx_v_cbobjt; __pyx_t_5 = NULL;
|
||||
@@ -690,7 +721,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
#if CYTHON_FAST_PYCALL
|
||||
if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_4)) {
|
||||
PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_data)};
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 51, __pyx_L1_error)</span>
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 55, __pyx_L1_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
@@ -700,7 +731,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
#if CYTHON_FAST_PYCCALL
|
||||
if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_4)) {
|
||||
PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_t_2, __pyx_t_3, ((PyObject *)__pyx_v_data)};
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 51, __pyx_L1_error)</span>
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 55, __pyx_L1_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
@@ -708,7 +739,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
__pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 51, __pyx_L1_error)</span>
|
||||
__pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(3+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 55, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);
|
||||
if (__pyx_t_5) {
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
|
||||
@@ -722,13 +753,13 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 2+__pyx_t_6, ((PyObject *)__pyx_v_data));
|
||||
__pyx_t_2 = 0;
|
||||
__pyx_t_3 = 0;
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_4, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 51, __pyx_L1_error)</span>
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_4, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 55, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;
|
||||
}
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">052</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
</pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">056</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-6 '> {
|
||||
#ifdef WITH_THREAD
|
||||
PyThreadState *_save;
|
||||
@@ -755,12 +786,12 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_L5:;
|
||||
}
|
||||
}
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">053</span>: <span class="k">return</span></pre>
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">057</span>: <span class="k">return</span></pre>
|
||||
<pre class='cython code score-0 '> goto __pyx_L3_return;
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">054</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">055</span>: </pre>
|
||||
<pre class="cython line score-13" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">056</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_event_handler_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">058</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">059</span>: </pre>
|
||||
<pre class="cython line score-13" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">060</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_event_handler_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span></pre>
|
||||
<pre class='cython code score-13 '>void cy_event_handler_wrapper(void *__pyx_v_callback, unsigned int __pyx_v_handle, std::string __pyx_v_pvname) {
|
||||
PyObject *__pyx_v_cbobjt = NULL;
|
||||
#ifdef WITH_THREAD
|
||||
@@ -786,20 +817,20 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='pyx_c_api'>__Pyx_PyGILState_Release</span>(__pyx_gilstate_save);
|
||||
#endif
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">057</span>: <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">058</span>: <span class="n">string</span> <span class="n">pvname</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">059</span>: <span class="c">#print(" cy_event_handler_wrapper=====+++++++++++++++HANDLEPV++++++= Handle/PVNAME :", handle, pvname)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">060</span>: <span class="c">#(<object>args[0])(<int>args[1], <string>args[2]) </span></pre>
|
||||
<pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">061</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="n">callback</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">061</span>: <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">062</span>: <span class="n">string</span> <span class="n">pvname</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">063</span>: <span class="c">#print(" cy_event_handler_wrapper=====+++++++++++++++HANDLEPV++++++= Handle/PVNAME :", handle, pvname)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">064</span>: <span class="c">#(<object>args[0])(<int>args[1], <string>args[2]) </span></pre>
|
||||
<pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">065</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="n">callback</span></pre>
|
||||
<pre class='cython code score-1 '> __pyx_t_1 = ((PyObject *)__pyx_v_callback);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1);
|
||||
__pyx_v_cbobjt = __pyx_t_1;
|
||||
__pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-0"> <span class="">062</span>: <span class="c">#cbobjt=<object>args[0]</span></pre>
|
||||
<pre class="cython line score-45" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">063</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">pvname</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-45 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 63, __pyx_L1_error)</span>
|
||||
</pre><pre class="cython line score-0"> <span class="">066</span>: <span class="c">#cbobjt=<object>args[0]</span></pre>
|
||||
<pre class="cython line score-45" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">067</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">pvname</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-45 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 67, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
__pyx_t_3 = <span class='pyx_c_api'>__pyx_convert_PyStr_string_to_py_std__in_string</span>(__pyx_v_pvname);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 63, __pyx_L1_error)</span>
|
||||
__pyx_t_3 = <span class='pyx_c_api'>__pyx_convert_PyStr_string_to_py_std__in_string</span>(__pyx_v_pvname);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 67, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_cbobjt);
|
||||
__pyx_t_4 = __pyx_v_cbobjt; __pyx_t_5 = NULL;
|
||||
@@ -817,7 +848,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
#if CYTHON_FAST_PYCALL
|
||||
if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_4)) {
|
||||
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_2, __pyx_t_3};
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 63, __pyx_L1_error)</span>
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 67, __pyx_L1_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
@@ -827,7 +858,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
#if CYTHON_FAST_PYCCALL
|
||||
if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_4)) {
|
||||
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_t_2, __pyx_t_3};
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 63, __pyx_L1_error)</span>
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 67, __pyx_L1_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_5); __pyx_t_5 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
@@ -835,7 +866,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
__pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 63, __pyx_L1_error)</span>
|
||||
__pyx_t_7 = <span class='py_c_api'>PyTuple_New</span>(2+__pyx_t_6);<span class='error_goto'> if (unlikely(!__pyx_t_7)) __PYX_ERR(3, 67, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_7);
|
||||
if (__pyx_t_5) {
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_5); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
|
||||
@@ -846,15 +877,15 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_7, 1+__pyx_t_6, __pyx_t_3);
|
||||
__pyx_t_2 = 0;
|
||||
__pyx_t_3 = 0;
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_4, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 63, __pyx_L1_error)</span>
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_4, __pyx_t_7, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 67, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_7); __pyx_t_7 = 0;
|
||||
}
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-0"> <span class="">064</span>: <span class="c">#cbobjt=<object>(<int>args[0], pvname)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">065</span>: </pre>
|
||||
<pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">066</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">068</span>: <span class="c">#cbobjt=<object>(<int>args[0], pvname)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">069</span>: </pre>
|
||||
<pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">070</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-6 '> {
|
||||
#ifdef WITH_THREAD
|
||||
PyThreadState *_save;
|
||||
@@ -881,11 +912,11 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_L5:;
|
||||
}
|
||||
}
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">067</span>: <span class="k">return</span></pre>
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">071</span>: <span class="k">return</span></pre>
|
||||
<pre class='cython code score-0 '> goto __pyx_L3_return;
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">068</span>: </pre>
|
||||
<pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">069</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_handle_handler_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">072</span>: </pre>
|
||||
<pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">073</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_handle_handler_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span></pre>
|
||||
<pre class='cython code score-11 '>void cy_handle_handler_wrapper(void *__pyx_v_callback, unsigned int __pyx_v_handle) {
|
||||
PyObject *__pyx_v_cbobjt = NULL;
|
||||
#ifdef WITH_THREAD
|
||||
@@ -909,16 +940,16 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='pyx_c_api'>__Pyx_PyGILState_Release</span>(__pyx_gilstate_save);
|
||||
#endif
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">070</span>: <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">071</span>: <span class="c">#print(" cy_handle_handler_wrapper=====+++++++++++++++HANDLEPV++++++= Handle:", handle)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">072</span>: </pre>
|
||||
<pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">073</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="n">callback</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">074</span>: <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">075</span>: <span class="c">#print(" cy_handle_handler_wrapper=====+++++++++++++++HANDLEPV++++++= Handle:", handle)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">076</span>: </pre>
|
||||
<pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">077</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="n">callback</span></pre>
|
||||
<pre class='cython code score-1 '> __pyx_t_1 = ((PyObject *)__pyx_v_callback);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1);
|
||||
__pyx_v_cbobjt = __pyx_t_1;
|
||||
__pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">074</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-19 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 74, __pyx_L1_error)</span>
|
||||
</pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">078</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-19 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 78, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_cbobjt);
|
||||
__pyx_t_3 = __pyx_v_cbobjt; __pyx_t_4 = NULL;
|
||||
@@ -934,11 +965,11 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_3, __pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(3, 74, __pyx_L1_error)</span>
|
||||
if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(3, 78, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">075</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
</pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">079</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-6 '> {
|
||||
#ifdef WITH_THREAD
|
||||
PyThreadState *_save;
|
||||
@@ -965,11 +996,11 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_L5:;
|
||||
}
|
||||
}
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">076</span>: <span class="k">return</span></pre>
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">080</span>: <span class="k">return</span></pre>
|
||||
<pre class='cython code score-0 '> goto __pyx_L3_return;
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">077</span>: </pre>
|
||||
<pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">078</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_connect_handler_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">081</span>: </pre>
|
||||
<pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">082</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_connect_handler_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span></pre>
|
||||
<pre class='cython code score-14 '>void cy_connect_handler_wrapper(void *__pyx_v_callback, unsigned int __pyx_v_handle, std::string __pyx_v_pvname, int __pyx_v_status) {
|
||||
PyObject *__pyx_v_cbobjt = NULL;
|
||||
#ifdef WITH_THREAD
|
||||
@@ -996,28 +1027,28 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='pyx_c_api'>__Pyx_PyGILState_Release</span>(__pyx_gilstate_save);
|
||||
#endif
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">079</span>: <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">080</span>: <span class="n">string</span> <span class="n">pvname</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">081</span>: <span class="nb">int</span> <span class="n">status</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">082</span>: <span class="c">#print(" cy_connect_handler_wrapper ====+++CONNECT++++++++++= Handle/PV/Status:", handle, pvname, status)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">083</span>: <span class="c">#print(" callback is ", <object> callback)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">084</span>: </pre>
|
||||
<pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">085</span>: <span class="k">if</span> <span class="n">callback</span><span class="p">:</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">083</span>: <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">084</span>: <span class="n">string</span> <span class="n">pvname</span><span class="p">,</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">085</span>: <span class="nb">int</span> <span class="n">status</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">086</span>: <span class="c">#print(" cy_connect_handler_wrapper ====+++CONNECT++++++++++= Handle/PV/Status:", handle, pvname, status)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">087</span>: <span class="c">#print(" callback is ", <object> callback)</span></pre>
|
||||
<pre class="cython line score-0"> <span class="">088</span>: </pre>
|
||||
<pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">089</span>: <span class="k">if</span> <span class="n">callback</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-0 '> __pyx_t_1 = (__pyx_v_callback != 0);
|
||||
if (__pyx_t_1) {
|
||||
/* … */
|
||||
}
|
||||
</pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">086</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="n">callback</span></pre>
|
||||
</pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">090</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="n">callback</span></pre>
|
||||
<pre class='cython code score-1 '> __pyx_t_2 = ((PyObject *)__pyx_v_callback);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_2);
|
||||
__pyx_v_cbobjt = __pyx_t_2;
|
||||
__pyx_t_2 = 0;
|
||||
</pre><pre class="cython line score-50" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">087</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">pvname</span><span class="p">,</span> <span class="n">status</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-50 '> __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 87, __pyx_L1_error)</span>
|
||||
</pre><pre class="cython line score-50" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">091</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">pvname</span><span class="p">,</span> <span class="n">status</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-50 '> __pyx_t_3 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_3)) __PYX_ERR(3, 91, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_3);
|
||||
__pyx_t_4 = <span class='pyx_c_api'>__pyx_convert_PyStr_string_to_py_std__in_string</span>(__pyx_v_pvname);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 87, __pyx_L1_error)</span>
|
||||
__pyx_t_4 = <span class='pyx_c_api'>__pyx_convert_PyStr_string_to_py_std__in_string</span>(__pyx_v_pvname);<span class='error_goto'> if (unlikely(!__pyx_t_4)) __PYX_ERR(3, 91, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_4);
|
||||
__pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_status);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 87, __pyx_L1_error)</span>
|
||||
__pyx_t_5 = <span class='pyx_c_api'>__Pyx_PyInt_From_int</span>(__pyx_v_status);<span class='error_goto'> if (unlikely(!__pyx_t_5)) __PYX_ERR(3, 91, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_5);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_cbobjt);
|
||||
__pyx_t_6 = __pyx_v_cbobjt; __pyx_t_7 = NULL;
|
||||
@@ -1035,7 +1066,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
#if CYTHON_FAST_PYCALL
|
||||
if (<span class='py_c_api'>PyFunction_Check</span>(__pyx_t_6)) {
|
||||
PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
|
||||
__pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 87, __pyx_L1_error)</span>
|
||||
__pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyFunction_FastCall</span>(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 91, __pyx_L1_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
|
||||
@@ -1046,7 +1077,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
#if CYTHON_FAST_PYCCALL
|
||||
if (<span class='pyx_c_api'>__Pyx_PyFastCFunction_Check</span>(__pyx_t_6)) {
|
||||
PyObject *__pyx_temp[4] = {__pyx_t_7, __pyx_t_3, __pyx_t_4, __pyx_t_5};
|
||||
__pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 87, __pyx_L1_error)</span>
|
||||
__pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyCFunction_FastCall</span>(__pyx_t_6, __pyx_temp+1-__pyx_t_8, 3+__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 91, __pyx_L1_error)</span>
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_7); __pyx_t_7 = 0;
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
|
||||
@@ -1055,7 +1086,7 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
__pyx_t_9 = <span class='py_c_api'>PyTuple_New</span>(3+__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 87, __pyx_L1_error)</span>
|
||||
__pyx_t_9 = <span class='py_c_api'>PyTuple_New</span>(3+__pyx_t_8);<span class='error_goto'> if (unlikely(!__pyx_t_9)) __PYX_ERR(3, 91, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_9);
|
||||
if (__pyx_t_7) {
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_7); <span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
|
||||
@@ -1069,14 +1100,14 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_t_3 = 0;
|
||||
__pyx_t_4 = 0;
|
||||
__pyx_t_5 = 0;
|
||||
__pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_6, __pyx_t_9, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 87, __pyx_L1_error)</span>
|
||||
__pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_t_6, __pyx_t_9, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 91, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_9); __pyx_t_9 = 0;
|
||||
}
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_6); __pyx_t_6 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
</pre><pre class="cython line score-0"> <span class="">088</span>: </pre>
|
||||
<pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">089</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">092</span>: </pre>
|
||||
<pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">093</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-6 '> {
|
||||
#ifdef WITH_THREAD
|
||||
PyThreadState *_save;
|
||||
@@ -1103,12 +1134,12 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_L6:;
|
||||
}
|
||||
}
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">090</span>: <span class="k">return</span></pre>
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">094</span>: <span class="k">return</span></pre>
|
||||
<pre class='cython code score-0 '> goto __pyx_L4_return;
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">091</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">092</span>: </pre>
|
||||
<pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">093</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_cb_handle_get_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span> <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">095</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">096</span>: </pre>
|
||||
<pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">097</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_cb_handle_get_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span> <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-11 '>void cy_cb_handle_get_wrapper(void *__pyx_v_callback, unsigned int __pyx_v_handle) {
|
||||
PyObject *__pyx_v_cbobjt = NULL;
|
||||
#ifdef WITH_THREAD
|
||||
@@ -1132,10 +1163,10 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='pyx_c_api'>__Pyx_PyGILState_Release</span>(__pyx_gilstate_save);
|
||||
#endif
|
||||
}
|
||||
</pre><pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">094</span>: <span class="k">print</span><span class="p">(</span><span class="s">" py_cb_handle_get_wrapper+++++++++++++GET++++++++++= Handle:"</span><span class="p">,</span> <span class="n">handle</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-14 '> __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 94, __pyx_L1_error)</span>
|
||||
</pre><pre class="cython line score-14" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">098</span>: <span class="k">print</span><span class="p">(</span><span class="s">" py_cb_handle_get_wrapper+++++++++++++GET++++++++++= Handle:"</span><span class="p">,</span> <span class="n">handle</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-14 '> __pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 98, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
__pyx_t_2 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 94, __pyx_L1_error)</span>
|
||||
__pyx_t_2 = <span class='py_c_api'>PyTuple_New</span>(2);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 98, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_kp_u_py_cb_handle_get_wrapper_GET_Ha);
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_kp_u_py_cb_handle_get_wrapper_GET_Ha);
|
||||
@@ -1143,17 +1174,17 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='refnanny'>__Pyx_GIVEREF</span>(__pyx_t_1);
|
||||
<span class='py_macro_api'>PyTuple_SET_ITEM</span>(__pyx_t_2, 1, __pyx_t_1);
|
||||
__pyx_t_1 = 0;
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_builtin_print, __pyx_t_2, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 94, __pyx_L1_error)</span>
|
||||
__pyx_t_1 = <span class='pyx_c_api'>__Pyx_PyObject_Call</span>(__pyx_builtin_print, __pyx_t_2, NULL);<span class='error_goto'> if (unlikely(!__pyx_t_1)) __PYX_ERR(3, 98, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">095</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="p">(</span><span class="o"><</span><span class="n">void</span> <span class="o">*></span> <span class="n">callback</span><span class="p">)</span></pre>
|
||||
</pre><pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">099</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="p">(</span><span class="o"><</span><span class="n">void</span> <span class="o">*></span> <span class="n">callback</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-1 '> __pyx_t_1 = ((PyObject *)((void *)__pyx_v_callback));
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1);
|
||||
__pyx_v_cbobjt = __pyx_t_1;
|
||||
__pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">096</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-19 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 96, __pyx_L1_error)</span>
|
||||
</pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">100</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-19 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 100, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_cbobjt);
|
||||
__pyx_t_3 = __pyx_v_cbobjt; __pyx_t_4 = NULL;
|
||||
@@ -1169,11 +1200,11 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_3, __pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(3, 96, __pyx_L1_error)</span>
|
||||
if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(3, 100, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">097</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
</pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">101</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-6 '> {
|
||||
#ifdef WITH_THREAD
|
||||
PyThreadState *_save;
|
||||
@@ -1200,12 +1231,12 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_L5:;
|
||||
}
|
||||
}
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">098</span>: <span class="k">return</span></pre>
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">102</span>: <span class="k">return</span></pre>
|
||||
<pre class='cython code score-0 '> goto __pyx_L3_return;
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">099</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">100</span>: </pre>
|
||||
<pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">101</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_cb_handle_put_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span> <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">103</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">104</span>: </pre>
|
||||
<pre class="cython line score-11" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">105</span>: <span class="k">cdef</span> <span class="kr">public</span> <span class="kt">void</span> <span class="nf">cy_cb_handle_put_wrapper</span><span class="p">(</span><span class="n">void</span> <span class="o">*</span> <span class="n">callback</span><span class="p">,</span> <span class="nb">unsigned</span> <span class="nb">int</span> <span class="n">handle</span><span class="p">)</span> <span class="k">with</span> <span class="k">gil</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-11 '>void cy_cb_handle_put_wrapper(void *__pyx_v_callback, unsigned int __pyx_v_handle) {
|
||||
PyObject *__pyx_v_cbobjt = NULL;
|
||||
#ifdef WITH_THREAD
|
||||
@@ -1229,14 +1260,14 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
<span class='pyx_c_api'>__Pyx_PyGILState_Release</span>(__pyx_gilstate_save);
|
||||
#endif
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">102</span>: <span class="c">#print(" py_cb_handle_put_wrapper+++++++++++++PUT++++++++++= Handle:", handle)</span></pre>
|
||||
<pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">103</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="p">(</span><span class="o"><</span><span class="n">void</span> <span class="o">*></span> <span class="n">callback</span><span class="p">)</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">106</span>: <span class="c">#print(" py_cb_handle_put_wrapper+++++++++++++PUT++++++++++= Handle:", handle)</span></pre>
|
||||
<pre class="cython line score-1" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">107</span>: <span class="n">cbobjt</span><span class="o">=</span><span class="p"><</span><span class="kt">object</span><span class="p">></span> <span class="p">(</span><span class="o"><</span><span class="n">void</span> <span class="o">*></span> <span class="n">callback</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-1 '> __pyx_t_1 = ((PyObject *)((void *)__pyx_v_callback));
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_t_1);
|
||||
__pyx_v_cbobjt = __pyx_t_1;
|
||||
__pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">104</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-19 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 104, __pyx_L1_error)</span>
|
||||
</pre><pre class="cython line score-19" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">108</span>: <span class="n">cbobjt</span><span class="p">(</span><span class="n">handle</span><span class="p">)</span></pre>
|
||||
<pre class='cython code score-19 '> __pyx_t_2 = <span class='pyx_c_api'>__Pyx_PyInt_From_unsigned_int</span>(__pyx_v_handle);<span class='error_goto'> if (unlikely(!__pyx_t_2)) __PYX_ERR(3, 108, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_INCREF</span>(__pyx_v_cbobjt);
|
||||
__pyx_t_3 = __pyx_v_cbobjt; __pyx_t_4 = NULL;
|
||||
@@ -1252,11 +1283,11 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_t_2) : <span class='pyx_c_api'>__Pyx_PyObject_CallOneArg</span>(__pyx_t_3, __pyx_t_2);
|
||||
<span class='pyx_macro_api'>__Pyx_XDECREF</span>(__pyx_t_4); __pyx_t_4 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_2); __pyx_t_2 = 0;
|
||||
if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(3, 104, __pyx_L1_error)</span>
|
||||
if (unlikely(!__pyx_t_1)) <span class='error_goto'>__PYX_ERR(3, 108, __pyx_L1_error)</span>
|
||||
<span class='refnanny'>__Pyx_GOTREF</span>(__pyx_t_1);
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_3); __pyx_t_3 = 0;
|
||||
<span class='pyx_macro_api'>__Pyx_DECREF</span>(__pyx_t_1); __pyx_t_1 = 0;
|
||||
</pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">105</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
</pre><pre class="cython line score-6" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">109</span>: <span class="k">with</span> <span class="k">nogil</span><span class="p">:</span></pre>
|
||||
<pre class='cython code score-6 '> {
|
||||
#ifdef WITH_THREAD
|
||||
PyThreadState *_save;
|
||||
@@ -1283,10 +1314,10 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
__pyx_L5:;
|
||||
}
|
||||
}
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">106</span>: <span class="k">return</span></pre>
|
||||
</pre><pre class="cython line score-0" onclick="(function(s){s.display=s.display==='block'?'none':'block'})(this.nextElementSibling.style)">+<span class="">110</span>: <span class="k">return</span></pre>
|
||||
<pre class='cython code score-0 '> goto __pyx_L3_return;
|
||||
}
|
||||
</pre><pre class="cython line score-0"> <span class="">107</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">108</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">109</span>: <span class="c"># ***********public***************</span></pre>
|
||||
</pre><pre class="cython line score-0"> <span class="">111</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">112</span>: </pre>
|
||||
<pre class="cython line score-0"> <span class="">113</span>: <span class="c"># ***********public***************</span></pre>
|
||||
</div></body></html>
|
||||
|
||||
@@ -20,22 +20,26 @@ cdef public void cy_data_event_handler_wrapper(void * callback,
|
||||
string pvname,
|
||||
PVDataHolder pvd) with gil:
|
||||
|
||||
global py_cb
|
||||
global py_cb
|
||||
|
||||
#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVDATA++++++(1)= Handle/PVNAME :", handle, pvname)
|
||||
cdef pvdata data = PVDataHolderToStruct(pvd)
|
||||
#data.show()
|
||||
py_cb = <object>(<void *> callback)
|
||||
#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVDATA++++++(2)= Handle/PVNAME :", handle, pvname)
|
||||
cdef HandleHelper hh
|
||||
mpid = hh.getUsrArgsAsUInt(handle)
|
||||
#print("monitorId", mpid)
|
||||
#monDictGlobal[mpid](handle, pvname, data)
|
||||
<object>py_cb(handle, pvname, data)
|
||||
try:
|
||||
#data.show()
|
||||
py_cb = <object>(<void *> callback)
|
||||
#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVDATA++++++(2)= Handle/PVNAME :", handle, pvname)
|
||||
##cdef HandleHelper hh
|
||||
## mpid = hh.getUsrArgsAsUInt(handle)
|
||||
#print("monitorId", mpid)
|
||||
#monDictGlobal[mpid](handle, pvname, data)
|
||||
<object>py_cb(handle, pvname, data)
|
||||
|
||||
#if monDictGlobal[mpid] != <object>py_cb:
|
||||
# print( monDictGlobal[mpid])
|
||||
# print( <object>py_cb)
|
||||
|
||||
#if monDictGlobal[mpid] != <object>py_cb:
|
||||
# print( monDictGlobal[mpid])
|
||||
# print( <object>py_cb)
|
||||
except TypeError:
|
||||
pass
|
||||
|
||||
with nogil:
|
||||
return
|
||||
|
||||
|
||||
109
PyCafeDefs_pub.pxi_06March2024
Normal file
109
PyCafeDefs_pub.pxi_06March2024
Normal file
@@ -0,0 +1,109 @@
|
||||
|
||||
cdef object py_cb_handle = None
|
||||
cdef object py_cb_handle_open = None
|
||||
|
||||
cdef object cbobjt = None
|
||||
|
||||
# ***********public or api***************
|
||||
# For when with pvdata
|
||||
|
||||
|
||||
cdef public void cy_monitor_handler_wrapper(void * callback) with gil:
|
||||
cbobjt=<object> (<void *> callback)
|
||||
cbobjt()
|
||||
with nogil:
|
||||
return
|
||||
|
||||
|
||||
cdef public void cy_data_event_handler_wrapper(void * callback,
|
||||
unsigned int handle,
|
||||
string pvname,
|
||||
PVDataHolder pvd) with gil:
|
||||
|
||||
global py_cb
|
||||
#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVDATA++++++(1)= Handle/PVNAME :", handle, pvname)
|
||||
cdef pvdata data = PVDataHolderToStruct(pvd)
|
||||
#data.show()
|
||||
py_cb = <object>(<void *> callback)
|
||||
#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVDATA++++++(2)= Handle/PVNAME :", handle, pvname)
|
||||
cdef HandleHelper hh
|
||||
mpid = hh.getUsrArgsAsUInt(handle)
|
||||
#print("monitorId", mpid)
|
||||
#monDictGlobal[mpid](handle, pvname, data)
|
||||
<object>py_cb(handle, pvname, data)
|
||||
|
||||
#if monDictGlobal[mpid] != <object>py_cb:
|
||||
# print( monDictGlobal[mpid])
|
||||
# print( <object>py_cb)
|
||||
|
||||
with nogil:
|
||||
return
|
||||
|
||||
|
||||
cdef public void cy_ctrl_event_handler_wrapper(void * callback,
|
||||
unsigned int handle,
|
||||
string pvname,
|
||||
PVCtrlHolder pvc) with gil:
|
||||
|
||||
#print(" cy_data_event_handler_wrapper=====+++++++++++++++PVCTRL++++++= Handle/PVNAME :", handle, pvname)
|
||||
cdef pvctrl data = PVCtrlHolderToStruct(pvc)
|
||||
cbobjt=<object> (<void *> callback)
|
||||
cbobjt(handle, pvname, data)
|
||||
with nogil:
|
||||
return
|
||||
|
||||
|
||||
cdef public void cy_event_handler_wrapper(void * callback,
|
||||
unsigned int handle,
|
||||
string pvname) with gil:
|
||||
#print(" cy_event_handler_wrapper=====+++++++++++++++HANDLEPV++++++= Handle/PVNAME :", handle, pvname)
|
||||
#(<object>args[0])(<int>args[1], <string>args[2])
|
||||
cbobjt=<object> callback
|
||||
#cbobjt=<object>args[0]
|
||||
cbobjt(handle, pvname)
|
||||
#cbobjt=<object>(<int>args[0], pvname)
|
||||
|
||||
with nogil:
|
||||
return
|
||||
|
||||
cdef public void cy_handle_handler_wrapper(void * callback,
|
||||
unsigned int handle) with gil:
|
||||
#print(" cy_handle_handler_wrapper=====+++++++++++++++HANDLEPV++++++= Handle:", handle)
|
||||
|
||||
cbobjt=<object> callback
|
||||
cbobjt(handle)
|
||||
with nogil:
|
||||
return
|
||||
|
||||
cdef public void cy_connect_handler_wrapper(void * callback,
|
||||
unsigned int handle,
|
||||
string pvname,
|
||||
int status) with gil:
|
||||
#print(" cy_connect_handler_wrapper ====+++CONNECT++++++++++= Handle/PV/Status:", handle, pvname, status)
|
||||
#print(" callback is ", <object> callback)
|
||||
|
||||
if callback:
|
||||
cbobjt=<object> callback
|
||||
cbobjt(handle, pvname, status)
|
||||
|
||||
with nogil:
|
||||
return
|
||||
|
||||
|
||||
cdef public void cy_cb_handle_get_wrapper(void * callback, unsigned int handle) with gil:
|
||||
print(" py_cb_handle_get_wrapper+++++++++++++GET++++++++++= Handle:", handle)
|
||||
cbobjt=<object> (<void *> callback)
|
||||
cbobjt(handle)
|
||||
with nogil:
|
||||
return
|
||||
|
||||
|
||||
cdef public void cy_cb_handle_put_wrapper(void * callback, unsigned int handle) with gil:
|
||||
#print(" py_cb_handle_put_wrapper+++++++++++++PUT++++++++++= Handle:", handle)
|
||||
cbobjt=<object> (<void *> callback)
|
||||
cbobjt(handle)
|
||||
with nogil:
|
||||
return
|
||||
|
||||
|
||||
# ***********public***************
|
||||
@@ -33,319 +33,319 @@ cdef void set_base(cnp.ndarray arr, void * carr):
|
||||
'''
|
||||
|
||||
cdef class CyCa:
|
||||
cpdef readonly unsigned int CY_DBE_VALUE
|
||||
cpdef readonly unsigned int CY_DBE_LOG
|
||||
cpdef readonly unsigned int CY_DBE_ARCHIVE
|
||||
cpdef readonly unsigned int CY_DBE_ALARM
|
||||
cpdef readonly unsigned int CY_DBE_PROPERTY
|
||||
cpdef readonly unsigned int CY_DBR_PRIMITIVE
|
||||
cpdef readonly unsigned int CY_DBR_PLAIN
|
||||
cpdef readonly unsigned int CY_DBR_STS
|
||||
cpdef readonly unsigned int CY_DBR_TIME
|
||||
cpdef readonly unsigned int CY_DBR_GR
|
||||
cpdef readonly unsigned int CY_DBR_CTRL
|
||||
cpdef readonly unsigned int CY_DBR_PUT
|
||||
cpdef readonly unsigned int CY_DBR_STSACK
|
||||
cpdef readonly unsigned int CY_DBR_CLASS
|
||||
cpdef readonly unsigned int CY_DBR_NONE
|
||||
cpdef readonly unsigned int CY_DBR_STRING # returns a NULL terminated string
|
||||
cpdef readonly unsigned int CY_DBR_SHORT # returns an unsigned short
|
||||
cpdef readonly unsigned int CY_DBR_INT # returns an unsigned short
|
||||
cdef readonly unsigned int CY_DBE_VALUE
|
||||
cdef readonly unsigned int CY_DBE_LOG
|
||||
cdef readonly unsigned int CY_DBE_ARCHIVE
|
||||
cdef readonly unsigned int CY_DBE_ALARM
|
||||
cdef readonly unsigned int CY_DBE_PROPERTY
|
||||
cdef readonly unsigned int CY_DBR_PRIMITIVE
|
||||
cdef readonly unsigned int CY_DBR_PLAIN
|
||||
cdef readonly unsigned int CY_DBR_STS
|
||||
cdef readonly unsigned int CY_DBR_TIME
|
||||
cdef readonly unsigned int CY_DBR_GR
|
||||
cdef readonly unsigned int CY_DBR_CTRL
|
||||
cdef readonly unsigned int CY_DBR_PUT
|
||||
cdef readonly unsigned int CY_DBR_STSACK
|
||||
cdef readonly unsigned int CY_DBR_CLASS
|
||||
cdef readonly unsigned int CY_DBR_NONE
|
||||
cdef readonly unsigned int CY_DBR_STRING # returns a NULL terminated string
|
||||
cdef readonly unsigned int CY_DBR_SHORT # returns an unsigned short
|
||||
cdef readonly unsigned int CY_DBR_INT # returns an unsigned short
|
||||
# returns an IEEE floating point value
|
||||
cpdef readonly unsigned int CY_DBR_FLOAT
|
||||
cdef readonly unsigned int CY_DBR_FLOAT
|
||||
# returns an unsigned short which is the enum item
|
||||
cpdef readonly unsigned int CY_DBR_ENUM
|
||||
cpdef readonly unsigned int CY_DBR_CHAR # returns an unsigned char
|
||||
cpdef readonly unsigned int CY_DBR_LONG # returns an unsigned long
|
||||
cdef readonly unsigned int CY_DBR_ENUM
|
||||
cdef readonly unsigned int CY_DBR_CHAR # returns an unsigned char
|
||||
cdef readonly unsigned int CY_DBR_LONG # returns an unsigned long
|
||||
# returns a double precision floating point number
|
||||
cpdef readonly unsigned int CY_DBR_DOUBLE
|
||||
cdef readonly unsigned int CY_DBR_DOUBLE
|
||||
# returns a string status structure (dbr_sts_string)
|
||||
cpdef readonly unsigned int CY_DBR_STS_STRING
|
||||
cdef readonly unsigned int CY_DBR_STS_STRING
|
||||
# returns a short status structure (dbr_sts_short)
|
||||
cpdef readonly unsigned int CY_DBR_STS_SHORT
|
||||
cdef readonly unsigned int CY_DBR_STS_SHORT
|
||||
# returns a short status structure (dbr_sts_int)
|
||||
cpdef readonly unsigned int CY_DBR_STS_INT
|
||||
cdef readonly unsigned int CY_DBR_STS_INT
|
||||
# returns a float status structure (dbr_sts_float)
|
||||
cpdef readonly unsigned int CY_DBR_STS_FLOAT
|
||||
cdef readonly unsigned int CY_DBR_STS_FLOAT
|
||||
# returns an enum status structure (dbr_sts_enum)
|
||||
cpdef readonly unsigned int CY_DBR_STS_ENUM
|
||||
cdef readonly unsigned int CY_DBR_STS_ENUM
|
||||
# returns a char status structure (dbr_sts_char)
|
||||
cpdef readonly unsigned int CY_DBR_STS_CHAR
|
||||
cdef readonly unsigned int CY_DBR_STS_CHAR
|
||||
# returns a long status structure (dbr_sts_long)
|
||||
cpdef readonly unsigned int CY_DBR_STS_LONG
|
||||
cdef readonly unsigned int CY_DBR_STS_LONG
|
||||
# returns a double status structure (dbr_sts_double)
|
||||
cpdef readonly unsigned int CY_DBR_STS_DOUBLE
|
||||
cdef readonly unsigned int CY_DBR_STS_DOUBLE
|
||||
# returns a string time structure (dbr_time_string)
|
||||
cpdef readonly unsigned int CY_DBR_TIME_STRING
|
||||
cdef readonly unsigned int CY_DBR_TIME_STRING
|
||||
# returns a short time structure (dbr_time_short)
|
||||
cpdef readonly unsigned int CY_DBR_TIME_SHORT
|
||||
cdef readonly unsigned int CY_DBR_TIME_SHORT
|
||||
# returns a short time structure (dbr_time_short)
|
||||
cpdef readonly unsigned int CY_DBR_TIME_INT
|
||||
cdef readonly unsigned int CY_DBR_TIME_INT
|
||||
# returns a float time structure (dbr_time_float)
|
||||
cpdef readonly unsigned int CY_DBR_TIME_FLOAT
|
||||
cdef readonly unsigned int CY_DBR_TIME_FLOAT
|
||||
# returns an enum time structure (dbr_time_enum)
|
||||
cpdef readonly unsigned int CY_DBR_TIME_ENUM
|
||||
cdef readonly unsigned int CY_DBR_TIME_ENUM
|
||||
# returns a char time structure (dbr_time_char)
|
||||
cpdef readonly unsigned int CY_DBR_TIME_CHAR
|
||||
cdef readonly unsigned int CY_DBR_TIME_CHAR
|
||||
# returns a long time structure (dbr_time_long)
|
||||
cpdef readonly unsigned int CY_DBR_TIME_LONG
|
||||
cdef readonly unsigned int CY_DBR_TIME_LONG
|
||||
# returns a double time structure (dbr_time_double)
|
||||
cpdef readonly unsigned int CY_DBR_TIME_DOUBLE
|
||||
cdef readonly unsigned int CY_DBR_TIME_DOUBLE
|
||||
# returns a graphic string structure (dbr_gr_string)
|
||||
cpdef readonly unsigned int CY_DBR_GR_STRING
|
||||
cdef readonly unsigned int CY_DBR_GR_STRING
|
||||
# returns a graphic short structure (dbr_gr_short)
|
||||
cpdef readonly unsigned int CY_DBR_GR_SHORT
|
||||
cdef readonly unsigned int CY_DBR_GR_SHORT
|
||||
# returns a graphic short structure (dbr_gr_int)
|
||||
cpdef readonly unsigned int CY_DBR_GR_INT
|
||||
cdef readonly unsigned int CY_DBR_GR_INT
|
||||
# returns a graphic float structure (dbr_gr_float)
|
||||
cpdef readonly unsigned int CY_DBR_GR_FLOAT
|
||||
cdef readonly unsigned int CY_DBR_GR_FLOAT
|
||||
# returns a graphic enum structure (dbr_gr_enum)
|
||||
cpdef readonly unsigned int CY_DBR_GR_ENUM
|
||||
cdef readonly unsigned int CY_DBR_GR_ENUM
|
||||
# returns a graphic char structure (dbr_gr_char)
|
||||
cpdef readonly unsigned int CY_DBR_GR_CHAR
|
||||
cdef readonly unsigned int CY_DBR_GR_CHAR
|
||||
# returns a graphic long structure (dbr_gr_long)
|
||||
cpdef readonly unsigned int CY_DBR_GR_LONG
|
||||
cdef readonly unsigned int CY_DBR_GR_LONG
|
||||
# returns a graphic double structure (dbr_gr_double)
|
||||
cpdef readonly unsigned int CY_DBR_GR_DOUBLE
|
||||
cdef readonly unsigned int CY_DBR_GR_DOUBLE
|
||||
# returns a control string structure (dbr_ctrl_int)
|
||||
cpdef readonly unsigned int CY_DBR_CTRL_STRING
|
||||
cdef readonly unsigned int CY_DBR_CTRL_STRING
|
||||
# returns a control short structure (dbr_ctrl_short)
|
||||
cpdef readonly unsigned int CY_DBR_CTRL_SHORT
|
||||
cdef readonly unsigned int CY_DBR_CTRL_SHORT
|
||||
# returns a control short structure (dbr_ctrl_int)
|
||||
cpdef readonly unsigned int CY_DBR_CTRL_INT
|
||||
cdef readonly unsigned int CY_DBR_CTRL_INT
|
||||
# returns a control float structure (dbr_ctrl_float)
|
||||
cpdef readonly unsigned int CY_DBR_CTRL_FLOAT
|
||||
cdef readonly unsigned int CY_DBR_CTRL_FLOAT
|
||||
# returns a control enum structure (dbr_ctrl_enum)
|
||||
cpdef readonly unsigned int CY_DBR_CTRL_ENUM
|
||||
cdef readonly unsigned int CY_DBR_CTRL_ENUM
|
||||
# returns a control char structure (dbr_ctrl_char)
|
||||
cpdef readonly unsigned int CY_DBR_CTRL_CHAR
|
||||
cdef readonly unsigned int CY_DBR_CTRL_CHAR
|
||||
# returns a control long structure (dbr_ctrl_long)
|
||||
cpdef readonly unsigned int CY_DBR_CTRL_LONG
|
||||
cdef readonly unsigned int CY_DBR_CTRL_LONG
|
||||
# returns a control double structure (dbr_ctrl_double)
|
||||
cpdef readonly unsigned int CY_DBR_CTRL_DOUBLE
|
||||
cdef readonly unsigned int CY_DBR_CTRL_DOUBLE
|
||||
|
||||
# cpdef readonly int CY_ECA_TIMEOUT
|
||||
# cdef readonly int CY_ECA_TIMEOUT
|
||||
|
||||
cpdef readonly int CY_ECA_NORMAL # 1
|
||||
cpdef readonly int CY_ECA_ALLOCMEM # 48
|
||||
cpdef readonly int CY_ECA_TOLARGE # 72
|
||||
cpdef readonly int CY_ECA_TIMEOUT # 80
|
||||
cpdef readonly int CY_ECA_BADTYPE # 114
|
||||
cpdef readonly int CY_ECA_INTERNAL # 142
|
||||
cpdef readonly int CY_ECA_GETFAIL # 152
|
||||
cpdef readonly int CY_ECA_PUTFAIL # 160
|
||||
cpdef readonly int CY_ECA_BADCOUNT # 176
|
||||
cpdef readonly int CY_ECA_BADSTR # 186
|
||||
cpdef readonly int CY_ECA_DISCONN # 192
|
||||
cpdef readonly int CY_ECA_DBLCHNL # 200
|
||||
cpdef readonly int CY_ECA_EVDISALLOW # 210
|
||||
cpdef readonly int CY_ECA_BADMONID # 242
|
||||
cpdef readonly int CY_ECA_BADMASK # 330
|
||||
cpdef readonly int CY_ECA_IODONE # 339
|
||||
cpdef readonly int CY_ECA_IOINPROGRESS # 347
|
||||
cpdef readonly int CY_ECA_BADSYNCGRP # 354
|
||||
cpdef readonly int CY_ECA_PUTCBINPROG # 362
|
||||
cpdef readonly int CY_ECA_NORDACCESS # 368
|
||||
cpdef readonly int CY_ECA_NOWTACCESS # 376
|
||||
cpdef readonly int CY_ECA_ANACHRONISM # 386
|
||||
cpdef readonly int CY_ECA_NOSEARCHADDR # 392
|
||||
cpdef readonly int CY_ECA_NOCONVERT # 400
|
||||
cpdef readonly int CY_ECA_BADCHID # 410
|
||||
cpdef readonly int CY_ECA_BADFUNCPTR # 418
|
||||
cpdef readonly int CY_ECA_ISATTACHED # 424
|
||||
cpdef readonly int CY_ECA_UNAVAILINSERV # 432
|
||||
cpdef readonly int CY_ECA_CHANDESTROY # 440
|
||||
cpdef readonly int CY_ECA_BADPRIORITY # 450
|
||||
cpdef readonly int CY_ECA_NOTTHREADED # 458
|
||||
cpdef readonly int CY_ECA_16KARRAYCLIENT # 464
|
||||
cpdef readonly int CY_ECA_CONNSEQTMO # 472
|
||||
cpdef readonly int CY_ECA_UNRESPTMO # 480
|
||||
cdef readonly int CY_ECA_NORMAL # 1
|
||||
cdef readonly int CY_ECA_ALLOCMEM # 48
|
||||
cdef readonly int CY_ECA_TOLARGE # 72
|
||||
cdef readonly int CY_ECA_TIMEOUT # 80
|
||||
cdef readonly int CY_ECA_BADTYPE # 114
|
||||
cdef readonly int CY_ECA_INTERNAL # 142
|
||||
cdef readonly int CY_ECA_GETFAIL # 152
|
||||
cdef readonly int CY_ECA_PUTFAIL # 160
|
||||
cdef readonly int CY_ECA_BADCOUNT # 176
|
||||
cdef readonly int CY_ECA_BADSTR # 186
|
||||
cdef readonly int CY_ECA_DISCONN # 192
|
||||
cdef readonly int CY_ECA_DBLCHNL # 200
|
||||
cdef readonly int CY_ECA_EVDISALLOW # 210
|
||||
cdef readonly int CY_ECA_BADMONID # 242
|
||||
cdef readonly int CY_ECA_BADMASK # 330
|
||||
cdef readonly int CY_ECA_IODONE # 339
|
||||
cdef readonly int CY_ECA_IOINPROGRESS # 347
|
||||
cdef readonly int CY_ECA_BADSYNCGRP # 354
|
||||
cdef readonly int CY_ECA_PUTCBINPROG # 362
|
||||
cdef readonly int CY_ECA_NORDACCESS # 368
|
||||
cdef readonly int CY_ECA_NOWTACCESS # 376
|
||||
cdef readonly int CY_ECA_ANACHRONISM # 386
|
||||
cdef readonly int CY_ECA_NOSEARCHADDR # 392
|
||||
cdef readonly int CY_ECA_NOCONVERT # 400
|
||||
cdef readonly int CY_ECA_BADCHID # 410
|
||||
cdef readonly int CY_ECA_BADFUNCPTR # 418
|
||||
cdef readonly int CY_ECA_ISATTACHED # 424
|
||||
cdef readonly int CY_ECA_UNAVAILINSERV # 432
|
||||
cdef readonly int CY_ECA_CHANDESTROY # 440
|
||||
cdef readonly int CY_ECA_BADPRIORITY # 450
|
||||
cdef readonly int CY_ECA_NOTTHREADED # 458
|
||||
cdef readonly int CY_ECA_16KARRAYCLIENT # 464
|
||||
cdef readonly int CY_ECA_CONNSEQTMO # 472
|
||||
cdef readonly int CY_ECA_UNRESPTMO # 480
|
||||
|
||||
cpdef readonly int ICAFE_CS_NEVER_CONN
|
||||
cpdef readonly int ICAFE_CS_PREV_CONN
|
||||
cpdef readonly int ICAFE_CS_CONN
|
||||
cpdef readonly int ICAFE_CS_CLOSED
|
||||
cpdef readonly int ICAFE_CS_DISCONN
|
||||
cpdef readonly int ICAFE_CS_UNKNOWN
|
||||
cdef readonly int ICAFE_CS_NEVER_CONN
|
||||
cdef readonly int ICAFE_CS_PREV_CONN
|
||||
cdef readonly int ICAFE_CS_CONN
|
||||
cdef readonly int ICAFE_CS_CLOSED
|
||||
cdef readonly int ICAFE_CS_DISCONN
|
||||
cdef readonly int ICAFE_CS_UNKNOWN
|
||||
|
||||
cpdef readonly int ICAFE_TYPENOTCONN
|
||||
cpdef readonly int ICAFE_RULE_FALSE
|
||||
cpdef readonly int ICAFE_BADCOUNT
|
||||
cpdef readonly int ICAFE_CALLBACK_NOT_YET_INVOKED
|
||||
cpdef readonly int ICAFE_WAITING_FOR_PREV_CALLBACK
|
||||
cpdef readonly int ICAFE_CACHE_EMPTY
|
||||
cpdef readonly int ICAFE_CHANNEL_BLOCKING_POLICY_CONFLICT
|
||||
cpdef readonly int ICAFE_MONITOR_DELAYED_AS_CONN_DOWN
|
||||
cpdef readonly int ICAFE_HAS_MONITOR_GET_DONE_FROM_CACHE
|
||||
cpdef readonly int ICAFE_SET_AND_GET_MISMATCH
|
||||
cdef readonly int ICAFE_TYPENOTCONN
|
||||
cdef readonly int ICAFE_RULE_FALSE
|
||||
cdef readonly int ICAFE_BADCOUNT
|
||||
cdef readonly int ICAFE_CALLBACK_NOT_YET_INVOKED
|
||||
cdef readonly int ICAFE_WAITING_FOR_PREV_CALLBACK
|
||||
cdef readonly int ICAFE_CACHE_EMPTY
|
||||
cdef readonly int ICAFE_CHANNEL_BLOCKING_POLICY_CONFLICT
|
||||
cdef readonly int ICAFE_MONITOR_DELAYED_AS_CONN_DOWN
|
||||
cdef readonly int ICAFE_HAS_MONITOR_GET_DONE_FROM_CACHE
|
||||
cdef readonly int ICAFE_SET_AND_GET_MISMATCH
|
||||
|
||||
cpdef readonly int ICAFE_CA_OP_GET
|
||||
cpdef readonly int ICAFE_CA_OP_PUT
|
||||
cpdef readonly int ICAFE_CA_OP_CREATE_CHANNEL
|
||||
cpdef readonly int ICAFE_CA_OP_ADD_EVENT
|
||||
cpdef readonly int ICAFE_CA_OP_CLEAR_EVENT
|
||||
cpdef readonly int ICAFE_CA_OP_OTHER
|
||||
cpdef readonly int ICAFE_CA_OP_CONN_DOWN
|
||||
cpdef readonly int ICAFE_CA_OP_CONN_UP
|
||||
cdef readonly int ICAFE_CA_OP_GET
|
||||
cdef readonly int ICAFE_CA_OP_PUT
|
||||
cdef readonly int ICAFE_CA_OP_CREATE_CHANNEL
|
||||
cdef readonly int ICAFE_CA_OP_ADD_EVENT
|
||||
cdef readonly int ICAFE_CA_OP_CLEAR_EVENT
|
||||
cdef readonly int ICAFE_CA_OP_OTHER
|
||||
cdef readonly int ICAFE_CA_OP_CONN_DOWN
|
||||
cdef readonly int ICAFE_CA_OP_CONN_UP
|
||||
|
||||
cpdef readonly int ICAFE_DAQ_RUN
|
||||
cpdef readonly int ICAFE_DAQ_PAUSED
|
||||
cpdef readonly int ICAFE_DAQ_STOPPED
|
||||
cdef readonly int ICAFE_DAQ_RUN
|
||||
cdef readonly int ICAFE_DAQ_PAUSED
|
||||
cdef readonly int ICAFE_DAQ_STOPPED
|
||||
|
||||
cpdef readonly int ECAFE_LOAD_COLLECTION
|
||||
cpdef readonly int ECAFE_LOAD_GROUP
|
||||
cdef readonly int ECAFE_LOAD_COLLECTION
|
||||
cdef readonly int ECAFE_LOAD_GROUP
|
||||
|
||||
cpdef readonly int ICAFE_NORMAL
|
||||
cpdef readonly int ICAFE_SUCCESS
|
||||
cdef readonly int ICAFE_NORMAL
|
||||
cdef readonly int ICAFE_SUCCESS
|
||||
|
||||
cpdef readonly int ECAFE_NODATA
|
||||
cpdef readonly int ECAFE_INVALID_TYPE
|
||||
cpdef readonly int ECAFE_BADCOUNT
|
||||
cpdef readonly int ECAFE_BADSTR
|
||||
cpdef readonly int ECAFE_BADTYPE
|
||||
cpdef readonly int ECAFE_NO_CONVERT
|
||||
cpdef readonly int ECAFE_NULLCONTEXT
|
||||
cpdef readonly int ECAFE_NULLCHID
|
||||
cpdef readonly int ECAFE_NULLEVID
|
||||
cpdef readonly int ECAFE_UNKNOWN_COLLECTION
|
||||
cpdef readonly int ECAFE_EMPTY_COLLECTION
|
||||
cpdef readonly int ECAFE_COLLECTION_PREV_DEF
|
||||
cpdef readonly int ECAFE_COLLECTION_INVALID_MEMBER
|
||||
cpdef readonly int ECAFE_RULE_FALSE
|
||||
cpdef readonly int ECAFE_UNKNOWN_GROUP
|
||||
cpdef readonly int ECAFE_EMPTY_GROUP
|
||||
cpdef readonly int ECAFE_GROUP_PREV_DEF
|
||||
cpdef readonly int ECAFE_INVALID_HANDLE
|
||||
cpdef readonly int ECAFE_INVALID_GROUP_HANDLE
|
||||
cpdef readonly int ECAFE_NORDACCESS
|
||||
cpdef readonly int ECAFE_NOWTACCESS
|
||||
cpdef readonly int ECAFE_TIMEOUT
|
||||
cpdef readonly int ECAFE_CANNOT_OPEN_FILE
|
||||
cpdef readonly int ECAFE_INVALID_SWITCH_CASE
|
||||
cpdef readonly int ECAFE_PVALIAS_PREV_DEF
|
||||
cpdef readonly int ECAFE_PVALIAS_INVALID
|
||||
cpdef readonly int ECAFE_PVNAME_PREV_DEF_AS_PVALIAS
|
||||
cpdef readonly int ECAFE_DEVICE_ATTRIB_NOT_FOUND
|
||||
cpdef readonly int ECAFE_HASH_UNIQUEID_EXISTS
|
||||
cpdef readonly int ECAFE_WRONG_CA_CONTEXT
|
||||
cpdef readonly int ECAFE_INVALID_CAFENUM_POLICY_TYPE
|
||||
cpdef readonly int ECAFE_MAX_MONITORS_PER_CHAN_EXCEEDED
|
||||
cpdef readonly int ECAFE_INVALID_ENUM_INDEX
|
||||
cpdef readonly int ECAFE_PVGROUP_GROUPHANDLE_MISMATCH
|
||||
cpdef readonly int ECAFE_TIMEOUT_SET_AND_MATCH
|
||||
cpdef readonly int ECAFE_HANDLE_MISMATCH_SET_AND_MATCH
|
||||
cpdef readonly int ECAFE_INCONSISTENT_CONTAINER_CORRECTED
|
||||
cdef readonly int ECAFE_NODATA
|
||||
cdef readonly int ECAFE_INVALID_TYPE
|
||||
cdef readonly int ECAFE_BADCOUNT
|
||||
cdef readonly int ECAFE_BADSTR
|
||||
cdef readonly int ECAFE_BADTYPE
|
||||
cdef readonly int ECAFE_NO_CONVERT
|
||||
cdef readonly int ECAFE_NULLCONTEXT
|
||||
cdef readonly int ECAFE_NULLCHID
|
||||
cdef readonly int ECAFE_NULLEVID
|
||||
cdef readonly int ECAFE_UNKNOWN_COLLECTION
|
||||
cdef readonly int ECAFE_EMPTY_COLLECTION
|
||||
cdef readonly int ECAFE_COLLECTION_PREV_DEF
|
||||
cdef readonly int ECAFE_COLLECTION_INVALID_MEMBER
|
||||
cdef readonly int ECAFE_RULE_FALSE
|
||||
cdef readonly int ECAFE_UNKNOWN_GROUP
|
||||
cdef readonly int ECAFE_EMPTY_GROUP
|
||||
cdef readonly int ECAFE_GROUP_PREV_DEF
|
||||
cdef readonly int ECAFE_INVALID_HANDLE
|
||||
cdef readonly int ECAFE_INVALID_GROUP_HANDLE
|
||||
cdef readonly int ECAFE_NORDACCESS
|
||||
cdef readonly int ECAFE_NOWTACCESS
|
||||
cdef readonly int ECAFE_TIMEOUT
|
||||
cdef readonly int ECAFE_CANNOT_OPEN_FILE
|
||||
cdef readonly int ECAFE_INVALID_SWITCH_CASE
|
||||
cdef readonly int ECAFE_PVALIAS_PREV_DEF
|
||||
cdef readonly int ECAFE_PVALIAS_INVALID
|
||||
cdef readonly int ECAFE_PVNAME_PREV_DEF_AS_PVALIAS
|
||||
cdef readonly int ECAFE_DEVICE_ATTRIB_NOT_FOUND
|
||||
cdef readonly int ECAFE_HASH_UNIQUEID_EXISTS
|
||||
cdef readonly int ECAFE_WRONG_CA_CONTEXT
|
||||
cdef readonly int ECAFE_INVALID_CAFENUM_POLICY_TYPE
|
||||
cdef readonly int ECAFE_MAX_MONITORS_PER_CHAN_EXCEEDED
|
||||
cdef readonly int ECAFE_INVALID_ENUM_INDEX
|
||||
cdef readonly int ECAFE_PVGROUP_GROUPHANDLE_MISMATCH
|
||||
cdef readonly int ECAFE_TIMEOUT_SET_AND_MATCH
|
||||
cdef readonly int ECAFE_HANDLE_MISMATCH_SET_AND_MATCH
|
||||
cdef readonly int ECAFE_INCONSISTENT_CONTAINER_CORRECTED
|
||||
|
||||
cpdef readonly int ECAFE_BPM_DATA_IS_INVALID
|
||||
cdef readonly int ECAFE_BPM_DATA_IS_INVALID
|
||||
|
||||
cpdef readonly int ECAFE_BITSHUFF_DECOMPRESS
|
||||
cpdef readonly int ECAFE_BITSHUFF_ALLOCMEM
|
||||
cpdef readonly int ECAFE_BITSHUFF_REALLOCMEM
|
||||
cpdef readonly int ECAFE_BITSHUFF_BADCOUNT
|
||||
cdef readonly int ECAFE_BITSHUFF_DECOMPRESS
|
||||
cdef readonly int ECAFE_BITSHUFF_ALLOCMEM
|
||||
cdef readonly int ECAFE_BITSHUFF_REALLOCMEM
|
||||
cdef readonly int ECAFE_BITSHUFF_BADCOUNT
|
||||
|
||||
cpdef readonly int ECAFE_BSREAD_MULTIPART_MESS_NODATA
|
||||
cpdef readonly int ECAFE_BSREAD_PARSEFAIL_MAINHEADER
|
||||
cpdef readonly int ECAFE_BSREAD_PARSEFAIL_DATAHEADER
|
||||
cpdef readonly int ECAFE_BSREAD_ZMQSTREAM_NULL
|
||||
cdef readonly int ECAFE_BSREAD_MULTIPART_MESS_NODATA
|
||||
cdef readonly int ECAFE_BSREAD_PARSEFAIL_MAINHEADER
|
||||
cdef readonly int ECAFE_BSREAD_PARSEFAIL_DATAHEADER
|
||||
cdef readonly int ECAFE_BSREAD_ZMQSTREAM_NULL
|
||||
|
||||
cpdef readonly int ERRNO_EINTR
|
||||
cpdef readonly int ERRNO_EAGAIN
|
||||
cpdef readonly int ERRNO_EFAULT
|
||||
cpdef readonly int ERRNO_EINVAL
|
||||
cpdef readonly int ERRNO_ENOTSOCK
|
||||
cpdef readonly int ERRNO_EPROTONOSUPPORT
|
||||
cdef readonly int ERRNO_EINTR
|
||||
cdef readonly int ERRNO_EAGAIN
|
||||
cdef readonly int ERRNO_EFAULT
|
||||
cdef readonly int ERRNO_EINVAL
|
||||
cdef readonly int ERRNO_ENOTSOCK
|
||||
cdef readonly int ERRNO_EPROTONOSUPPORT
|
||||
|
||||
cpdef readonly int SEV_NO_ALARM
|
||||
cpdef readonly int SEV_MINOR
|
||||
cpdef readonly int SEV_MAJOR
|
||||
cpdef readonly int SEV_INVALID
|
||||
cdef readonly int SEV_NO_ALARM
|
||||
cdef readonly int SEV_MINOR
|
||||
cdef readonly int SEV_MAJOR
|
||||
cdef readonly int SEV_INVALID
|
||||
|
||||
cpdef readonly int STAT_NO_ALARM
|
||||
cpdef readonly int STAT_READ
|
||||
cpdef readonly int STAT_WRITE
|
||||
cpdef readonly int STAT_HIHI
|
||||
cpdef readonly int STAT_HIGH
|
||||
cpdef readonly int STAT_LOLO
|
||||
cpdef readonly int STAT_LOW
|
||||
cpdef readonly int STAT_STATE
|
||||
cpdef readonly int STAT_COS
|
||||
cpdef readonly int STAT_COMM
|
||||
cpdef readonly int STAT_TIMEOUT
|
||||
cpdef readonly int STAT_HWLIMIT
|
||||
cpdef readonly int STAT_CALC
|
||||
cpdef readonly int STAT_SCAN
|
||||
cpdef readonly int STAT_LINK
|
||||
cpdef readonly int STAT_SOFT
|
||||
cpdef readonly int STAT_BAD_SUB
|
||||
cpdef readonly int STAT_UDF
|
||||
cpdef readonly int STAT_DISABLE
|
||||
cpdef readonly int STAT_SIMM
|
||||
cpdef readonly int STAT_READ_ACCESS
|
||||
cpdef readonly int STAT_WRITE_ACCESS
|
||||
cdef readonly int STAT_NO_ALARM
|
||||
cdef readonly int STAT_READ
|
||||
cdef readonly int STAT_WRITE
|
||||
cdef readonly int STAT_HIHI
|
||||
cdef readonly int STAT_HIGH
|
||||
cdef readonly int STAT_LOLO
|
||||
cdef readonly int STAT_LOW
|
||||
cdef readonly int STAT_STATE
|
||||
cdef readonly int STAT_COS
|
||||
cdef readonly int STAT_COMM
|
||||
cdef readonly int STAT_TIMEOUT
|
||||
cdef readonly int STAT_HWLIMIT
|
||||
cdef readonly int STAT_CALC
|
||||
cdef readonly int STAT_SCAN
|
||||
cdef readonly int STAT_LINK
|
||||
cdef readonly int STAT_SOFT
|
||||
cdef readonly int STAT_BAD_SUB
|
||||
cdef readonly int STAT_UDF
|
||||
cdef readonly int STAT_DISABLE
|
||||
cdef readonly int STAT_SIMM
|
||||
cdef readonly int STAT_READ_ACCESS
|
||||
cdef readonly int STAT_WRITE_ACCESS
|
||||
|
||||
# ctypedef enum ChannelRequestPolicyKind:
|
||||
cpdef readonly unsigned int WITHOUT_CALLBACK
|
||||
cpdef readonly unsigned int WITH_CALLBACK_DEFAULT
|
||||
cpdef readonly unsigned int WITH_CALLBACK_USER_SUPPLIED
|
||||
cdef readonly unsigned int WITHOUT_CALLBACK
|
||||
cdef readonly unsigned int WITH_CALLBACK_DEFAULT
|
||||
cdef readonly unsigned int WITH_CALLBACK_USER_SUPPLIED
|
||||
|
||||
# ChannelFlushSendBufferPolicyKind:
|
||||
cpdef readonly unsigned int WITH_FLUSH_IO
|
||||
cpdef readonly unsigned int WITH_PEND_IO
|
||||
cpdef readonly unsigned int WITH_PEND_EVENT
|
||||
cpdef readonly unsigned int WITH_POLL
|
||||
cdef readonly unsigned int WITH_FLUSH_IO
|
||||
cdef readonly unsigned int WITH_PEND_IO
|
||||
cdef readonly unsigned int WITH_PEND_EVENT
|
||||
cdef readonly unsigned int WITH_POLL
|
||||
|
||||
# ChannelWhenToFlushSendBufferPolicyKind:
|
||||
cpdef readonly unsigned int FLUSH_AUTOMATIC
|
||||
cpdef readonly unsigned int FLUSH_NOW
|
||||
cpdef readonly unsigned int FLUSH_AFTER_EACH_CHANNEL_CREATION
|
||||
cpdef readonly unsigned int FLUSH_AFTER_EACH_CHANNEL_SUBSCRIPTION
|
||||
cpdef readonly unsigned int FLUSH_AFTER_EACH_MESSAGE
|
||||
cpdef readonly unsigned int FLUSH_AFTER_EACH_GROUP_CREATION
|
||||
cpdef readonly unsigned int FLUSH_DESIGNATED_TO_CLIENT
|
||||
cdef readonly unsigned int FLUSH_AUTOMATIC
|
||||
cdef readonly unsigned int FLUSH_NOW
|
||||
cdef readonly unsigned int FLUSH_AFTER_EACH_CHANNEL_CREATION
|
||||
cdef readonly unsigned int FLUSH_AFTER_EACH_CHANNEL_SUBSCRIPTION
|
||||
cdef readonly unsigned int FLUSH_AFTER_EACH_MESSAGE
|
||||
cdef readonly unsigned int FLUSH_AFTER_EACH_GROUP_CREATION
|
||||
cdef readonly unsigned int FLUSH_DESIGNATED_TO_CLIENT
|
||||
|
||||
# ChannelGetCacheWaitPolicyKind:
|
||||
cpdef readonly unsigned int GET_CACHE_NO_CHECK
|
||||
cpdef readonly unsigned int GET_CACHE_NO_WAIT
|
||||
cpdef readonly unsigned int GET_CACHE_NOW
|
||||
cpdef readonly unsigned int GET_CACHE_WAIT
|
||||
cdef readonly unsigned int GET_CACHE_NO_CHECK
|
||||
cdef readonly unsigned int GET_CACHE_NO_WAIT
|
||||
cdef readonly unsigned int GET_CACHE_NOW
|
||||
cdef readonly unsigned int GET_CACHE_WAIT
|
||||
|
||||
# ChannelGetActionWhenMonitorPolicyKind:
|
||||
cpdef readonly unsigned int GET_FROM_CACHE
|
||||
cpdef readonly unsigned int GET_FROM_IOC
|
||||
cdef readonly unsigned int GET_FROM_CACHE
|
||||
cdef readonly unsigned int GET_FROM_IOC
|
||||
|
||||
# ChannelRequestDataTypePolicyKind:
|
||||
cpdef readonly unsigned int NATIVE_DATATYPE
|
||||
cdef readonly unsigned int NATIVE_DATATYPE
|
||||
# The smaller in byte size of type requested and native datatype
|
||||
cpdef readonly unsigned int LOWEST_DATATYPE
|
||||
cdef readonly unsigned int LOWEST_DATATYPE
|
||||
|
||||
# ChannelWaitForResponsePolicyKind:
|
||||
cpdef readonly unsigned int BLOCKING
|
||||
cpdef readonly unsigned int WAIT
|
||||
cpdef readonly unsigned int NON_BLOCKING
|
||||
cpdef readonly unsigned int NO_WAIT
|
||||
cdef readonly unsigned int BLOCKING
|
||||
cdef readonly unsigned int WAIT
|
||||
cdef readonly unsigned int NON_BLOCKING
|
||||
cdef readonly unsigned int NO_WAIT
|
||||
|
||||
# StatusMessageKind:
|
||||
cpdef readonly unsigned int NO_MESSAGE
|
||||
cpdef readonly unsigned int PRE_REQUEST
|
||||
cpdef readonly unsigned int FROM_REQUEST
|
||||
cpdef readonly unsigned int FROM_PEND
|
||||
cpdef readonly unsigned int FROM_CALLBACK
|
||||
cpdef readonly unsigned int FROM_MESSAGE
|
||||
cdef readonly unsigned int NO_MESSAGE
|
||||
cdef readonly unsigned int PRE_REQUEST
|
||||
cdef readonly unsigned int FROM_REQUEST
|
||||
cdef readonly unsigned int FROM_PEND
|
||||
cdef readonly unsigned int FROM_CALLBACK
|
||||
cdef readonly unsigned int FROM_MESSAGE
|
||||
|
||||
# CallbackProgressKind:
|
||||
cpdef readonly unsigned int NOT_INITIATED
|
||||
cpdef readonly unsigned int PENDING
|
||||
cpdef readonly unsigned int COMPLETE
|
||||
cdef readonly unsigned int NOT_INITIATED
|
||||
cdef readonly unsigned int PENDING
|
||||
cdef readonly unsigned int COMPLETE
|
||||
|
||||
# deines.h:
|
||||
cpdef readonly double DEFAULT_TIMEOUT_PEND_EVENT
|
||||
cpdef readonly double DEFAULT_TIMEOUT_PEND_IO
|
||||
cdef readonly double DEFAULT_TIMEOUT_PEND_EVENT
|
||||
cdef readonly double DEFAULT_TIMEOUT_PEND_IO
|
||||
|
||||
cpdef readonly string INVALID_ENUM_RETURN_STRING
|
||||
cpdef readonly short INVALID_ENUM_RETURN_VALUE
|
||||
cdef readonly string INVALID_ENUM_RETURN_STRING
|
||||
cdef readonly short INVALID_ENUM_RETURN_VALUE
|
||||
|
||||
cpdef readonly unsigned short BSREAD_ZEROMQ_HIGH_WATER_MARK
|
||||
cpdef readonly short BSREAD_ZEROMQ_TIMEOUT_MS
|
||||
cdef readonly unsigned short BSREAD_ZEROMQ_HIGH_WATER_MARK
|
||||
cdef readonly short BSREAD_ZEROMQ_TIMEOUT_MS
|
||||
|
||||
def __cinit__(self):
|
||||
|
||||
@@ -1047,9 +1047,9 @@ cdef class pvgroup:
|
||||
cdef public string name
|
||||
cdef readonly int groupStatus
|
||||
cdef public unsigned int groupHandle
|
||||
cpdef public bint rule
|
||||
cpdef public bint hasAlarm
|
||||
cpdef public bint hasTS
|
||||
cdef public bint rule
|
||||
cdef public bint hasAlarm
|
||||
cdef public bint hasTS
|
||||
|
||||
def __cinit__(self):
|
||||
self.groupStatus = ICAFE_NORMAL
|
||||
@@ -1301,14 +1301,14 @@ cdef pvdata PVDataHolderToStruct(PVDataHolder pvd, dt=None):
|
||||
#print( p1.tsDateAsString, "//", p1.bsDateAsString)
|
||||
pvd._etsNorm = pvd.getEpicsTimeStampAsUInt32()
|
||||
|
||||
cpdef ll = []
|
||||
cdef ll = []
|
||||
ll.append((pvd._etsNorm).secPastEpoch)
|
||||
ll.append((pvd._etsNorm).nsec)
|
||||
p1.ts = ll
|
||||
|
||||
pvd._etsDate = pvd.getEpicsTimeStampAsDate()
|
||||
|
||||
cpdef ld = []
|
||||
cdef ld = []
|
||||
ld.append((pvd._etsDate).year)
|
||||
ld.append((pvd._etsDate).mon)
|
||||
ld.append((pvd._etsDate).day)
|
||||
|
||||
3014
PyCafeDefs_sf.html
3014
PyCafeDefs_sf.html
File diff suppressed because it is too large
Load Diff
@@ -130,13 +130,26 @@ cdef extern from "time.h":
|
||||
int tm_yday # days since January 1 0-365
|
||||
int tm_isdst # Daylight Saving Time flag
|
||||
|
||||
|
||||
#cdef extern from "epicsTime.h":
|
||||
# ctypedef void throwError
|
||||
|
||||
#cdef extern from "epicsTime.h":
|
||||
# ctypedef LIBCOM_API epicsTime
|
||||
# cdef cppclass LIBCOM_API:
|
||||
# ctypedef void throwError
|
||||
|
||||
|
||||
cdef extern from "epicsTime.h":
|
||||
cdef struct epicsTimeStamp:
|
||||
unsigned int secPastEpoch # seconds since 0000 Jan 1, 1990
|
||||
unsigned int nsec
|
||||
cdef cppclass epicsTime:
|
||||
epicsTime (const epicsTimeStamp &)
|
||||
epicsTime & operator = (const epicsTimeStamp & )
|
||||
#epicsTime (const epicsTimeStamp &)
|
||||
#epicsTime & operator = (const epicsTimeStamp & )
|
||||
void throwError (int)
|
||||
epicsTime()
|
||||
|
||||
cdef struct local_tm_nano_sec:
|
||||
tm ansi_tm
|
||||
unsigned long nSec
|
||||
@@ -1356,6 +1369,8 @@ cdef extern from "cafe.h":
|
||||
int match(double, const unsigned int, double tolerance, double timeout, bint printFlag) nogil
|
||||
int matchMany(vector[double], vector[unsigned int], double tolerance, double timeout, bint printFlag) nogil
|
||||
|
||||
int matchManyWithStatus(vector[double], vector[unsigned int], double tolerance, double timeout, bint printFlag, vector[int] &) nogil
|
||||
|
||||
#int readDBPMOffsets(DBPMKeeper &)
|
||||
#int getDBPM(DBPMKeeper &) nogil
|
||||
|
||||
|
||||
@@ -1664,7 +1664,7 @@ cdef class CyCafe:
|
||||
cdef HandleHelper hh
|
||||
hh._etsNorm = self.hh.getEpicsTimeStampAsUInt32(handlePV)
|
||||
|
||||
cpdef ll = []
|
||||
cdef ll = []
|
||||
ll.append(hh._etsNorm.secPastEpoch)
|
||||
ll.append(hh._etsNorm.nsec)
|
||||
|
||||
@@ -1675,7 +1675,7 @@ cdef class CyCafe:
|
||||
def getTimeStampAsDate(self, handlePV):
|
||||
|
||||
cdef HandleHelper hh
|
||||
cpdef ld = []
|
||||
cdef ld = []
|
||||
|
||||
hh._etsDate = self.hh.getEpicsTimeStampAsDate(handlePV)
|
||||
ld.append(hh._etsDate.year)
|
||||
@@ -1690,7 +1690,7 @@ cdef class CyCafe:
|
||||
|
||||
############################################################################
|
||||
### Allow user to choose whether or not to open #####
|
||||
cpdef checkForHandle(self, str pv, bint force=True):
|
||||
def checkForHandle(self, str pv, bint force=True):
|
||||
cdef unsigned int _handle = 0
|
||||
_handle = self.hh.getHandleFromPV(pv)
|
||||
if _handle == 0:
|
||||
@@ -1703,7 +1703,7 @@ cdef class CyCafe:
|
||||
############################################################################
|
||||
|
||||
############################################################################
|
||||
cpdef checkForHandleList(self, list pvList, bint force=True):
|
||||
def checkForHandleList(self, list pvList, bint force=True):
|
||||
|
||||
cdef unsigned int nToOpen = 0
|
||||
handleList = []
|
||||
@@ -1724,7 +1724,7 @@ cdef class CyCafe:
|
||||
############################################################################
|
||||
|
||||
############################################################################
|
||||
cpdef checkForGroupHandle(self, str gName, bint force=True):
|
||||
def checkForGroupHandle(self, str gName, bint force=True):
|
||||
cdef unsigned int _ghandle = 0
|
||||
_ghandle = self.hh.getGroupHandleFromGroupName(gName)
|
||||
if _ghandle == 0:
|
||||
@@ -3428,7 +3428,7 @@ cdef class CyCafe:
|
||||
cdef CAFEDataTypeCode cdt
|
||||
|
||||
pvdList = []
|
||||
cpdef pvdata p1
|
||||
cdef pvdata p1
|
||||
|
||||
cdef bytes bytesVal
|
||||
|
||||
@@ -4069,7 +4069,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
|
||||
|
||||
nelemPrevious = []
|
||||
|
||||
print("<========getScalarList=====>")
|
||||
|
||||
|
||||
for i in range(0, len(handleList)):
|
||||
nelemPrevious.append(self._c_cafe.setNelemToOne(handleList[i]))
|
||||
@@ -4103,7 +4103,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
|
||||
with nogil:
|
||||
status = self._c_cafe.getV(v, vStatus)
|
||||
|
||||
print("getScalarList")
|
||||
|
||||
#for i in range(0, len(vStatus)):
|
||||
# print (vStatus[i])
|
||||
# print("====")
|
||||
@@ -4136,7 +4136,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
|
||||
cdef unsigned int dtcheck = CAFE_NOT_REQUESTED # native type not yet know
|
||||
dtcheck = getMatchedDataType(dt, dtcheck)
|
||||
|
||||
print ("dt=", dt, "dtcheck=", dtcheck)
|
||||
#print ("dt=", dt, "dtcheck=", dtcheck)
|
||||
|
||||
if dtcheck in [CAFE_STRING]:
|
||||
|
||||
@@ -4240,11 +4240,11 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
|
||||
|
||||
cdef PVDataHolder * pvd = self._c_cafe.getPVData(v)
|
||||
|
||||
for i in range (0, len(handleList)):
|
||||
print (pvd[i].getPVName(), pvd[i].getAsString(), " [",i,"]", pvd[i].getStatus())
|
||||
#for i in range (0, len(handleList)):
|
||||
# print (pvd[i].getPVName(), pvd[i].getAsString(), " [",i,"]", pvd[i].getStatus())
|
||||
|
||||
|
||||
print ("-----------------------------------------------------------------")
|
||||
|
||||
|
||||
# cdef PVDataHolder * pvd = \
|
||||
# <PVDataHolder *>malloc( 100000000 + \
|
||||
@@ -4303,7 +4303,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
|
||||
dtn = pvd[i].getDataType()
|
||||
dtcheck = getMatchedDataType(dt, dtn)
|
||||
|
||||
print ("dt=", dt, "dtn=", dtn, "dtcheck=", dtcheck)
|
||||
#print ("dt=", dt, "dtn=", dtn, "dtcheck=", dtcheck)
|
||||
#print (pvd[i].getAsString())
|
||||
#print (pvd[i].getAsDouble())
|
||||
|
||||
@@ -4360,7 +4360,7 @@ First input argument, should be a 'list' of of type <class 'int'> if handles or
|
||||
print("Entering 0 for element", i,
|
||||
"as channel is not connected!")
|
||||
|
||||
print (" vstatus = ", vStatus[i] , " pvd[i].status ", pvd[i].getStatus() )
|
||||
#print (" vstatus = ", vStatus[i] , " pvd[i].status ", pvd[i].getStatus() )
|
||||
|
||||
# free(pvd)
|
||||
if (cacheFlag == True):
|
||||
@@ -4782,7 +4782,7 @@ First input argument, should be of type <class 'int'> if group handle, else <cla
|
||||
|
||||
localListToStruct.append(p1)
|
||||
|
||||
cpdef pvgroup pg
|
||||
cdef pvgroup pg
|
||||
|
||||
pg = pvgroup()
|
||||
|
||||
@@ -6382,7 +6382,7 @@ No of group members doe not match the length of callback object list")
|
||||
#print(pvd[i].getAsString(0), " " , pvd[i].getStatus())
|
||||
#print(pvd[i].getEpicsTimeStampAsUInt32().secPastEpoch, " ", pvd[i].getEpicsTimeStampAsUInt32().nsec)
|
||||
localList.append(PVDataHolderToStruct(pvd[i], dt))
|
||||
cpdef pvgroup pg
|
||||
cdef pvgroup pg
|
||||
|
||||
pg = pvgroup()
|
||||
|
||||
@@ -6449,7 +6449,7 @@ No of group members doe not match the length of callback object list")
|
||||
#print(pvd[i].getAsString(0), " " , pvd[i].getStatus())
|
||||
#print(pvd[i].getEpicsTimeStampAsUInt32().secPastEpoch, " ", pvd[i].getEpicsTimeStampAsUInt32().nsec)
|
||||
localList.append(PVDataHolderToStruct(pvd[i], dt))
|
||||
cpdef pvgroup pg
|
||||
cdef pvgroup pg
|
||||
|
||||
pg = pvgroup()
|
||||
|
||||
@@ -7858,6 +7858,53 @@ Lengths of first (handlePVSet) and third (handlePVMatch) input lists must match!
|
||||
return status
|
||||
############################################################################
|
||||
|
||||
|
||||
def matchManyWithStatus(self, list valSet, list handlePVMatch, double tolerance, double timeout, bint printFlag):
|
||||
|
||||
cdef str _METHOD = "matchManyWithStatus(list valSet, list handlePVMatch, double tolerance, double timeout, bint printFlag)"
|
||||
|
||||
if (len(valSet) != len(handlePVMatch)):
|
||||
raise Exception("EXCEPTION RAISED IN PyCafe def matchMany. \n\
|
||||
Lengths of first (handlePVSet) and third (handlePVMatch) input lists must match!")
|
||||
|
||||
cdef vector[unsigned int] handleMatch
|
||||
handleMatch.reserve(len(handlePVMatch))
|
||||
|
||||
cdef vector[double] valSetV
|
||||
valSetV.reserve(len(valSet))
|
||||
|
||||
cdef vector[int] statusV
|
||||
statusV.reserve(len(valSet))
|
||||
|
||||
for i in range(0, len(handlePVMatch)):
|
||||
if isinstance(handlePVMatch[i], (int, long)):
|
||||
handleMatch.push_back(handlePVMatch[i])
|
||||
elif isinstance(handlePVMatch[i], (str)):
|
||||
handleMatch.push_back(self.checkForHandle(handlePVMatch))
|
||||
else:
|
||||
_cafeException = CafeException(_type='CafeError', _source=_METHOD,
|
||||
_error_info="First input argument, should be of type <class 'int'> if handle, else <class 'str'> if PV")
|
||||
raise _cafeException
|
||||
|
||||
for i in range(0, len(valSet)):
|
||||
valSetV.push_back(valSet[i])
|
||||
|
||||
cdef int status
|
||||
|
||||
with nogil:
|
||||
status = self._c_cafe.matchManyWithStatus(
|
||||
valSetV, handleMatch, tolerance, timeout, printFlag, statusV)
|
||||
|
||||
print("status from pxy", statusV)
|
||||
|
||||
if status != ICAFE_NORMAL:
|
||||
if PYCAFE_PRINT_LEVEL >= PYCAFE_PRINT_LOW:
|
||||
self._c_cafe.printStatusMessage(status)
|
||||
|
||||
return status, statusV
|
||||
############################################################################
|
||||
|
||||
|
||||
############################################################################
|
||||
|
||||
def match(self, double valSet, handlePVMatch, double tolerance, double timeout, bint printFlag):
|
||||
|
||||
29
README
29
README
@@ -1,22 +1,25 @@
|
||||
######
|
||||
# Build for python 3.10:
|
||||
# source build_py310_sls2.sh - links to epics7 gcc 7.5.0
|
||||
|
||||
# Build for python 3.8:
|
||||
# source build_py38_sls2.sh - links to epics7 gcc 7.5.0
|
||||
|
||||
# Build for python 3.7:
|
||||
# source build_py37.sh
|
||||
# source build_py37_sls2.sh - links to epics7 gcc 7.3.0
|
||||
#
|
||||
# Special build for swissfel - with zmq libraries:
|
||||
# source build_py37_sf.sh
|
||||
#
|
||||
# Special build for sls2 - links to epics7:
|
||||
# source build_py37_sls2.sh
|
||||
|
||||
# Build for python 3.5:
|
||||
# source build_py35.sh
|
||||
# source build_py35_sls2.sh - links to epics7 gcc 7.3.0
|
||||
#
|
||||
# Special build for swissfel - with zmq libraries:
|
||||
# source build_py35_sf.sh
|
||||
# source build_py37_sf.sh - links to epics7 gcc 7.3.0
|
||||
#
|
||||
|
||||
###
|
||||
### Edit makefile to change INSTALL_PATH
|
||||
### Install directory:
|
||||
# ./python<version>/lib/${EPICS_HOST_ARCH}
|
||||
# where <version> is 3.7, 3.7-sf, 3.7-sls2
|
||||
# 3.5, 3.5-sf
|
||||
# where <version> is 3.10-sls2, 3.9-sls2 3.8-sls2, 3.7-sls2
|
||||
# 3.5-sls2, 3.7-sf
|
||||
|
||||
|
||||
# make install_py37_sls
|
||||
#
|
||||
378
array-
Normal file
378
array-
Normal file
@@ -0,0 +1,378 @@
|
||||
// <array> -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
/** @file include/array
|
||||
* This is a Standard C++ Library header.
|
||||
*/
|
||||
|
||||
#ifndef _GLIBCXX_ARRAY
|
||||
#define _GLIBCXX_ARRAY 1
|
||||
|
||||
#pragma GCC system_header
|
||||
|
||||
#if __cplusplus < 201103L
|
||||
# include <bits/c++0x_warning.h>
|
||||
#else
|
||||
|
||||
#include <utility>
|
||||
#include <stdexcept>
|
||||
#include <bits/stl_algobase.h>
|
||||
#include <bits/range_access.h>
|
||||
|
||||
namespace std _GLIBCXX_VISIBILITY(default)
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
||||
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
struct __array_traits
|
||||
{
|
||||
typedef _Tp _Type[_Nm];
|
||||
typedef __is_swappable<_Tp> _Is_swappable;
|
||||
typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable;
|
||||
|
||||
static constexpr _Tp&
|
||||
_S_ref(const _Type& __t, std::size_t __n) noexcept
|
||||
{ return const_cast<_Tp&>(__t[__n]); }
|
||||
|
||||
static constexpr _Tp*
|
||||
_S_ptr(const _Type& __t) noexcept
|
||||
{ return const_cast<_Tp*>(__t); }
|
||||
};
|
||||
|
||||
template<typename _Tp>
|
||||
struct __array_traits<_Tp, 0>
|
||||
{
|
||||
struct _Type { };
|
||||
typedef true_type _Is_swappable;
|
||||
typedef true_type _Is_nothrow_swappable;
|
||||
|
||||
static constexpr _Tp&
|
||||
_S_ref(const _Type&, std::size_t) noexcept
|
||||
{ return *static_cast<_Tp*>(nullptr); }
|
||||
|
||||
static constexpr _Tp*
|
||||
_S_ptr(const _Type&) noexcept
|
||||
{ return nullptr; }
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief A standard container for storing a fixed size sequence of elements.
|
||||
*
|
||||
* @ingroup sequences
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and a
|
||||
* <a href="tables.html#67">sequence</a>.
|
||||
*
|
||||
* Sets support random access iterators.
|
||||
*
|
||||
* @tparam Tp Type of element. Required to be a complete type.
|
||||
* @tparam N Number of elements.
|
||||
*/
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
struct array
|
||||
{
|
||||
typedef _Tp value_type;
|
||||
typedef value_type* pointer;
|
||||
typedef const value_type* const_pointer;
|
||||
typedef value_type& reference;
|
||||
typedef const value_type& const_reference;
|
||||
typedef value_type* iterator;
|
||||
typedef const value_type* const_iterator;
|
||||
typedef std::size_t size_type;
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef std::reverse_iterator<iterator> reverse_iterator;
|
||||
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
|
||||
|
||||
// Support for zero-sized arrays mandatory.
|
||||
typedef _GLIBCXX_STD_C::__array_traits<_Tp, _Nm> _AT_Type;
|
||||
typename _AT_Type::_Type _M_elems;
|
||||
|
||||
// No explicit construct/copy/destroy for aggregate type.
|
||||
|
||||
// DR 776.
|
||||
void
|
||||
fill(const value_type& __u)
|
||||
{ std::fill_n(begin(), size(), __u); }
|
||||
|
||||
void
|
||||
swap(array& __other)
|
||||
noexcept(_AT_Type::_Is_nothrow_swappable::value)
|
||||
{ std::swap_ranges(begin(), end(), __other.begin()); }
|
||||
|
||||
// Iterators.
|
||||
_GLIBCXX17_CONSTEXPR iterator
|
||||
begin() noexcept
|
||||
{ return iterator(data()); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR const_iterator
|
||||
begin() const noexcept
|
||||
{ return const_iterator(data()); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR iterator
|
||||
end() noexcept
|
||||
{ return iterator(data() + _Nm); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR const_iterator
|
||||
end() const noexcept
|
||||
{ return const_iterator(data() + _Nm); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR reverse_iterator
|
||||
rbegin() noexcept
|
||||
{ return reverse_iterator(end()); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR const_reverse_iterator
|
||||
rbegin() const noexcept
|
||||
{ return const_reverse_iterator(end()); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR reverse_iterator
|
||||
rend() noexcept
|
||||
{ return reverse_iterator(begin()); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR const_reverse_iterator
|
||||
rend() const noexcept
|
||||
{ return const_reverse_iterator(begin()); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR const_iterator
|
||||
cbegin() const noexcept
|
||||
{ return const_iterator(data()); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR const_iterator
|
||||
cend() const noexcept
|
||||
{ return const_iterator(data() + _Nm); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR const_reverse_iterator
|
||||
crbegin() const noexcept
|
||||
{ return const_reverse_iterator(end()); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR const_reverse_iterator
|
||||
crend() const noexcept
|
||||
{ return const_reverse_iterator(begin()); }
|
||||
|
||||
// Capacity.
|
||||
constexpr size_type
|
||||
size() const noexcept { return _Nm; }
|
||||
|
||||
constexpr size_type
|
||||
max_size() const noexcept { return _Nm; }
|
||||
|
||||
constexpr bool
|
||||
empty() const noexcept { return size() == 0; }
|
||||
|
||||
// Element access.
|
||||
_GLIBCXX17_CONSTEXPR reference
|
||||
operator[](size_type __n) noexcept
|
||||
{ return _AT_Type::_S_ref(_M_elems, __n); }
|
||||
|
||||
constexpr const_reference
|
||||
operator[](size_type __n) const noexcept
|
||||
{ return _AT_Type::_S_ref(_M_elems, __n); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR reference
|
||||
at(size_type __n)
|
||||
{
|
||||
if (__n >= _Nm)
|
||||
std::__throw_out_of_range_fmt(__N("array::at: __n (which is %zu) "
|
||||
">= _Nm (which is %zu)"),
|
||||
__n, _Nm);
|
||||
return _AT_Type::_S_ref(_M_elems, __n);
|
||||
}
|
||||
|
||||
constexpr const_reference
|
||||
at(size_type __n) const
|
||||
{
|
||||
// Result of conditional expression must be an lvalue so use
|
||||
// boolean ? lvalue : (throw-expr, lvalue)
|
||||
return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n)
|
||||
: (std::__throw_out_of_range_fmt(__N("array::at: __n (which is %zu) "
|
||||
">= _Nm (which is %zu)"),
|
||||
__n, _Nm),
|
||||
_AT_Type::_S_ref(_M_elems, 0));
|
||||
}
|
||||
|
||||
_GLIBCXX17_CONSTEXPR reference
|
||||
front() noexcept
|
||||
{ return *begin(); }
|
||||
|
||||
constexpr const_reference
|
||||
front() const noexcept
|
||||
{ return _AT_Type::_S_ref(_M_elems, 0); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR reference
|
||||
back() noexcept
|
||||
{ return _Nm ? *(end() - 1) : *end(); }
|
||||
|
||||
constexpr const_reference
|
||||
back() const noexcept
|
||||
{
|
||||
return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
|
||||
: _AT_Type::_S_ref(_M_elems, 0);
|
||||
}
|
||||
|
||||
_GLIBCXX17_CONSTEXPR pointer
|
||||
data() noexcept
|
||||
{ return _AT_Type::_S_ptr(_M_elems); }
|
||||
|
||||
_GLIBCXX17_CONSTEXPR const_pointer
|
||||
data() const noexcept
|
||||
{ return _AT_Type::_S_ptr(_M_elems); }
|
||||
};
|
||||
|
||||
#if __cpp_deduction_guides >= 201606
|
||||
template<typename _Tp, typename... _Up>
|
||||
array(_Tp, _Up...)
|
||||
-> array<enable_if_t<(is_same_v<_Tp, _Up> && ...), _Tp>,
|
||||
1 + sizeof...(_Up)>;
|
||||
#endif
|
||||
|
||||
// Array comparisons.
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
inline bool
|
||||
operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
|
||||
{ return std::equal(__one.begin(), __one.end(), __two.begin()); }
|
||||
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
inline bool
|
||||
operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
|
||||
{ return !(__one == __two); }
|
||||
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
inline bool
|
||||
operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
|
||||
{
|
||||
return std::lexicographical_compare(__a.begin(), __a.end(),
|
||||
__b.begin(), __b.end());
|
||||
}
|
||||
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
inline bool
|
||||
operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
|
||||
{ return __two < __one; }
|
||||
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
inline bool
|
||||
operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
|
||||
{ return !(__one > __two); }
|
||||
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
inline bool
|
||||
operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
|
||||
{ return !(__one < __two); }
|
||||
|
||||
// Specialized algorithms.
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
inline
|
||||
#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++1z or gnu++11
|
||||
// Constrained free swap overload, see p0185r1
|
||||
typename enable_if<
|
||||
_GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::_Is_swappable::value
|
||||
>::type
|
||||
#else
|
||||
void
|
||||
#endif
|
||||
swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
|
||||
noexcept(noexcept(__one.swap(__two)))
|
||||
{ __one.swap(__two); }
|
||||
|
||||
#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++1z or gnu++11
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
typename enable_if<
|
||||
!_GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::_Is_swappable::value>::type
|
||||
swap(array<_Tp, _Nm>&, array<_Tp, _Nm>&) = delete;
|
||||
#endif
|
||||
|
||||
template<std::size_t _Int, typename _Tp, std::size_t _Nm>
|
||||
constexpr _Tp&
|
||||
get(array<_Tp, _Nm>& __arr) noexcept
|
||||
{
|
||||
static_assert(_Int < _Nm, "array index is within bounds");
|
||||
return _GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::
|
||||
_S_ref(__arr._M_elems, _Int);
|
||||
}
|
||||
|
||||
template<std::size_t _Int, typename _Tp, std::size_t _Nm>
|
||||
constexpr _Tp&&
|
||||
get(array<_Tp, _Nm>&& __arr) noexcept
|
||||
{
|
||||
static_assert(_Int < _Nm, "array index is within bounds");
|
||||
return std::move(_GLIBCXX_STD_C::get<_Int>(__arr));
|
||||
}
|
||||
|
||||
template<std::size_t _Int, typename _Tp, std::size_t _Nm>
|
||||
constexpr const _Tp&
|
||||
get(const array<_Tp, _Nm>& __arr) noexcept
|
||||
{
|
||||
static_assert(_Int < _Nm, "array index is within bounds");
|
||||
return _GLIBCXX_STD_C::__array_traits<_Tp, _Nm>::
|
||||
_S_ref(__arr._M_elems, _Int);
|
||||
}
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_CONTAINER
|
||||
} // namespace std
|
||||
|
||||
namespace std _GLIBCXX_VISIBILITY(default)
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
// Tuple interface to class template array.
|
||||
|
||||
/// tuple_size
|
||||
template<typename _Tp>
|
||||
class tuple_size;
|
||||
|
||||
/// Partial specialization for std::array
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
struct tuple_size<_GLIBCXX_STD_C::array<_Tp, _Nm>>
|
||||
: public integral_constant<std::size_t, _Nm> { };
|
||||
|
||||
/// tuple_element
|
||||
template<std::size_t _Int, typename _Tp>
|
||||
class tuple_element;
|
||||
|
||||
/// Partial specialization for std::array
|
||||
template<std::size_t _Int, typename _Tp, std::size_t _Nm>
|
||||
struct tuple_element<_Int, _GLIBCXX_STD_C::array<_Tp, _Nm>>
|
||||
{
|
||||
static_assert(_Int < _Nm, "index is out of bounds");
|
||||
typedef _Tp type;
|
||||
};
|
||||
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
struct __is_tuple_like_impl<_GLIBCXX_STD_C::array<_Tp, _Nm>> : true_type
|
||||
{ };
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace std
|
||||
|
||||
#ifdef _GLIBCXX_DEBUG
|
||||
# include <debug/array>
|
||||
#endif
|
||||
|
||||
#ifdef _GLIBCXX_PROFILE
|
||||
# include <profile/array>
|
||||
#endif
|
||||
|
||||
#endif // C++11
|
||||
|
||||
#endif // _GLIBCXX_ARRAY
|
||||
21
build_py310_sls2.sh
Normal file
21
build_py310_sls2.sh
Normal file
@@ -0,0 +1,21 @@
|
||||
module unload gcc
|
||||
module load gcc/7.5.0
|
||||
#module load gcc/10.4.0
|
||||
rm -f PyCafeDefs.pxi
|
||||
ln -s PyCafeDefs_py37.pxi PyCafeDefs.pxi
|
||||
rm -f PyCafe.cpp
|
||||
rm -f PyCafe.h
|
||||
rm -f PyCafe.pxd
|
||||
ln -s PyCafe_sls.pxd PyCafe.pxd
|
||||
rm -f PyCafe.pyx
|
||||
ln -s PyCafe_sls.pyx PyCafe.pyx
|
||||
|
||||
_EPICS_HOST_ARCH=${RHREL}-x86_64
|
||||
_EPICS_BASE=base-7.0.9
|
||||
source /opt/gfa/python 3.10
|
||||
export LD_PRELOAD=/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libca.so:/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libCom.so
|
||||
echo ${LD_PRELOAD}
|
||||
|
||||
python setup_py310_sls2.py build_ext -b ./python3.10-sls2/lib/${_EPICS_HOST_ARCH}
|
||||
cp examples.py ./python3.10-sls2/lib/${_EPICS_HOST_ARCH}
|
||||
unset LD_PRELOAD
|
||||
@@ -1,5 +1,5 @@
|
||||
module unload gcc
|
||||
module load gcc/7.3.0
|
||||
module load gcc/6.3.0
|
||||
#rm -f PyCafe.cpp
|
||||
#rm -f PyCafe.h
|
||||
#rm -f PyCafe.pxd
|
||||
|
||||
@@ -1,11 +1,30 @@
|
||||
module unload gcc
|
||||
module load gcc/7.3.0
|
||||
#SOURCE build_py37_sls2.sh first
|
||||
#rm -f PyCafeDefs.pxi
|
||||
#ln -s PyCafeDefs_py35.pxi PyCafeDefs.pxi
|
||||
#rm -f PyCafe.cpp
|
||||
#rm -f PyCafe.h
|
||||
#rm -f PyCafe.pxd
|
||||
#ln -s PyCafe_sls.pxd PyCafe.pxd
|
||||
#rm -f PyCafe.pyx
|
||||
#ln -s PyCafe_sls_py35.pyx PyCafe.pyx
|
||||
#rm -f PyCafeDefs.pxi
|
||||
#ln -s PyCafeDefs_py35.pxi PyCafeDefs.pxi
|
||||
#rm -f PyCafe.cpp
|
||||
#rm -f PyCafe.h
|
||||
#rm -f PyCafe.pxd
|
||||
#ln -s PyCafe_sls.pxd PyCafe.pxd
|
||||
#rm -f PyCafe.pyx
|
||||
#ln -s PyCafe_sls.pyx PyCafe.pyx
|
||||
|
||||
_EPICS_HOST_ARCH=${RHREL}-x86_64
|
||||
_EPICS_BASE=base-7.0.9
|
||||
source /opt/gfa/python 3.5
|
||||
python setup_py35_sls2.py build_ext -b ./python3.5-sls2/lib/${EPICS_HOST_ARCH}
|
||||
cp examples.py ./python3.5-sls2/lib/${EPICS_HOST_ARCH}
|
||||
export LD_PRELOAD=/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libca.so:/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libCom.so
|
||||
echo ${LD_PRELOAD}
|
||||
|
||||
python setup_py35_sls2.py build_ext -b ./python3.5-sls2/lib/${_EPICS_HOST_ARCH}
|
||||
cp examples.py ./python3.5-sls2/lib/${_EPICS_HOST_ARCH}
|
||||
|
||||
unset LD_PRELOAD
|
||||
|
||||
@@ -6,6 +6,11 @@ rm -f PyCafe.pxd
|
||||
ln -s PyCafe_sf.pxd PyCafe.pxd
|
||||
rm -f PyCafe.pyx
|
||||
ln -s PyCafe_sf.pyx PyCafe.pyx
|
||||
_EPICS_HOST_ARCH=${RHREL}-x86_64
|
||||
_EPICS_BASE=base-7.0.9
|
||||
source /opt/gfa/python 3.7
|
||||
python setup_py37_sf.py build_ext -b ./python3.7-sf/lib/${EPICS_HOST_ARCH}
|
||||
cp examples.py ./python3.7-sf/lib/${EPICS_HOST_ARCH}
|
||||
export LD_PRELOAD=/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libca.so:/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libCom.so
|
||||
echo ${LD_PRELOAD}
|
||||
python setup_py37_sf.py build_ext -b ./python3.7-sf/lib/${_EPICS_HOST_ARCH}
|
||||
cp examples.py ./python3.7-sf/lib/${_EPICS_HOST_ARCH}
|
||||
unset LD_PRELOAD
|
||||
|
||||
@@ -1,11 +1,20 @@
|
||||
module unload gcc
|
||||
module load gcc/7.3.0
|
||||
rm -f PyCafeDefs.pxi
|
||||
ln -s PyCafeDefs_py37.pxi PyCafeDefs.pxi
|
||||
rm -f PyCafe.cpp
|
||||
rm -f PyCafe.h
|
||||
rm -f PyCafe.pxd
|
||||
ln -s PyCafe_sls.pxd PyCafe.pxd
|
||||
rm -f PyCafe.pyx
|
||||
ln -s PyCafe_sls.pyx PyCafe.pyx
|
||||
|
||||
_EPICS_HOST_ARCH=${RHREL}-x86_64 #os.environ['EPICS_HOST_ARCH']
|
||||
_EPICS_BASE=base-7.0.9
|
||||
source /opt/gfa/python 3.7
|
||||
python setup_py37_sls2.py build_ext -b ./python3.7-sls2/lib/${EPICS_HOST_ARCH}
|
||||
cp examples.py ./python3.7-sls2/lib/${EPICS_HOST_ARCH}
|
||||
export LD_PRELOAD=/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libca.so:/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libCom.so
|
||||
echo ${LD_PRELOAD}
|
||||
|
||||
python setup_py37_sls2.py build_ext -b ./python3.7-sls2/lib/${_EPICS_HOST_ARCH}
|
||||
cp examples.py ./python3.7-sls2/lib/${_EPICS_HOST_ARCH}
|
||||
unset LD_PRELOAD
|
||||
|
||||
@@ -1,11 +1,20 @@
|
||||
module unload gcc
|
||||
module load gcc/7.5.0
|
||||
rm -f PyCafeDefs.pxi
|
||||
ln -s PyCafeDefs_py37.pxi PyCafeDefs.pxi
|
||||
rm -f PyCafe.cpp
|
||||
rm -f PyCafe.h
|
||||
rm -f PyCafe.pxd
|
||||
ln -s PyCafe_sls.pxd PyCafe.pxd
|
||||
rm -f PyCafe.pyx
|
||||
ln -s PyCafe_sls.pyx PyCafe.pyx
|
||||
|
||||
_EPICS_HOST_ARCH=${RHREL}-x86_64
|
||||
_EPICS_BASE=base-7.0.9
|
||||
export LD_PRELOAD=/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libca.so:/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libCom.so
|
||||
echo ${LD_PRELOAD}
|
||||
|
||||
source /opt/gfa/python 3.8
|
||||
python setup_py38_sls2.py build_ext -b ./python3.8-sls2/lib/${EPICS_HOST_ARCH}
|
||||
cp examples.py ./python3.8-sls2/lib/${EPICS_HOST_ARCH}
|
||||
python setup_py38_sls2.py build_ext -b ./python3.8-sls2/lib/${_EPICS_HOST_ARCH}
|
||||
cp examples.py ./python3.8-sls2/lib/${_EPICS_HOST_ARCH}
|
||||
unset LD_PRELOAD
|
||||
|
||||
47
examples.sh
Normal file
47
examples.sh
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/usr/bin/env bash
|
||||
module unload gcc
|
||||
module load gcc/7.3.0
|
||||
|
||||
|
||||
|
||||
if [ -z "$PS1" ]; then
|
||||
echo "This shell is not interactive"
|
||||
appName=$0
|
||||
else
|
||||
echo "This shell is interactive"
|
||||
appName=$BASH_SOURCE
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Select default Python Version here. Currently only 3.7 is supported
|
||||
PYTHON_VERSION=3.7
|
||||
|
||||
if [ "$1" ]; then
|
||||
if [ "$1" == "3.8" -o "$1" == "38" ]; then
|
||||
echo "User requested python version $1 is not yet supported"
|
||||
echo "Using default version $PYTHON_VERSION"
|
||||
elif [ "$1" == "3.7" -o "$1" == "37" ]; then
|
||||
PYTHON_VERSION=3.7
|
||||
else
|
||||
echo "User requested python version $1 is not supported"
|
||||
echo "Using default version $PYTHON_VERSION"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "PYTHON_VERSION $PYTHON_VERSION"
|
||||
|
||||
|
||||
# For use if script is sourced rather than executed
|
||||
appNameDefault="examples.sh"
|
||||
|
||||
_EPICS_HOST_ARCH=${RHREL}-x86_64
|
||||
_EPICS_BASE=base-7.0.9
|
||||
|
||||
. /opt/gfa/python $PYTHON_VERSION
|
||||
|
||||
export PYTHONPATH=.:
|
||||
|
||||
export LD_PRELOAD=/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libca.so:/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libCom.so
|
||||
python examples.py
|
||||
unset LD_PRELOAD
|
||||
58
makefile
58
makefile
@@ -5,11 +5,14 @@
|
||||
##### CHANGE AS APPROPRIATE #################
|
||||
#
|
||||
|
||||
|
||||
_EPICS_HOST_ARCH=${RHREL}-x86_64
|
||||
CAFE_CYCAFE_BASE=/opt/gfa/cafe/python/pycafe
|
||||
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.15.1-gcc-7.3.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.15.1-sf-gcc-7.3.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.15.1-gcc-7.3.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.22.0-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.22.0-sf-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2_PY35= $(CAFE_CYCAFE_BASE)/cafe-1.22.0-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2_PY37= $(CAFE_CYCAFE_BASE)/cafe-1.22.0-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2_PY38= $(CAFE_CYCAFE_BASE)/cafe-1.22.0-gcc-7.5.0/lib/${_EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2_PY310= $(CAFE_CYCAFE_BASE)/cafe-1.22.0-gcc-7.5.0/lib/${_EPICS_HOST_ARCH}
|
||||
#############################################
|
||||
|
||||
.DEFAULT_GOAL := help
|
||||
@@ -18,33 +21,44 @@ INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.15.1-gcc-7.3.0/lib/${EPICS_HOST_AR
|
||||
help:
|
||||
@echo "Options for make: install_py37 install_py37_sf install_py37_sls2 install_py35 install_py35_sf"
|
||||
|
||||
install_py37: python3.7/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
install_py37: python3.7-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_PY)
|
||||
cp python3.7/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
|
||||
cp python3.7/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_PY)
|
||||
cp python3.7-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
|
||||
cp python3.7-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_PY)
|
||||
|
||||
install_py35: python3.5/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
install_py35: python3.5-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_PY)
|
||||
cp python3.5/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
|
||||
cp python3.5-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
|
||||
|
||||
install_py37_sf: python3.7-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
install_py37_sf: python3.7-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SF)
|
||||
cp python3.7-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
|
||||
cp python3.7-sf/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SF)
|
||||
cp python3.7-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
|
||||
cp python3.7-sf/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SF)
|
||||
|
||||
install_py35_sf: python3.5-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
install_py35_sf: python3.5-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SF)
|
||||
cp python3.5-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
|
||||
cp python3.5-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
|
||||
|
||||
install_py37_sls2: python3.7-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2)
|
||||
cp python3.7-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
|
||||
cp python3.7-sls2/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
|
||||
|
||||
install_py35_sls2: python3.5-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2)
|
||||
cp python3.5-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
|
||||
cp python3.5-sls2/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
|
||||
install_py310_sls2: python3.10-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-310-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2_PY310)
|
||||
cp python3.10-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-310-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2_PY310)
|
||||
cp python3.10-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2_PY310)
|
||||
|
||||
install_py38_sls2: python3.8-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-38-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2_PY38)
|
||||
cp python3.8-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-38-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2_PY38)
|
||||
cp python3.8-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2_PY38)
|
||||
|
||||
install_py37_sls2: python3.7-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2_PY37)
|
||||
cp python3.7-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2_PY37)
|
||||
cp python3.7-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS_PY37)
|
||||
|
||||
install_py35_sls2: python3.5-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2_PY35)
|
||||
cp python3.5-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2_PY35)
|
||||
cp python3.5-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2_PY35)
|
||||
clean:
|
||||
rm -f *.o
|
||||
|
||||
|
||||
52
makefile-
52
makefile-
@@ -5,11 +5,13 @@
|
||||
##### CHANGE AS APPROPRIATE #################
|
||||
#
|
||||
|
||||
|
||||
_EPICS_HOST_ARCH=${RHREL}-x86_64
|
||||
CAFE_CYCAFE_BASE=/opt/gfa/cafe/python/pycafe
|
||||
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.13.0-gcc-7.3.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.13.0-sf-gcc-7.3.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.13.0-sls2-gcc-7.3.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.21.0-1-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.21.0-1-sf-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.21.0-1-gcc-7.3.0/lib/${_EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2_PY38= $(CAFE_CYCAFE_BASE)/cafe-1.21.0-1-gcc-7.5.0/lib/${_EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2_PY310= $(CAFE_CYCAFE_BASE)/cafe-1.21.0-1-gcc-7.5.0/lib/${_EPICS_HOST_ARCH}
|
||||
#############################################
|
||||
|
||||
.DEFAULT_GOAL := help
|
||||
@@ -18,30 +20,44 @@ INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.13.0-sls2-gcc-7.3.0/lib/${EPICS_HO
|
||||
help:
|
||||
@echo "Options for make: install_py37 install_py37_sf install_py37_sls2 install_py35 install_py35_sf"
|
||||
|
||||
install_py37: python3.7/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
install_py37: python3.7/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_PY)
|
||||
cp python3.7/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
|
||||
cp python3.7/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_PY)
|
||||
cp python3.7/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
|
||||
cp python3.7/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_PY)
|
||||
|
||||
install_py35: python3.5/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
install_py35: python3.5/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_PY)
|
||||
cp python3.5/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
|
||||
cp python3.5/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_PY)
|
||||
|
||||
install_py37_sf: python3.7-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
install_py37_sf: python3.7-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SF)
|
||||
cp python3.7-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
|
||||
cp python3.7-sf/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SF)
|
||||
cp python3.7-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
|
||||
cp python3.7-sf/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SF)
|
||||
|
||||
install_py35_sf: python3.5-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
install_py35_sf: python3.5-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SF)
|
||||
cp python3.5-sf/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
|
||||
cp python3.5-sf/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SF)
|
||||
|
||||
install_py37_sls2: python3.7-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
|
||||
install_py310_sls2: python3.10-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-310-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2_PY310)
|
||||
cp python3.10-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-310-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2_PY310)
|
||||
cp python3.10-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2_PY310)
|
||||
|
||||
install_py38_sls2: python3.8-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-38-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2_PY38)
|
||||
cp python3.8-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-38-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2_PY38)
|
||||
cp python3.8-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2_PY38)
|
||||
|
||||
install_py37_sls2: python3.7-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2)
|
||||
cp python3.7-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
|
||||
cp python3.7-sls2/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
|
||||
|
||||
cp python3.7-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-37m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
|
||||
cp python3.7-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
|
||||
|
||||
install_py35_sls2: python3.5-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2)
|
||||
cp python3.5-sls2/lib/${_EPICS_HOST_ARCH}/PyCafe.cpython-35m-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
|
||||
cp python3.5-sls2/lib/${_EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
|
||||
clean:
|
||||
rm -f *.o
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
|
||||
CAFE_CYCAFE_BASE=/opt/gfa/cafe/python/pycafe
|
||||
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.16.1-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.16.1-sf-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.16.1-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_PY= $(CAFE_CYCAFE_BASE)/cafe-1.21.0-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SF= $(CAFE_CYCAFE_BASE)/cafe-1.21.0-sf-gcc-7.5.0/lib/${EPICS_HOST_ARCH}
|
||||
INSTALL_PATH_SLS2= $(CAFE_CYCAFE_BASE)/cafe-1.21.0-gcc-10.4.0/lib/${EPICS_HOST_ARCH}
|
||||
#############################################
|
||||
|
||||
.DEFAULT_GOAL := help
|
||||
@@ -51,6 +51,11 @@ install_py38_sls2: python3.8-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-38-x86_6
|
||||
cp python3.8-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-38-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
|
||||
cp python3.8-sls2/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
|
||||
|
||||
install_py310_sls2: python3.10-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-310-x86_64-linux-gnu.so
|
||||
mkdir -p $(INSTALL_PATH_SLS2)
|
||||
cp python3.10-sls2/lib/${EPICS_HOST_ARCH}/PyCafe.cpython-310-x86_64-linux-gnu.so $(INSTALL_PATH_SLS2)
|
||||
cp python3.10-sls2/lib/${EPICS_HOST_ARCH}/examples.py $(INSTALL_PATH_SLS2)
|
||||
|
||||
clean:
|
||||
rm -f *.o
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
64
setup_py310_sls2.py
Normal file
64
setup_py310_sls2.py
Normal file
@@ -0,0 +1,64 @@
|
||||
import os
|
||||
import sys
|
||||
from distutils.core import setup
|
||||
from distutils.extension import Extension
|
||||
from Cython.Compiler.Main import default_options
|
||||
default_options['emit_linenums'] = True
|
||||
from Cython.Build import cythonize
|
||||
from numpy import get_include
|
||||
|
||||
#_GCC_VERSION='10.4.0'
|
||||
#_CAFE_VERSION='1.20.1-py310-gcc-' + _GCC_VERSION
|
||||
#_EPICS_VERSION='7.0.7'
|
||||
|
||||
_GCC_VERSION='7.5.0'
|
||||
#_GCC_VERSION='10.4.0'
|
||||
_CAFE_VERSION='1.22.0-py310-gcc-' + _GCC_VERSION
|
||||
_EPICS_VERSION='7.0.9'
|
||||
|
||||
_EPICS_HOST_ARCH =os.environ['RHREL'] + '-x86_64'
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
|
||||
language="c++",
|
||||
extra_objects = [ os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libca.so',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libCom.so',
|
||||
],
|
||||
include_dirs=[ '/opt/gfa/python-3.10/latest/include/python3.10',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/os/Linux',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/compiler/gcc',
|
||||
'/opt/gfa/cafe/boost/boost_1_61_0/include',
|
||||
'/opt/gfa/cafe/boost/boost_1_61_0/include/boost',
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'/include',
|
||||
'.', get_include()],
|
||||
library_dirs=[ os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH,
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'/lib/' + _EPICS_HOST_ARCH,
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib',
|
||||
# '/opt/gfa/python-3.10/latest/lib'
|
||||
],
|
||||
runtime_library_dirs=[
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH,
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'/lib/' + _EPICS_HOST_ARCH,
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib'
|
||||
],
|
||||
libraries=['dl','cafe','Qt5Xml'])
|
||||
], annotate=True,
|
||||
compiler_directives={'embedsignature': False, 'language_level': 3,
|
||||
'c_string_type': 'str', 'c_string_encoding' : 'ascii',
|
||||
'py2_import': False, 'warn.unreachable': False,
|
||||
'remove_unreachable': False},
|
||||
compile_time_env={'PY_VERSION_HEX':sys.hexversion,
|
||||
'PY_EXT_C': True, 'BS_CAFE': False,
|
||||
'CAFE_VERSION': _CAFE_VERSION, 'EPICS_VERSION': _EPICS_VERSION }
|
||||
)
|
||||
)
|
||||
@@ -10,7 +10,7 @@ from numpy import get_include
|
||||
_GCC_VERSION='7.3.0'
|
||||
_CAFE_VERSION='1.16.0-epics3-py35-gcc-' + _GCC_VERSION
|
||||
_EPICS_VERSION='3.14.12'
|
||||
_EPICS_HOST_ARCH = os.environ['EPICS_HOST_ARCH'] #'SL6-x86_64' #os.environ['EPICS_HOST_ARCH']
|
||||
_EPICS_HOST_ARCH=os.environ['RHREL'] +'-x86_64' #os.environ['EPICS_HOST_ARCH'] #'SL6-x86_64'
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
|
||||
|
||||
@@ -8,13 +8,18 @@ from Cython.Build import cythonize
|
||||
from numpy import get_include
|
||||
|
||||
_GCC_VERSION='7.3.0'
|
||||
_CAFE_VERSION='1.16.0-py35-gcc-' + _GCC_VERSION
|
||||
_EPICS_VERSION='7.0.6'
|
||||
_EPICS_HOST_ARCH ='RHEL7-x86_64' #os.environ['EPICS_HOST_ARCH']
|
||||
_CAFE_VERSION='1.22.0-py35-gcc-' + _GCC_VERSION
|
||||
_EPICS_VERSION='7.0.9'
|
||||
_EPICS_HOST_ARCH=os.environ['RHREL'] +'-x86_64' #os.environ['EPICS_HOST_ARCH']
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
|
||||
language="c++",
|
||||
extra_objects = [ os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libca.so',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libCom.so',
|
||||
],
|
||||
include_dirs=[ '/opt/gfa/python-3.5/latest/include/python3.5m',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/os/Linux',
|
||||
@@ -29,8 +34,7 @@ setup(
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'/lib/' + _EPICS_HOST_ARCH,
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib',
|
||||
'/opt/gfa/python-3.5/latest/lib'
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib'
|
||||
],
|
||||
runtime_library_dirs=[
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/'
|
||||
@@ -40,7 +44,7 @@ setup(
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib'
|
||||
],
|
||||
libraries=['ca','Com','dl','cafe'])
|
||||
libraries=['dl','cafe'])
|
||||
], annotate=True,
|
||||
compiler_directives={'embedsignature': False, 'language_level': 3,
|
||||
'c_string_type': 'str', 'c_string_encoding' : 'ascii',
|
||||
|
||||
@@ -7,46 +7,56 @@ default_options['emit_linenums'] = True
|
||||
from Cython.Build import cythonize
|
||||
from numpy import get_include
|
||||
|
||||
|
||||
_CAFE_VERSION='1.14.5'
|
||||
_EPICS_VERSION='3.14.12'
|
||||
_GCC_VERSION='7.3.0'
|
||||
_CAFE_VERSION='1.22.0-sf-py37-gcc-' + _GCC_VERSION
|
||||
_EPICS_VERSION='7.0.9'
|
||||
_EPICS_HOST_ARCH =os.environ['RHREL'] + '-x86_64'
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
|
||||
language="c++",
|
||||
extra_objects = [ os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libca.so',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libCom.so',
|
||||
],
|
||||
include_dirs=[ '/opt/gfa/python-3.7/latest/include/python3.7m',
|
||||
os.environ['EPICS'] + '/base/include',
|
||||
os.environ['EPICS'] + '/base/include/os/Linux',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/os/Linux',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/compiler/gcc',
|
||||
'/opt/gfa/cafe/boost/boost_1_61_0/include',
|
||||
'/opt/gfa/cafe/boost/boost_1_61_0/include/boost',
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'-sf-py37-gcc-7.3.0/include',
|
||||
'/include',
|
||||
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/include',
|
||||
'/opt/gfa/zmq/curl-7.54.1/include',
|
||||
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/include',
|
||||
'.', get_include()],
|
||||
library_dirs=[ os.environ['EPICS'] + '/base/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
library_dirs=[ os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH,
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'-sf-py37-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
'/lib/' + _EPICS_HOST_ARCH,
|
||||
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
|
||||
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
|
||||
'/opt/gfa/zmq/curl-7.54.1/lib',
|
||||
'/opt/gfa/python-3.7/latest/lib',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib',
|
||||
'/opt/gfa/python-3.7/latest/lib'
|
||||
],
|
||||
runtime_library_dirs=[
|
||||
os.environ['EPICS'] + '/base/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'-sf-py37-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
|
||||
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
|
||||
'/opt/gfa/zmq/curl-7.54.1/lib',
|
||||
'/opt/gfa/python-3.7/latest/lib',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH,
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'/lib/' + _EPICS_HOST_ARCH,
|
||||
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
|
||||
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
|
||||
'/opt/gfa/zmq/curl-7.54.1/lib',
|
||||
'/opt/gfa/python-3.7/latest/lib',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
|
||||
],
|
||||
libraries=['ca','Com','dl','cafe'])
|
||||
libraries=['dl','cafe','Qt5Xml'])
|
||||
], annotate=True,
|
||||
compiler_directives={'embedsignature': False, 'language_level': 3,
|
||||
'c_string_type': 'str', 'c_string_encoding' : 'ascii',
|
||||
|
||||
@@ -8,41 +8,41 @@ from Cython.Build import cythonize
|
||||
from numpy import get_include
|
||||
|
||||
|
||||
_CAFE_VERSION='1.14.4'
|
||||
_CAFE_VERSION='1.14.5'
|
||||
_EPICS_VERSION='3.14.12'
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
|
||||
language="c++",
|
||||
include_dirs=[ '/opt/gfa/python-3.8/latest/include/python3.8',
|
||||
include_dirs=[ '/opt/gfa/python-3.7/latest/include/python3.7m',
|
||||
os.environ['EPICS'] + '/base/include',
|
||||
os.environ['EPICS'] + '/base/include/os/Linux',
|
||||
'/opt/gfa/cafe/boost/boost_1_61_0/include',
|
||||
'/opt/gfa/cafe/boost/boost_1_61_0/include/boost',
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'-sf-py38-gcc-7.3.0/include',
|
||||
'-sf-py37-gcc-7.3.0/include',
|
||||
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/include',
|
||||
'/opt/gfa/zmq/curl-7.54.1/include',
|
||||
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/include',
|
||||
'.', get_include()],
|
||||
library_dirs=[ os.environ['EPICS'] + '/base/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'-sf-py38-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
'-sf-py37-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
|
||||
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
|
||||
'/opt/gfa/zmq/curl-7.54.1/lib',
|
||||
'/opt/gfa/python-3.8/latest/lib',
|
||||
'/opt/gfa/python-3.7/latest/lib',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
|
||||
],
|
||||
runtime_library_dirs=[
|
||||
os.environ['EPICS'] + '/base/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'-sf-py38-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
'-sf-py37-gcc-7.3.0/lib/' + os.environ['EPICS_HOST_ARCH'],
|
||||
'/opt/gfa/zmq/zeromq-4.2.3-gcc-6.3.0/lib',
|
||||
'/opt/gfa/zmsglog/json/jsoncpp-src-0.6.0-rc2/libs/linux-gcc-6.3.0',
|
||||
'/opt/gfa/zmq/curl-7.54.1/lib',
|
||||
'/opt/gfa/python-3.8/latest/lib',
|
||||
'/opt/gfa/python-3.7/latest/lib',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/7.3.0/lib'
|
||||
],
|
||||
@@ -8,13 +8,20 @@ from Cython.Build import cythonize
|
||||
from numpy import get_include
|
||||
|
||||
_GCC_VERSION='7.3.0'
|
||||
_CAFE_VERSION='1.16.0-py37-gcc-' + _GCC_VERSION
|
||||
_EPICS_VERSION='7.0.6'
|
||||
_EPICS_HOST_ARCH ='RHEL7-x86_64' #os.environ['EPICS_HOST_ARCH']
|
||||
_CAFE_VERSION='1.22.0-py37-gcc-' + _GCC_VERSION
|
||||
_EPICS_VERSION='7.0.9'
|
||||
_EPICS_HOST_ARCH=os.environ['RHREL'] + '-x86_64' #os.environ['EPICS_HOST_ARCH']
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
|
||||
language="c++",
|
||||
#extra_compile_args=['-fPIC'],
|
||||
#extra_link_args=['-static'],
|
||||
extra_objects = [ os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libca.so',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libCom.so',
|
||||
],
|
||||
include_dirs=[ '/opt/gfa/python-3.7/latest/include/python3.7m',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/os/Linux',
|
||||
@@ -30,7 +37,7 @@ setup(
|
||||
'/lib/' + _EPICS_HOST_ARCH,
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib',
|
||||
'/opt/gfa/python-3.7/latest/lib'
|
||||
#'/opt/gfa/python-3.7/latest/lib',
|
||||
],
|
||||
runtime_library_dirs=[
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
@@ -38,9 +45,10 @@ setup(
|
||||
'/opt/gfa/cafe/cpp/cafe-' + _CAFE_VERSION +
|
||||
'/lib/' + _EPICS_HOST_ARCH,
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib'
|
||||
],
|
||||
libraries=['ca','Com','dl','cafe'])
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib',
|
||||
#'/opt/gfa/python-3.7/latest/lib'
|
||||
],
|
||||
libraries=['dl','cafe', 'Qt5Xml'])
|
||||
], annotate=True,
|
||||
compiler_directives={'embedsignature': False, 'language_level': 3,
|
||||
'c_string_type': 'str', 'c_string_encoding' : 'ascii',
|
||||
|
||||
@@ -8,13 +8,18 @@ from Cython.Build import cythonize
|
||||
from numpy import get_include
|
||||
|
||||
_GCC_VERSION='7.5.0'
|
||||
_CAFE_VERSION='1.16.1-py38-gcc-' + _GCC_VERSION
|
||||
_EPICS_VERSION='7.0.6'
|
||||
_EPICS_HOST_ARCH ='RHEL7-x86_64'
|
||||
_CAFE_VERSION='1.22.0-py38-gcc-' + _GCC_VERSION
|
||||
_EPICS_VERSION='7.0.9'
|
||||
_EPICS_HOST_ARCH =os.environ['RHREL'] + '-x86_64'
|
||||
|
||||
setup(
|
||||
ext_modules = cythonize([Extension('PyCafe',['PyCafe.pyx'],
|
||||
language="c++",
|
||||
extra_objects = [ os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libca.so',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
_EPICS_HOST_ARCH + '/libCom.so',
|
||||
],
|
||||
include_dirs=[ '/opt/gfa/python-3.8/latest/include/python3.8m',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include',
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/include/os/Linux',
|
||||
@@ -30,7 +35,7 @@ setup(
|
||||
'/lib/' + _EPICS_HOST_ARCH,
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib',
|
||||
'/opt/gfa/python-3.8/latest/lib'
|
||||
#'/opt/gfa/python-3.8/latest/lib'
|
||||
],
|
||||
runtime_library_dirs=[
|
||||
os.environ['EPICS'] + '/base-' + _EPICS_VERSION + '/lib/' +
|
||||
@@ -40,7 +45,7 @@ setup(
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib64',
|
||||
os.environ['PSI_PREFIX'] + '/Programming/gcc/' + _GCC_VERSION + '/lib'
|
||||
],
|
||||
libraries=['ca','Com','dl','cafe', 'Qt5Xml', 'Qt5Core'])
|
||||
libraries=['dl','cafe','Qt5Xml'])
|
||||
], annotate=True,
|
||||
compiler_directives={'embedsignature': False, 'language_level': 3,
|
||||
'c_string_type': 'str', 'c_string_encoding' : 'ascii',
|
||||
|
||||
Reference in New Issue
Block a user