Commit 48fbe7a6 authored by Frederic HAN's avatar Frederic HAN
Browse files

0.6.8

parent 7dd09704
......@@ -319,3 +319,6 @@ Changelog
- 0.6.7:
+ udapte keywords for giac 1.5.0
+ update windows built with giac-1.5.0-3 with NTL+glpk+nauty enabled
- 0.6.8:
+ udapte keywords for giac 1.5.0.53
+ update windows built with giac-1.5.0-49
......@@ -3274,7 +3274,7 @@ static const char __pyx_k_EXPERIMENTAL_Send_a_giac_comman[] = "\n * EXPERIMENT
static const char __pyx_k_Increase_the_size_of_a_matrix_w[] = "\n * Increase the size of a matrix when possible, otherwise return self.\n\n >>> C=giac([[1,2]])\n >>> C.redim(2,3)\n [[1,2,0],[0,0,0]]\n >>> C.redim(2,1)\n [[1,2]]\n\n ";
static const char __pyx_k_Lists_of_10_6_integers_should_b[] = "\n Lists of 10**6 integers should be translated to giac easily\n\n >>> l=giac(list(range(10**6)));l[5] #python3\n 5\n >>> l[35:50:7]\n [35,42,49]\n >>> t=giac(tuple(range(10)))\n >>> t[:4:-1]\n 9,8,7,6,5\n >>> x=giac('x'); sum([ x[i] for i in range(5)])**3\n (x[0]+x[1]+x[2]+x[3]+x[4])**3\n >>> import giacpy\n >>> A=giacpy.ranm(5,10); A[3,7]-A[3][7]\n 0\n >>> A.transpose()[8,2]-A[2][8]\n 0\n >>> A=giac('[ranm(5,5),ranm(5,5)]')\n >>> A[1,2,3]-A[1][2][3]\n 0\n\n Crash test:\n\n >>> l=Pygen()\n >>> l[0]\n Traceback (most recent call last):\n File \"<stdin>\", line 1, in <module>\n ...\n IndexError: list index 0 out of range\n\n ";
static const char __pyx_k_Open_the_giac_html_detailled_he[] = "\n Open the giac html detailled help about self in an external browser\n\n There are currently 3 supported languages: 'en', 'fr', 'el'\n\n >>> from giacpy import gcd\n >>> gcd.htmlhelp('fr') # doctest: +SKIP\n\n ";
static const char __pyx_k_Pygen_lists_of_10_6_elements_sh[] = "\n Pygen lists of 10**6 elements should be yield\n\n >>> from time import clock\n >>> l=giac(range(10**6))\n >>> t=clock();l1=[ i for i in l ];t1=clock()-t;'time for a list of 10**6 i ',t1 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i ', ...)\n >>> t=clock();l1=[ i+i for i in l ];t2=clock()-t;'time for a list of 10**6 i+i ',t2 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i+i ', ...)\n >>> t=clock();l1=[ 1+i for i in l ];t3=clock()-t;\"time for a list of 10**6 1+i \",t3 # doctest: +ELLIPSIS\n ('time for a list of 10**6 1+i ', ...)\n >>> t=clock();l1=[ i+1 for i in l ];t4=clock()-t;\"time for a list of 10**6 i+1 \",t4 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i+1 ', ...)\n\n ";
static const char __pyx_k_Pygen_lists_of_10_6_elements_sh[] = "\n Pygen lists of 10**6 elements should be yield\n\n >>> from time import time\n >>> l=giac(range(10**6))\n >>> t=time();l1=[ i for i in l ];t1=time()-t;'time for a list of 10**6 i ',t1 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i ', ...)\n >>> t=time();l1=[ i+i for i in l ];t2=time()-t;'time for a list of 10**6 i+i ',t2 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i+i ', ...)\n >>> t=time();l1=[ 1+i for i in l ];t3=time()-t;\"time for a list of 10**6 1+i \",t3 # doctest: +ELLIPSIS\n ('time for a list of 10**6 1+i ', ...)\n >>> t=time();l1=[ i+1 for i in l ];t4=time()-t;\"time for a list of 10**6 i+1 \",t4 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i+1 ', ...)\n\n ";
static const char __pyx_k_Result_is_too_big_for_Display_I[] = "\nResult is too big for Display. If you really want to see it use print";
static const char __pyx_k_This_function_evaluate_a_python[] = "\n This function evaluate a python object with the giac library.\n\n * It creates in python a Pygen element and evaluate it with giac. For instance to compute a trigonometric expansion of cos(x+2y) where x and y are just formal symbols we can do:\n\n >>> from giacpy import giac,pi\n >>> x,y=giac('x,y')\n >>> (x+2*y).cos().texpand()\n cos(x)*(2*cos(y)**2-1)-sin(x)*2*cos(y)*sin(y)\n\n\n Coercion, Pygen and internal giac variables:\n --------------------------------------------\n\n * The most usefull objects will be the Python object of type Pygen. In the following example, we start by defining symbols x,y,z and do some formal computations\n\n >>> from giacpy import *\n >>> x,y,z=giac('x,y,z')\n >>> ((x+2*y/z)*(y+1)**2).diff(y) # compute the partial derivative with respect to y\n 2/z*(y+1)**2+(x+2*y/z)*2*(y+1)\n\n In the next example x was previously defined as a symbol so x[i] is just another symbol. So we can use the symbols x[i] to work with polynomial in several variables as we do with theother symbols x,y,z.\n\n For instance to compute the coefficient of x[0]^12 in (x[0]+x[1]+x[2]+x[3]+x[4])^15/(y+z) we just do the following\n >>> f=sum([x[i] for i in range(5)])**15/(y+z);f.coeff(x[0],12)\n (455*(x[1])**3+1365*(x[1])**2*x[2]+1365*(x[1])**2*x[3]+1365*(x[1])**2*x[4]+1365*x[1]*(x[2])**2+2730*x[1]*x[2]*x[3]+2730*x[1]*x[2]*x[4]+1365*x[1]*(x[3])**2+2730*x[1]*x[3]*x[4]+1365*x[1]*(x[4])**2+455*(x[2])**3+1365*(x[2])**2*x[3]+1365*(x[2])**2*x[4]+1365*x[2]*(x[3])**2+2730*x[2]*x[3]*x[4]+1365*x[2]*(x[4])**2+455*(x[3])**3+1365*(x[3])**2*x[4]+1365*x[3]*(x[4])**2+455*(x[4])**3)/(y+z)\n\n Warning: The complex number sqrt(-1) is exported in python as I. (But it may appears as i)\n\n >>> ((1+I*sqrt(3))**3).normal(); 1+I\n -8\n 1+i\n\n * Python integers and reals can be directly converted to giac.\n\n >>> a=giac(2**1024);a.nextprime();(giac(1.234567)).erf().approx(10)\n 1797693134862315907729305190789024733617""97697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137859\n 0.9191788641\n\n\n * There are some natural coercion to Pygen elements:\n\n >>> pi>3.14 ; pi >3.15 ; giac(3)==3\n True\n False\n True\n\n But sometimes you need to prevent Python from doing a computation before the conversion. For example if 1/3 is done in Python2 you will obtain 0 while in Python3 0.33333 so to create: x+1/3:\n >>> x+'1/3'\n x+1/3\n >>> x+giac(1)/3\n x+1/3\n\n while to create x/(1+x) or x+x/3 you don't need quotes because at each step one of the two object is a Pygen.\n >>> x/(1+x)\n x/(1+x)\n >>> (x+x/3).factor()\n 4*x/3\n\n\n * The Python object y defined above is of type Pygen. It is not an internal giac variable. (Most of the time you won't need to use internal giac variables).\n\n >>> yyyy=2;giac('yyyy:=1');yyyy\n 1\n 2\n\n\n Linear Algebra:\n ---------------\n\n * In Giac/Xcas vectors are just lists and matrices are lists of list.\n\n >>> x,y=giac('x,y')\n >>> A=giac([[1,2],[3,4]]) # we create a giac matrix from it lines\n >>> v=giac([x,y]); v # a giac vector\n [x,y]\n >>> A*v # matrix product with a vector outputs a vector\n [x+2*y,3*x+4*y]\n >>> v*v # dot product\n x*x+y*y\n\n Remark that w=giac([[x],[y]]) is a matrix of 1 column and 2 rows. It is not a vector so w*w doesn't make sense.\n >>> w=giac([[x],[y]])\n >>> w.transpose()*w # this matrix product makes sense and output a 1x1 matrix.\n matrix[[x*x+y*y]]\n\n * In Python affectation doesn't create a new matrix. (cf. pointers) see also the doc of 'giacpy.Pygen.__setitem__'\n\n >>> B1=A;\n >>> B1[0,0]=43; B1 # in place affectation changes both B1 and A\n [[43,2],[3,4]]\n >>> A\n [[43,2],[3,4]]\n >>> A[0""][0]=A[0][0]+1; A # similar as A[0,0]=A[0,0]+1\n [[44,2],[3,4]]\n >>> A.pcar(x) # compute the characteristic polynomial of A\n x**2-48*x+170\n >>> B2=A.copy() # use copy to create another object\n >>> B2[0,0]=55; B2 # here A is not modified\n [[55,2],[3,4]]\n >>> A\n [[44,2],[3,4]]\n\n\n\n * Sparse Matrices are avaible via the table function.\n >>> import giacpy\n >>> A=giacpy.table(()); A # create an empty giac table\n table(\n )\n >>> A[2,3]=33; A[0,2]='2/7' # set non zero entries of the sparse matrix\n >>> A*A # basic matrix operation are supported with sparse matrices\n table(\n (0,3) = 66/7\n )\n >>> D=giacpy.diag([22,3,'1/7']); D # some diagonal matrix\n [[22,0,0],[0,3,0],[0,0,1/7]]\n >>> giacpy.table(D) # to create a sparse matrix from an ordinary one\n table(\n (0,0) = 22,\n (1,1) = 3,\n (2,2) = 1/7\n )\n\n\n But many matrix functions apply only with ordinary matrices so need conversions\n\n >>> B1=A.matrix(); B1 # convert the sparse matrix to a matrix, but the size is minimal\n [[0,0,2/7,0],[0,0,0,0],[0,0,0,33]]\n >>> B2=B1.redim(4,4); B2.pmin(x) # so we may need to resize B1\n x**3\n\n\n Lists of Pygen and Giac lists:\n ------------------------------\n\n * Here l1 is a giac list and l2 is a python list of Pygen type objects.\n\n >>> l1=giac(range(10)); l2=[1/(i**2+1) for i in l1]\n >>> sum(l2)\n 33054527/16762850\n\n So l1+l1 is done in giac and means a vector addition. But l2+l2 is done in Python so it is the list concatenation.\n\n >>> l1+l1\n [0,2,4,6,8,10,12,14,16,18]\n\n >>> l2+l2\n [1, 1/2, 1/5, 1/10, 1/17, 1/26, 1/37, 1/50, 1/65, 1/82, 1, 1/2, 1/5, 1/10, 1/17, 1/26, 1/37, 1/50, 1/65, 1/82]\n\n\n * Here V is not a Pygen element. We need to push it to giac to use a giac method like dim, or we need to use an imported function.\n\n >>> V=[ [x[i]**j for i in range(8)] for j in range(8)]\n\n >>> giac(V).dim()\n [8"",8]\n\n >>> dt=det_minor(V).factor(); dt.nops() # 28 factors\n 28\n\n >>> sort(list(dt.op()))\n [x[1]-(x[2]),x[1]-(x[3]),x[1]-(x[4]),x[1]-(x[5]),x[1]-(x[6]),x[1]-(x[7]),x[2]-(x[3]),x[2]-(x[4]),x[2]-(x[5]),x[2]-(x[6]),x[2]-(x[7]),x[3]-(x[4]),x[3]-(x[5]),x[3]-(x[6]),x[3]-(x[7]),x[4]-(x[5]),x[4]-(x[6]),x[4]-(x[7]),x[5]-(x[6]),x[5]-(x[7]),x[6]-(x[7]),x[0]-(x[1]),x[0]-(x[2]),x[0]-(x[3]),x[0]-(x[4]),x[0]-(x[5]),x[0]-(x[6]),x[0]-(x[7])]\n\n\n * Modular objects with %\n\n >>> V=ranm(5,6) % 2;\n\n >>> ker(V).rowdim()+V.rank()\n 6\n\n >>> a=giac(7)%3;a;a%0;7%3\n 1 % 3\n 1\n 1\n\n Do not confuse with the python integers:\n\n >>> type(7%3)==type(a);type(a)==type(7%3)\n False\n False\n\n Syntaxes with reserved or unknown Python symbols:\n -------------------------------------------------\n\n * In general equations needs symbols such as = < > or that have another meaning in Python. So those objects must be quoted.\n\n ::\n\n >>> from giacpy import *\n\n >>> x=giac('x')\n\n >>> (1+2*sin(3*x)).solve(x).simplify()\n list[-pi/18,7*pi/18]\n\n >>> solve('sin(3*x)>2*sin(x)',x)\n \"Unable to find numeric values solving equation. For trigonometric equations this may be solved using assumptions, e.g. assume(x>-pi && x<pi) Error: Bad Argument Value\"\n\n\n * You can also add some hypothesis to a giac symbol:\n\n >>> assume('x>-pi && x<pi')\n x\n >>> solve('sin(3*x)>2*sin(x)',x)\n list[((x>(-5*pi/6)) and (x<(-pi/6))),((x>0) and (x<(pi/6))),((x>(5*pi/6)) and (x<pi))]\n\n * To remove those hypothesis use the giac function: purge\n\n >>> purge('x')\n assume[[],[line[-pi,pi]],[-pi,pi]]\n >>> solve('x>0')\n list[x>0]\n\n ::\n\n * Same problems with the ..\n\n >>> from giacpy import *\n\n >>> x=giac('x')\n\n >>> f=1/(5+cos(4*x));f.int(x)\n 1/2/(2*sqrt(6))*(atan((-sqrt(6)*sin(4*x)+2*sin(4*x))/(sqrt(6)*cos(4*x)+sqrt(6)-2*cos(4*x)+2))+4*x/2)\n >>> fMax(f,'x=-0..pi').simplify()\n pi/""4,3*pi/4\n >>> fMax.help() # doctest: +SKIP\n \"Returns the abscissa of the maximum of the expression.\n Expr,[Var]\n fMax(-x^2+2*x+1,x)\n fMin\"\n >>> sum(1/(1+x**2),'x=0..infinity').simplify()\n (pi*exp(pi)**2+pi+exp(pi)**2-1)/(2*exp(pi)**2-2)\n\n\n MEMENTO of usual GIAC functions:\n ===============================\n\n * Expand with simplification\n\n - ``ratnormal``, ``normal``, ``simplify`` (from the fastest to the most sophisticated)\n\n - NB: ``expand`` function doesn't regroup nor cancel terms, so it could be slow. (pedagogical purpose only?)\n\n * Factor/Regroup\n\n - ``factor``, ``factors``, ``regroup``, ``cfactor``, ``ifactor``\n\n * Misc\n\n - ``unapply``, ``op``, ``subst``\n\n * Polynomials/Fractions\n\n - ``coeff``, ``gbasis``, ``greduce``, ``lcoeff``, ``pcoeff``, ``canonical_form``,\n\n - ``proot``, ``poly2symb``, ``symb2poly``, ``posubLMQ``, ``poslbdLMQ``, ``VAS``, ``tcoeff``, ``valuation``\n\n - ``gcd``, ``egcd``, ``lcm``, ``quo``, ``rem``, ``quorem``, ``abcuv``, ``chinrem``,\n\n - ``peval``, ``horner``, ``lagrange``, ``ptayl``, ``spline``, ``sturm``, ``sturmab``\n\n - ``partfrac``, ``cpartfrac``\n\n * Memory/Variables\n\n * ``assume``, ``about``, ``purge``, ``ans``\n\n * Calculus/Exact\n\n - ``linsolve``, ``solve``, ``csolve``, ``desolve``, ``seqsolve``, ``reverse_rsolve``, ``matpow``\n\n - ``limit``, ``series``, ``sum``, ``diff``, ``fMax``, ``fMin``,\n\n - ``integrate``, ``subst``, ``ibpdv``, ``ibpu``, ``preval``\n\n * Calculus/Exp, Log, powers\n\n - ``exp2pow``, ``hyp2exp``, ``expexpand``, ``lin``, ``lncollect``, ``lnexpand``, ``powexpand``, ``pow2exp``\n\n * Trigo\n\n - ``trigexpand``, ``tsimplify``, ``tlin``, ``tcollect``,\n\n - ``halftan``, ``cos2sintan``, ``sin2costan``, ``tan2sincos``, ``tan2cossin2``, ``tan2sincos2``, ``trigcos``, ``trigsin``, ``trigtan``, ``s""hift_phase``\n\n - ``exp2trig``, ``trig2exp``\n\n - ``atrig2ln``, ``acos2asin``, ``acos2atan``, ``asin2acos``, ``asin2atan``, ``atan2acos``, ``atan2asin``\n\n * Linear Algebra\n\n - ``identity``, ``matrix``, ``makemat``, ``syst2mat``, ``matpow``, ``table``, ``redim``\n\n - ``det``, ``det_minor``, ``rank``, ``ker``, ``image``, ``rref``, ``simplex_reduce``,\n\n - ``egv``, ``egvl``, ``eigenvalues``, ``pcar``, ``pcar_hessenberg``, ``pmin``,\n\n - ``jordan``, ``adjoint_matrix``, ``companion``, ``hessenberg``, ``transpose``,\n\n - ``cholesky``, ``lll``, ``lu``, ``qr``, ``svd``, ``a2q``, ``gauss``, ``gramschmidt``,\n ``q2a``, ``isom``, ``mkisom``\n\n\n * Finite Fieds\n\n - ``%``, ``% 0``, ``mod``, ``GF``, ``powmod``\n\n\n * Integers\n\n - ``gcd``, ``iabcuv``, ``ichinrem``, ``idivis``, ``iegcd``,\n\n - ``ifactor``, ``ifactors``, ``iquo``, ``iquorem``, ``irem``,\n\n - ``is_prime, is_pseudoprime``, ``lcm``, ``mod``, ``nextprime``, ``pa2b2``, ``prevprime``,\n ``smod``, ``euler``, ``fracmod``\n\n * List\n\n - ``append``, ``accumulate_head_tail``, ``concat``, ``head``, ``makelist``, ``member``, ``mid``, ``revlist``, ``rotate``, ``shift``, ``size``, ``sizes``, ``sort``, ``suppress``, ``tail``\n\n * Set\n\n - ``intersect``, ``minus``, ``union``, ``is_element``, ``is_included``\n\n\n ";
static const char __pyx_k_Use_this_subclass_of_to_call_yo[] = "\n Use this subclass of to call your objects with the threadeval method.\n It is usefull to interupt a computation with control C with many python front ends.\n This class is used by GiacFunction\n ";
......@@ -11235,7 +11235,7 @@ static PyObject *__pyx_gb_6giacpy_6giacpy_5Pygen_16generator(__pyx_CoroutineObje
 
/* Python wrapper */
static PyObject *__pyx_pw_6giacpy_6giacpy_5Pygen_15__iter__(PyObject *__pyx_v_self); /*proto*/
static char __pyx_doc_6giacpy_6giacpy_5Pygen_14__iter__[] = "\n Pygen lists of 10**6 elements should be yield\n\n >>> from time import clock\n >>> l=giac(range(10**6))\n >>> t=clock();l1=[ i for i in l ];t1=clock()-t;'time for a list of 10**6 i ',t1 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i ', ...)\n >>> t=clock();l1=[ i+i for i in l ];t2=clock()-t;'time for a list of 10**6 i+i ',t2 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i+i ', ...)\n >>> t=clock();l1=[ 1+i for i in l ];t3=clock()-t;\"time for a list of 10**6 1+i \",t3 # doctest: +ELLIPSIS\n ('time for a list of 10**6 1+i ', ...)\n >>> t=clock();l1=[ i+1 for i in l ];t4=clock()-t;\"time for a list of 10**6 i+1 \",t4 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i+1 ', ...)\n\n ";
static char __pyx_doc_6giacpy_6giacpy_5Pygen_14__iter__[] = "\n Pygen lists of 10**6 elements should be yield\n\n >>> from time import time\n >>> l=giac(range(10**6))\n >>> t=time();l1=[ i for i in l ];t1=time()-t;'time for a list of 10**6 i ',t1 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i ', ...)\n >>> t=time();l1=[ i+i for i in l ];t2=time()-t;'time for a list of 10**6 i+i ',t2 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i+i ', ...)\n >>> t=time();l1=[ 1+i for i in l ];t3=time()-t;\"time for a list of 10**6 1+i \",t3 # doctest: +ELLIPSIS\n ('time for a list of 10**6 1+i ', ...)\n >>> t=time();l1=[ i+1 for i in l ];t4=time()-t;\"time for a list of 10**6 i+1 \",t4 # doctest: +ELLIPSIS\n ('time for a list of 10**6 i+1 ', ...)\n\n ";
#if CYTHON_COMPILING_IN_CPYTHON
struct wrapperbase __pyx_wrapperbase_6giacpy_6giacpy_5Pygen_14__iter__;
#endif
......@@ -16950,7 +16950,7 @@ static PyObject *__pyx_pf_6giacpy_6giacpy_5Pygen_59qcas(struct __pyx_obj_6giacpy
* """
* ressetctrl_c() # <<<<<<<<<<<<<<
* try:
* from .giacpy2qcas import toqcas
* from giacpy2qcas import toqcas
*/
try {
ressetctrl_c();
......@@ -16963,7 +16963,7 @@ static PyObject *__pyx_pf_6giacpy_6giacpy_5Pygen_59qcas(struct __pyx_obj_6giacpy
* """
* ressetctrl_c()
* try: # <<<<<<<<<<<<<<
* from .giacpy2qcas import toqcas
* from giacpy2qcas import toqcas
* toqcas(self,s)
*/
{
......@@ -16978,7 +16978,7 @@ static PyObject *__pyx_pf_6giacpy_6giacpy_5Pygen_59qcas(struct __pyx_obj_6giacpy
/* "giacpy/giacpy.pyx":1400
* ressetctrl_c()
* try:
* from .giacpy2qcas import toqcas # <<<<<<<<<<<<<<
* from giacpy2qcas import toqcas # <<<<<<<<<<<<<<
* toqcas(self,s)
* except:
*/
......@@ -16987,7 +16987,7 @@ static PyObject *__pyx_pf_6giacpy_6giacpy_5Pygen_59qcas(struct __pyx_obj_6giacpy
__Pyx_INCREF(__pyx_n_s_toqcas);
__Pyx_GIVEREF(__pyx_n_s_toqcas);
PyList_SET_ITEM(__pyx_t_4, 0, __pyx_n_s_toqcas);
__pyx_t_5 = __Pyx_Import(__pyx_n_s_giacpy2qcas, __pyx_t_4, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1400, __pyx_L3_error)
__pyx_t_5 = __Pyx_Import(__pyx_n_s_giacpy2qcas, __pyx_t_4, -1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1400, __pyx_L3_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_ImportFrom(__pyx_t_5, __pyx_n_s_toqcas); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1400, __pyx_L3_error)
......@@ -16999,7 +16999,7 @@ static PyObject *__pyx_pf_6giacpy_6giacpy_5Pygen_59qcas(struct __pyx_obj_6giacpy
 
/* "giacpy/giacpy.pyx":1401
* try:
* from .giacpy2qcas import toqcas
* from giacpy2qcas import toqcas
* toqcas(self,s) # <<<<<<<<<<<<<<
* except:
* raise RuntimeError
......@@ -17056,7 +17056,7 @@ static PyObject *__pyx_pf_6giacpy_6giacpy_5Pygen_59qcas(struct __pyx_obj_6giacpy
* """
* ressetctrl_c()
* try: # <<<<<<<<<<<<<<
* from .giacpy2qcas import toqcas
* from giacpy2qcas import toqcas
* toqcas(self,s)
*/
}
......@@ -17071,7 +17071,7 @@ static PyObject *__pyx_pf_6giacpy_6giacpy_5Pygen_59qcas(struct __pyx_obj_6giacpy
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
 
/* "giacpy/giacpy.pyx":1402
* from .giacpy2qcas import toqcas
* from giacpy2qcas import toqcas
* toqcas(self,s)
* except: # <<<<<<<<<<<<<<
* raise RuntimeError
......@@ -17100,7 +17100,7 @@ static PyObject *__pyx_pf_6giacpy_6giacpy_5Pygen_59qcas(struct __pyx_obj_6giacpy
* """
* ressetctrl_c()
* try: # <<<<<<<<<<<<<<
* from .giacpy2qcas import toqcas
* from giacpy2qcas import toqcas
* toqcas(self,s)
*/
__Pyx_XGIVEREF(__pyx_t_1);
......@@ -1008,15 +1008,15 @@ cdef class Pygen:
"""
Pygen lists of 10**6 elements should be yield
>>> from time import clock
>>> from time import time
>>> l=giac(range(10**6))
>>> t=clock();l1=[ i for i in l ];t1=clock()-t;'time for a list of 10**6 i ',t1 # doctest: +ELLIPSIS
>>> t=time();l1=[ i for i in l ];t1=time()-t;'time for a list of 10**6 i ',t1 # doctest: +ELLIPSIS
('time for a list of 10**6 i ', ...)
>>> t=clock();l1=[ i+i for i in l ];t2=clock()-t;'time for a list of 10**6 i+i ',t2 # doctest: +ELLIPSIS
>>> t=time();l1=[ i+i for i in l ];t2=time()-t;'time for a list of 10**6 i+i ',t2 # doctest: +ELLIPSIS
('time for a list of 10**6 i+i ', ...)
>>> t=clock();l1=[ 1+i for i in l ];t3=clock()-t;"time for a list of 10**6 1+i ",t3 # doctest: +ELLIPSIS
>>> t=time();l1=[ 1+i for i in l ];t3=time()-t;"time for a list of 10**6 1+i ",t3 # doctest: +ELLIPSIS
('time for a list of 10**6 1+i ', ...)
>>> t=clock();l1=[ i+1 for i in l ];t4=clock()-t;"time for a list of 10**6 i+1 ",t4 # doctest: +ELLIPSIS
>>> t=time();l1=[ i+1 for i in l ];t4=time()-t;"time for a list of 10**6 i+1 ",t4 # doctest: +ELLIPSIS
('time for a list of 10**6 i+1 ', ...)
"""
......@@ -1397,7 +1397,7 @@ cdef class Pygen:
"""
ressetctrl_c()
try:
from .giacpy2qcas import toqcas
from giacpy2qcas import toqcas
toqcas(self,s)
except:
raise RuntimeError
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment