## maxima-discuss — Maxima discussion list

You can subscribe to this list here.

 2014 2015 2016 2017 Jan Feb (232) Mar (323) Apr (383) May (359) Jun (435) Jul (252) Aug (172) Sep (265) Oct (263) Nov (350) Dec (359) Jan (267) Feb (220) Mar (311) Apr (269) May (388) Jun (403) Jul (172) Aug (399) Sep (364) Oct (269) Nov (357) Dec (468) Jan (618) Feb (592) Mar (625) Apr (516) May (375) Jun (155) Jul (346) Aug (262) Sep (346) Oct (291) Nov (333) Dec (335) Jan (436) Feb (460) Mar (370) Apr (189) May (252) Jun (272) Jul (286) Aug (293) Sep (303) Oct (203) Nov Dec
S M T W T F S

1
(8)
2
(12)
3
(2)
4
(4)
5
(5)
6
(8)
7
(26)
8
(21)
9
(17)
10
(9)
11
(2)
12
(2)
13

14
(10)
15
(1)
16
(14)
17
(5)
18
(16)
19
(6)
20
(10)
21
(11)
22
(7)
23
(8)
24
(6)
25
(5)
26
(10)
27
(9)
28
(2)
29
(4)
30
(5)
31
(7)

Showing results of 252

1 2 3 .. 11 > >> (Page 1 of 11)
 Re: [Maxima-discuss] problem with plotting functions with style "linespoints" From: Raymond Toy - 2014-07-31 23:41:01 ```On 7/31/14 3:47 PM, mark x wrote: > thanks for your help! > > to my understanding using dotted lines in plots is not only for > discrete data points. it is very common in scientific papers to also > plot functions with an option like "linespoints". this helps to > distinguish functions, if they are plotted in one diagram and printed > in gray scale mode or read by color blind people. also, if two > identical functions are plotted in one diagram, using just colors will > only show one of the functions and hide the other, e.g. (the example > is trivial, i know. but imagine plotting the results of more complex > calculations without knowing that the resulting functions are > identical): > > plot2d([sin(x), sin(x)], [x,-5,5])\$ > > using dotted lines could work around that issue. > > anyway, gnuplot alone plots the example perfectly fine, just the way > it should be: > > gnuplot> set style function linespoints > gnuplot> plot sin(x) > > is it possible to achieve the same/similar result using maxima? This is due to maxima using an adaptive plotting scheme that tries to plot more points where the curve is not "smooth" in some sense. You can turn off adaptive plotting by adding [adapt_depth,1] to the plot2d command. Then you will get uniform sampling of the function and the points will be uniformly spaced. Does this do what you want? -- Ray > > > > On Thu, Jul 31, 2014 at 11:28 PM, Jaime Villate wrote: >> On 31-07-2014 20:21, mark x wrote: >>> i'm trying to plot functions with the style "linespoints" instead of >>> just color (so that they even can be distinguished on a gray scale >>> print), e.g.: >>> >>> plot2d([sin(x)], [x,-5,5], [style, linespoints])\$ >> >> option "linespoints" is meant to be used with discrete data points and not >> with continuous functions. You might want to create a list of points and >> plot them: >> >> plot2d([discrete, makelist([x,sin(x)],x,-5,5,0.25)], [style, linespoints])\$ >> >> Of course, the resulting curve will not be as smooth as the one you get with >> plot2d(sin(x),[x,-5,5]). >> Regards, >> Jaime >> > ------------------------------------------------------------------------------ > Infragistics Professional > Build stunning WinForms apps today! > Reboot your WinForms applications with our WinForms controls. > Build a bridge from your legacy apps to the future. > http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk > _______________________________________________ > Maxima-discuss mailing list > Maxima-discuss@... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss ```
 Re: [Maxima-discuss] problem with plotting functions with style "linespoints" From: mark x - 2014-07-31 22:47:09 ```thanks for your help! to my understanding using dotted lines in plots is not only for discrete data points. it is very common in scientific papers to also plot functions with an option like "linespoints". this helps to distinguish functions, if they are plotted in one diagram and printed in gray scale mode or read by color blind people. also, if two identical functions are plotted in one diagram, using just colors will only show one of the functions and hide the other, e.g. (the example is trivial, i know. but imagine plotting the results of more complex calculations without knowing that the resulting functions are identical): plot2d([sin(x), sin(x)], [x,-5,5])\$ using dotted lines could work around that issue. anyway, gnuplot alone plots the example perfectly fine, just the way it should be: gnuplot> set style function linespoints gnuplot> plot sin(x) is it possible to achieve the same/similar result using maxima? On Thu, Jul 31, 2014 at 11:28 PM, Jaime Villate wrote: > On 31-07-2014 20:21, mark x wrote: >> >> i'm trying to plot functions with the style "linespoints" instead of >> just color (so that they even can be distinguished on a gray scale >> print), e.g.: >> >> plot2d([sin(x)], [x,-5,5], [style, linespoints])\$ > > > option "linespoints" is meant to be used with discrete data points and not > with continuous functions. You might want to create a list of points and > plot them: > > plot2d([discrete, makelist([x,sin(x)],x,-5,5,0.25)], [style, linespoints])\$ > > Of course, the resulting curve will not be as smooth as the one you get with > plot2d(sin(x),[x,-5,5]). > Regards, > Jaime > ```
 [Maxima-discuss] trigrat with fractional powers WAS trigrat crashes From: Stavros Macrakis (Σταῦρος Μακράκης) - 2014-07-31 22:34:05 Attachments: Message as HTML ```I don't think trigrat is very useful for fractional powers. Consider the simplest example, trigrat(sin(x)^(1/2). This returns (sqrt(2)*%i*(sin(2*x)^2+cos(2*x)^2-2*cos(2*x)+1)^(1/4)* sin((atan2(cos(2*x)-1,-sin(2*x))-atan2(sin(x),cos(x))+%pi)/2)+ sqrt(2)*(sin(2*x)^2+cos(2*x)^2-2*cos(2*x)+1)^(1/4)* cos((atan2(cos(2*x)-1,-sin(2*x))-atan2(sin(x),cos(x))+%pi)/2))/2 Is that useful for anything? Note for example the subexpressions sin(2*x)^2+cos(2*x)^2 (identically 1) atan2(sin(x),cos(x)) probably should be treated as x etc. I doubt trigrat was even *designed* to be useful for this case. If something more powerful than ratsimp is wanted, perhaps a useful choice would be radcan(exponentialize(logarc(expr))). But don't blame me if that's a bad idea ... just a suggested thing to try. -s On Thu, Jul 31, 2014 at 5:50 PM, Stavros Macrakis (Σταῦρος Μακράκης) < macrakis@...> wrote: > a) What do you mean by "seems to be crashing"? Does Maxima give an error > message? Does the process coredump? Or does it just run for a very long > time? > > b) Why are you using trigrat to compare expressions? trigrat expands > expressions enormously. For example, trigrat(1/(sin(x)^(9/2)+1) is 173,754 > characters long. I am not surprised that calling trigrat on larger > expressions might take a long time. > > c) In your particular example, you don't need any trig simplifications at > all. lhs(ex)-rhs(ex) => 0. Why use a nuclear bomb when you can use a > nail-file? > > d) I'm not even sure that trigrat is any better at canonicalizing > expressions than other approaches. For example, trigrat sometimes produces > things like atan2(sin(x),cos(x)). > > e) For checking expressions that don't have parameters for equality, > taylor can be very valuable. There must be some way of determining how many > terms of a taylor series must be zero to prove that the expression is zero > for some classes of expression, but I don't know it.... > > f) If you really thing trigrat is what you need, at least use > is(equal(trigrat(a-b),0)) rather than is(trigrat(a=b)). There's a good > chance in the former case that cancellations will happen, while in the > latter, you are forcing trigrat to expand even if there will ultimately be > cancellations. > > > > On Thu, Jul 31, 2014 at 4:38 PM, Max Cohen wrote: > >> Hello, >> >> I use trigrat to compare expressions with trigonometry in them. When I do >> is(trigrat(((diff((7) /(4 +(sin(x))^((5)/2)),x)=( - ( (( ( 35 * cos(x) ) >> * (sin(x)^(3/2)) )/( 2 * (( (sin(x)^(5/2)) + 4 )^2) )) ) ))))); >> >> maxima seems to be crashing. However, if I interrupt maxima and run the >> same command again, it does answer!? >> This looks to me like a bug in maxima? >> >> Also, maybe related, the following takes a very long time on my machine: >> (trigrat(radcan((4*sin(%pi*93/180)/sin(%pi*65/180))))); >> >> I'm on ubuntu, sbcl. >> >> regards, >> >> Max ; >> >> >> ------------------------------------------------------------------------------ >> Infragistics Professional >> Build stunning WinForms apps today! >> Reboot your WinForms applications with our WinForms controls. >> Build a bridge from your legacy apps to the future. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk >> _______________________________________________ >> Maxima-discuss mailing list >> Maxima-discuss@... >> https://lists.sourceforge.net/lists/listinfo/maxima-discuss >> >> > ```
 Re: [Maxima-discuss] trigrat crashes From: Stavros Macrakis (Σταῦρος Μακράκης) - 2014-07-31 21:50:08 Attachments: Message as HTML ```a) What do you mean by "seems to be crashing"? Does Maxima give an error message? Does the process coredump? Or does it just run for a very long time? b) Why are you using trigrat to compare expressions? trigrat expands expressions enormously. For example, trigrat(1/(sin(x)^(9/2)+1) is 173,754 characters long. I am not surprised that calling trigrat on larger expressions might take a long time. c) In your particular example, you don't need any trig simplifications at all. lhs(ex)-rhs(ex) => 0. Why use a nuclear bomb when you can use a nail-file? d) I'm not even sure that trigrat is any better at canonicalizing expressions than other approaches. For example, trigrat sometimes produces things like atan2(sin(x),cos(x)). e) For checking expressions that don't have parameters for equality, taylor can be very valuable. There must be some way of determining how many terms of a taylor series must be zero to prove that the expression is zero for some classes of expression, but I don't know it.... f) If you really thing trigrat is what you need, at least use is(equal(trigrat(a-b),0)) rather than is(trigrat(a=b)). There's a good chance in the former case that cancellations will happen, while in the latter, you are forcing trigrat to expand even if there will ultimately be cancellations. On Thu, Jul 31, 2014 at 4:38 PM, Max Cohen wrote: > Hello, > > I use trigrat to compare expressions with trigonometry in them. When I do > is(trigrat(((diff((7) /(4 +(sin(x))^((5)/2)),x)=( - ( (( ( 35 * cos(x) ) * > (sin(x)^(3/2)) )/( 2 * (( (sin(x)^(5/2)) + 4 )^2) )) ) ))))); > > maxima seems to be crashing. However, if I interrupt maxima and run the > same command again, it does answer!? > This looks to me like a bug in maxima? > > Also, maybe related, the following takes a very long time on my machine: > (trigrat(radcan((4*sin(%pi*93/180)/sin(%pi*65/180))))); > > I'm on ubuntu, sbcl. > > regards, > > Max ; > > > ------------------------------------------------------------------------------ > Infragistics Professional > Build stunning WinForms apps today! > Reboot your WinForms applications with our WinForms controls. > Build a bridge from your legacy apps to the future. > > http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk > _______________________________________________ > Maxima-discuss mailing list > Maxima-discuss@... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > > ```
 Re: [Maxima-discuss] problem with plotting functions with style "linespoints" From: Jaime Villate - 2014-07-31 21:28:10 ```On 31-07-2014 20:21, mark x wrote: > i'm trying to plot functions with the style "linespoints" instead of > just color (so that they even can be distinguished on a gray scale > print), e.g.: > > plot2d([sin(x)], [x,-5,5], [style, linespoints])\$ option "linespoints" is meant to be used with discrete data points and not with continuous functions. You might want to create a list of points and plot them: plot2d([discrete, makelist([x,sin(x)],x,-5,5,0.25)], [style, linespoints])\$ Of course, the resulting curve will not be as smooth as the one you get with plot2d(sin(x),[x,-5,5]). Regards, Jaime ```
 [Maxima-discuss] trigrat crashes From: Max Cohen - 2014-07-31 21:05:24 Attachments: Message as HTML ```Hello, I use trigrat to compare expressions with trigonometry in them. When I do is(trigrat(((diff((7) /(4 +(sin(x))^((5)/2)),x)=( - ( (( ( 35 * cos(x) ) * (sin(x)^(3/2)) )/( 2 * (( (sin(x)^(5/2)) + 4 )^2) )) ) ))))); maxima seems to be crashing. However, if I interrupt maxima and run the same command again, it does answer!? This looks to me like a bug in maxima? Also, maybe related, the following takes a very long time on my machine: (trigrat(radcan((4*sin(%pi*93/180)/sin(%pi*65/180))))); I'm on ubuntu, sbcl. regards, Max ; ```
 [Maxima-discuss] problem with plotting functions with style "linespoints" From: mark x - 2014-07-31 19:21:49 ```hello, i'm trying to plot functions with the style "linespoints" instead of just color (so that they even can be distinguished on a gray scale print), e.g.: plot2d([sin(x)], [x,-5,5], [style, linespoints])\$ the problem is that the density/amount of the points on the lines is far too high (try above example to see what i mean). in fact, maxima/gnuplot plots so many points that the graph looks like one very thick line. the plot looks very poor that way. not to mention the fact that it defeats the purpose of making the plot more readable. is there any way to reduce the amount of plotted points on the line, so that i end up with a function that is nicely plotted with the style "linespoints"? many thanks for your time and support! mark ```
 Re: [Maxima-discuss] mapat From: Richard Fateman - 2014-07-30 16:52:54 Attachments: Message as HTML ```I've lost track of what you are really trying to do,or if there is in fact an application in mind. Maybe it is a simple as identifying a discrete subexpression tree T by a list of integer indexes, operating on T by f(T), and placing f(T) in that same spot. In which case there is perhaps this much simpler way Example k: cos(b+a)+sin(b+a) target: inpart(k,1,1) --> returns b+a actually it returns the b+a which is the argument of cos. subst(c,target,k) returns cos(c)+sin(c) BUT ?subst(c,target,k) returns cos(c)+sin(b+a). That is, only the selected memory location is affected, not other copies. Note that ?subst rather that subst is used. This will not work if the selected target is an atom like b, since all occurrences of the symbol b are identical references, so they will all be affected. In that case, substinpart(d,k, 1,1,2) affects only the first b, and produces cos(d+a)+sin(b+a). Apologies if this does not address what you are trying to do with mapat. RJF On 7/30/2014 9:12 AM, Pankaj Sejwal wrote: > Hi, > I tried your method,but it is failing this use case, > > ll:[2,3,[a,b,[t,y,[u,i],[o,p],6,7]],8,8]\$ > > a) *mmapat(ll,segment,3);* => [2,3,[a,b,[t,y,[u,i],[o,p],6,7]],8,8] > //No change > > *map_apply_at(ll,[[3]],segment),eval;* => > [2,3,a,b,[t,y,[u,i],[o,p],6,7],8,8] //Change in effect > > "segment" works with "map_apply_at" but not "map_f_at". > > *mmapat2(f,x,1);* => substpart: argument must be a non-atomic > expression; found f //use [f] to fix problem,easy to fix with a > small atom check > > *mmapat2(f-1,x,0);* => x("+")(-1,f), //correct, interesting so wrote it > > b) Also I am not sure if you are expecting this use case to work > because it doesn't seem to warn user, > *mmapat2(ll,x,[1,3]);* => [3,x([2,[a,b,[t,y,[u,i],[o,p],6,7]]]),8,8] > > *Use cases for apply *:Discussing some more applications of selective > mapping.Basically this way of mapping is like "levelspec" in Mathematica, > > *map_f_at(ll,[[3,3]],lambda([x],delete(t,x)));* => > [2,3,[a,b,[y,[u,i],[o,p],6,7]],8,8] //Deleting at a specific nested level > > *map_f_at([2,3,[a,b,[t,t,t,t,y,[u,i],[o,p],6,7]],8,8],[[3,3]],lambda([x],delete(t,x,2)));* > => [2,3,[a,b,[t,t,y,[u,i],[o,p],6,7]],8,8] //Deleting upto n cases > > *mmapat([2,3,[a,b,[t,t,t,t,y,[u,i],[o,p],6,7]],8,8],lambda([x],delete(t,x,2)),3,3);* > //Also works fine > > *map_f_at(ll,[[3,3]],lambda([x],append([[g,h]],x)));* => > [2,3,[a,b,[[g,h],t,y,[u,i],[o,p],6,7]],8,8] > > *map_f_at(ll,[[3,3]],lambda([x],join([[g,h]],x))); * => > [2,3,[a,b,[[g,h],t]],8,8] > Same is for mmapat. > > mmapat works fine for rest of the use cases that I tried, except > "segment". It also removes the need for two variants to > apply functions as both work seamlessly.For example, > > *mmapat2([a,[b,j,[c,m]],r,t],matrix,2);* => > [a,matrix([b,j,[c,m]]),r,t] //needs map_apply_at > > *mmapat2([a,[b,j,[c,m]],r,t],flatten,2); *=> > [a,[b,j,c,m],r,t] //needs map_f_at > > I replaced "substinpart" with "substpart" but it makes not difference > to my functions. I could not remove the need for two variants. > I checked properties of both functions but they are displayed as > "system functions" while "segment" has [] as properties. > > Your example using funmake must be documented in formal documentation. > Its a very good example to learn from. This selective mapping and > segmenting will open door to many more APIs. > > As far as assignment problem is concerned, I think it is not really a > blocker. Since all are same, it doesn't matter which is picked. > Here I agree with Mathematica's rule to apply the 'rule' to its > terminating state. > ​ >>>>>>>>>>>>>old message>>>>>>>>>>>>>>​ > > (defmspec \$mmapat (l) > (let ((e (cadr l)) (f (caddr l)) (p (cdddr l))) > (meval `((\$substpart) ((,f) ((\$part) ,e ,@p)) ,e ,@p)))) > > mmapat(e,f,[x]) ::= funmake('substpart,cons(funmake(f,[funmake('part, > cons(e,x))]),cons(e,x))); > > The Maxima version has the defect > > (%i2) mmapat(e,f,[x]) ::= > funmake('substpart,cons(funmake(f,[funmake('part, > cons(e,x))]),cons(e,x)))\$ > > (%i6) mmapat(a+b+c,'f,1); > funmake: first argument must be a symbol, subscripted symbol, string, > or lambda expression; found: 'f > ​ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ​ > > > -- > Regards, > Pankaj Sejwal > _____________________________________________________________ > "The more I read, the more I acquire, the more certain I am that I > know nothing.” -Voltaire ```
 Re: [Maxima-discuss] mapat From: Pankaj Sejwal - 2014-07-30 16:12:59 Attachments: Message as HTML ```Hi, I tried your method,but it is failing this use case, ll:[2,3,[a,b,[t,y,[u,i],[o,p],6,7]],8,8]\$ a) *mmapat(ll,segment,3);* => [2,3,[a,b,[t,y,[u,i],[o,p],6,7]],8,8] //No change *map_apply_at(ll,[[3]],segment),eval;* => [2,3,a,b,[t,y,[u,i],[o,p],6,7],8,8] //Change in effect "segment" works with "map_apply_at" but not "map_f_at". *mmapat2(f,x,1);* => substpart: argument must be a non-atomic expression; found f //use [f] to fix problem,easy to fix with a small atom check *mmapat2(f-1,x,0);* => x("+")(-1,f), //correct, interesting so wrote it b) Also I am not sure if you are expecting this use case to work because it doesn't seem to warn user, *mmapat2(ll,x,[1,3]);* => [3,x([2,[a,b,[t,y,[u,i],[o,p],6,7]]]),8,8] *Use cases for apply *:Discussing some more applications of selective mapping.Basically this way of mapping is like "levelspec" in Mathematica, *map_f_at(ll,[[3,3]],lambda([x],delete(t,x)));* => [2,3,[a,b,[y,[u,i],[o,p],6,7]],8,8] //Deleting at a specific nested level *map_f_at([2,3,[a,b,[t,t,t,t,y,[u,i],[o,p],6,7]],8,8],[[3,3]],lambda([x],delete(t,x,2)));* => [2,3,[a,b,[t,t,y,[u,i],[o,p],6,7]],8,8] //Deleting upto n cases *mmapat([2,3,[a,b,[t,t,t,t,y,[u,i],[o,p],6,7]],8,8],lambda([x],delete(t,x,2)),3,3);* //Also works fine *map_f_at(ll,[[3,3]],lambda([x],append([[g,h]],x)));* => [2,3,[a,b,[[g,h],t,y,[u,i],[o,p],6,7]],8,8] *map_f_at(ll,[[3,3]],lambda([x],join([[g,h]],x))); * => [2,3,[a,b,[[g,h],t]],8,8] Same is for mmapat. mmapat works fine for rest of the use cases that I tried, except "segment". It also removes the need for two variants to apply functions as both work seamlessly.For example, *mmapat2([a,[b,j,[c,m]],r,t],matrix,2);* => [a,matrix([b,j,[c,m]]),r,t] //needs map_apply_at *mmapat2([a,[b,j,[c,m]],r,t],flatten,2); *=> [a,[b,j,c,m],r,t] //needs map_f_at I replaced "substinpart" with "substpart" but it makes not difference to my functions. I could not remove the need for two variants. I checked properties of both functions but they are displayed as "system functions" while "segment" has [] as properties. Your example using funmake must be documented in formal documentation. Its a very good example to learn from. This selective mapping and segmenting will open door to many more APIs. As far as assignment problem is concerned, I think it is not really a blocker. Since all are same, it doesn't matter which is picked. Here I agree with Mathematica's rule to apply the 'rule' to its terminating state. ​>>>>>>>>>>>>>old message>>>>>>>>>>>>>>​ (defmspec \$mmapat (l) (let ((e (cadr l)) (f (caddr l)) (p (cdddr l))) (meval `((\$substpart) ((,f) ((\$part) ,e ,@p)) ,e ,@p)))) mmapat(e,f,[x]) ::= funmake('substpart,cons(funmake(f,[funmake('part, cons(e,x))]),cons(e,x))); The Maxima version has the defect (%i2) mmapat(e,f,[x]) ::= funmake('substpart,cons(funmake(f,[funmake('part, cons(e,x))]),cons(e,x)))\$ (%i6) mmapat(a+b+c,'f,1); funmake: first argument must be a symbol, subscripted symbol, string, or lambda expression; found: 'f ​>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>​ -- Regards, Pankaj Sejwal _____________________________________________________________ "The more I read, the more I acquire, the more certain I am that I know nothing.” - Voltaire ```
 [Maxima-discuss] new implementation of segment/ much better I think From: Richard Fateman - 2014-07-30 16:05:08 ```in http://www.cs.berkeley.edu/~fateman/lisp/segment-new.lisp use_segment(true); w:segment(a,b); f(w,segment(c,w)) --> f(a,b,c,a,b) no need to call ev() etc. The method is to hack the internal program mevalargs. If you do use_segment(false); then the old mevalargs is restored. note that the old version would make f(w,c) into f(segment(a,b),c) while this one goes directly to f(a,b,c). Why use segment? In Mathematica can be used in pattern matching in the future where matching [in effect] f(a,b,c) by the pattern f(w__,c) results in binding w to segment(a,b). Then w can be re-used. ```
 Re: [Maxima-discuss] Information From: - 2014-07-30 07:06:01 ```Le 29/07/2014 22:20, maxgacode a écrit : Hi, > Is there any reason for stopping the building of Windows installation > package at 5.31.2? http://article.gmane.org/gmane.comp.mathematics.maxima.general/45154/match=billinghurst+5.33.0.1 or http://*billinghurst*.customer.netspace.net.au/maxima-5.33.0.1.exe ; Regards -- Jean-François MAUREL PIMECA http://www.pimeca.com ```
 Re: [Maxima-discuss] Information From: Gunter Königsmann - 2014-07-30 03:57:28 Attachments: Message as HTML ```Sometimes an user of this list who has access to windows volunteers to build a windows version. Which is - as you state it - complicated. For the current version there were several tries to do so. You should be able to find them in the list. If you want them you can give them a try; If you want to switch between two test builds of the same maxima version you will currently have to manually delete the .o files in the maxima for in your home folder. This time there has been an discussion if the building of maxima had really succeeded. Hoping for a windows package of the next maxima version, though, since it will contain features that are important for me. Kind regards, Gunter. On 29. Juli 2014 22:20:23 MESZ, maxgacode wrote: >I'm a new user of maxima and I use it on Windows platform. I ahve a >question related to the installation package. > >Is there any reason for stopping the building of Windows installation >package at 5.31.2? I have to admit that the compilation of Maxima on >windows platform is quite difficult to me, so an updated installation >package is welcome. > >Thank you and Regards > > >------------------------------------------------------------------------------ >Infragistics Professional >Build stunning WinForms apps today! >Reboot your WinForms applications with our WinForms controls. >Build a bridge from your legacy apps to the future. >http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk >_______________________________________________ >Maxima-discuss mailing list >Maxima-discuss@... >https://lists.sourceforge.net/lists/listinfo/maxima-discuss -- Diese Nachricht wurde von meinem Mobiltelefon mit Kaiten Mail gesendet.```
 [Maxima-discuss] Information From: maxgacode - 2014-07-29 20:20:33 ```I'm a new user of maxima and I use it on Windows platform. I ahve a question related to the installation package. Is there any reason for stopping the building of Windows installation package at 5.31.2? I have to admit that the compilation of Maxima on windows platform is quite difficult to me, so an updated installation package is welcome. Thank you and Regards ```
 [Maxima-discuss] mapat From: Barton Willis - 2014-07-29 11:29:22 Attachments: Message as HTML ```> ?Instead of ev I tried with eval and it seems to fix the problem of nested application of segment. The segment approach is interesting and it would have other applications, but surely there is an easier method. You might test either (Common Lisp or Maxima) (defmspec \$mmapat (l) (let ((e (cadr l)) (f (caddr l)) (p (cdddr l))) (meval `((\$substpart) ((,f) ((\$part) ,e ,@p)) ,e ,@p)))) mmapat(e,f,[x]) ::= funmake('substpart,cons(funmake(f,[funmake('part, cons(e,x))]),cons(e,x))); A few tests with the CL version: (%i2) mmapat([a*b,c,d],lambda([x],x^2),1); (%o2) [a^2*b^2,c,d] (%i3) mmapat([a*b,c,d],lambda([x],x^2),1,2); (%o3) [a*b^2,c,d] (%i4) (a:b,b:c,c:d,d:e)\$ (%i5) mmapat([a*b,c,d],lambda([x],x^2),1); (%o5) [b^2*c^2,d,e] (%i6) mmapat([a*b,c,d],'f,1); (%o6) [f(b*c),d,e] (%i7) mmapat([a*b,c,d],'sin,1); (%o7) [sin(b*c),d,e] (%i8) mmapat([a*b,c,d],f,1), f(x) ::= 42*x; (%o8) [42*b*c,d,e] (%i9) mmapat([a*b,c,d],f,1), f(x) := 42*x; (%o9) [42*b*c,d,e] (%i10) mmapat(['a*'b,'c,'d],f,1); (%o10) [f(a*b),c,d] (%i11) mmapat([a*b,c,d],a,1); (%o11) [e(b*c),d,e] (%i12) mmapat([a*b,c,d],'f,1); (%o12) [f(b*c),d,e] (%i13) ?print(%); ((MLIST SIMP) ((\$F SIMP) ((MTIMES SIMP) \$B \$C)) \$D \$E) (%o13) [f(b*c),d,e] The Maxima version has the defect (%i2) mmapat(e,f,[x]) ::= funmake('substpart,cons(funmake(f,[funmake('part, cons(e,x))]),cons(e,x)))\$ OK: (%i5) mmapat(a+b+c,f,1); (%o5) f(c)+b+a Bogus: (%i6) mmapat(a+b+c,'f,1); funmake: first argument must be a symbol, subscripted symbol, string, or lambda expression; found: 'f I'm not 100% sure how funmake works--the CL version is more understandable to me ```
 Re: [Maxima-discuss] unexpected behavior of simplify_sum From: andre maute - 2014-07-29 09:52:33 ```On 07/29/2014 11:25 AM, Robert Dodier wrote: > On 2014-07-15, andre maute wrote: > >> (%i4) s:sum((-1)^n*(-1)^i*binomial(n,i)*binomial(i+n,i-1)/(1+2*i),i,1,n) >> (%o4) 'sum((-1)^(n+i)*binomial(n,i)*binomial(n+i,i-1)/(2*i+1),i,1,n) >> (%i5) simplify_sum(s) >> expt: undefined: 0 to a negative exponent. > This is now bug #2791: > https://sourceforge.net/p/maxima/bugs/2791/ > > Thanks for reporting it. I've included some additional comments on the > bug report. Immediate problem is that simplify_sum attempts something > like subst(gfoo = n, .../(n - gfoo)) where gfoo is a gensym which was > substituted for the summation index. Dunno if there is a bug in > simplify_sum or maybe this problem cannot be solved by Zeilberger's > method. > > best > > Robert Dodier Thanks and kind regards Andre > > ------------------------------------------------------------------------------ > Infragistics Professional > Build stunning WinForms apps today! > Reboot your WinForms applications with our WinForms controls. > Build a bridge from your legacy apps to the future. > http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk > _______________________________________________ > Maxima-discuss mailing list > Maxima-discuss@... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > ```
 Re: [Maxima-discuss] unexpected behavior of simplify_sum From: Robert Dodier - 2014-07-29 09:25:32 ```On 2014-07-15, andre maute wrote: > (%i4) s:sum((-1)^n*(-1)^i*binomial(n,i)*binomial(i+n,i-1)/(1+2*i),i,1,n) > (%o4) 'sum((-1)^(n+i)*binomial(n,i)*binomial(n+i,i-1)/(2*i+1),i,1,n) > (%i5) simplify_sum(s) > expt: undefined: 0 to a negative exponent. This is now bug #2791: https://sourceforge.net/p/maxima/bugs/2791/ Thanks for reporting it. I've included some additional comments on the bug report. Immediate problem is that simplify_sum attempts something like subst(gfoo = n, .../(n - gfoo)) where gfoo is a gensym which was substituted for the summation index. Dunno if there is a bug in simplify_sum or maybe this problem cannot be solved by Zeilberger's method. best Robert Dodier ```
 Re: [Maxima-discuss] fpprintprec bug From: Gunter Königsmann - 2014-07-28 06:42:43 ```-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Cool! Loads of thanks, Gunter. On 27.07.2014 22:21, Robert Dodier wrote: Want fast and easy access to all the code in your enterprise? Index and -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJT1eCeAAoJEFyGwOQhHVuOP1cP/ignqa+zeTUqXjO0g2ja2VwG DOISsIW5fGpqkyyqbWSz63CQSiRihiSC2sJAQxqY/ppLv1FLm3vVf0+qbWf2OgGL cSYUDL3hnRL8b7oXGVWWn507UYZt+e2fOmS/1B0XTNcfkXPYSyNIQfExEfad5s/a UrE2ohth1OFrO73LF8Q8SlxijeOpQwyRSaKAcdZGjvLwjQRHIeFYJnQVEmgFUXiv swBdQ9KFbxbOGMEx9GZgXo6dBH+4SMa1g1zX7ENzLXsyW8LduigRKiicoOZ7jb4W /IJKRm658xqJppcTJ26FK94XfAORZLtvP54i9UjicrySw4U1c9skrKGaUjcEt+j7 Rm7HMD81VfLHAMdTV2EtvxtHbXuXyWa45ykVj+g07OwFVAPSenJOrj1n1DfnvzGA 7zzcQvKPJAU2xxEZGCgJf++prcidQnYA1Zs5QTnYNDFugRWXJx7An0XRS+JNbDms tjGCuIoBNC5086gvPBeHq5eYwAQ8pfGUd3MHLcmxC0vEBWyk8gNEpxPEg0+y7Vz/ WHeDoXMWaOyBkWenyDffm5JIpvDBfEZq1CBwXveyXCBAUQTwVNEtGGbRAp8Ftc+a gVWTBiI3EJgCJ7v52AHYXLLO1489+GFEx5XaI3j5siYbY7v3UL16nmI+zbJxsAdN lrHnXRRyt1GV/MdICwaI =FBaK -----END PGP SIGNATURE----- ```
 Re: [Maxima-discuss] draw2d segfault From: Gunter Königsmann - 2014-07-28 06:42:40 ```-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > Still another approach (dunno if this was suggested already) is to > nuke any existing binaries at installation time. That's really > only workable in single-user environments such as MS Windows, but > that's a large fraction of Maxima installations, so it might help. > I assume you are right: this approach will be both effective in most cases and much easier to implement. Kind regards, Gunter. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJT1eBxAAoJEFyGwOQhHVuOOE8QAJhKbyHVgyrlk3F+mxcXUaDE 7bHytIgjxcRDm1T9QuVRGZcIX1pyvXRBjrruhrhcdHbUR0bJEV/HS2cKCmYF3JN5 iHJFUrM8Um5AYFaou5eF2zVUXZuFctR9AfuWrj5jBdoTCrS6cP/E19OnmF4EYMpz rQ9422vQekTPPkK1aocqZZ2M57ia0XQ65tlbRvMBgbke5YuPs+ule+nBeKxl7a1M I5YDrVGD/MmCfnhJmHkI5DlMIRBLJyV+TGcH15CJMwqEBRzoaOCVuSLiMHkDg1I4 n8a8w5wv/uROEqo8uK84sQj6XSp5nbWIKwNNKo8tqjTN9gmJSwV1QiNNwJo+tfv3 N0M1uBnTC0AKyiRsdq3k0cYubcinHcrQ94PKYiumIL/18gGKHC6e9XBvt5kBMnU5 rRXaxBP0fBpjxYXQe2JaaLLSmK8GzgmJssq+qQg0DjA+4f6Oh7mqmaCGsipLo6Q4 /qMGdWGFmAq8vTY0e3WZuvHLXQ4rV/6G/cGjbzN/Q2jvzb5NaFmIMPdTlc7hkpIN Jci6loL/13mneXuw7rNovLrJjTAlBRavjBDmdmQhXoB8ELdsbFdKSEvL+n0YOYMQ D/Kv7s2vc8AHpp8kJMGPj237EkoqJEKH3Sc7tEZw5vu40oF6TdD53sa7xZnM0Uzg Pq0zyr7uY3T92rghwdyz =FlFD -----END PGP SIGNATURE----- ```
 Re: [Maxima-discuss] fpprintprec bug From: Robert Dodier - 2014-07-27 20:25:14 ```On 2014-07-27, Gunter Königsmann wrote: >> I'm glad it's useful to you. Maybe I will put it in maxima/share. > I beg you to do so: engineering-format.lisp makes things much easier > for me and my collegues that have to deal with a person that has > chosen to use maxima as the primary means of doing things at work. It is now in share. Thanks for the encouragement. best Robert Dodier ```
 Re: [Maxima-discuss] draw2d segfault From: Robert Dodier - 2014-07-27 20:19:49 ```On 2014-07-27, Gunter Königsmann wrote: > - Before trying to load a compiled file we set a marker in maxima_dir > that tells that we suspect something has gone seriously wrong with the > dependencies. This marker is deleted after loading the file. > - if on loading the file we get an error we assume that this is the > case, though and delete all .o files we got from compiling packages > before trying to compile and load the current file anew: If a .o file > fails to load it might be safe to assume that it is broken or was made > for the wrong kind of system and even if this isn't true - trying to > compile the files anew won't really hurt. > - if we crash instead we at least got our marker that tells us to > delete the file that caused the error and all .o files we generated > from modules at the next start of the system. We still will have > crashed once but will work fine from then on and can even tell the > user why we had presumably crashed. It seems that it would be very difficult to get a strategy of that complexity to work correctly on all platform + Lisp combinations. As a different approach, I wonder if it is possible to get ASDF to cause recompilation of files for which the binaries are found to be out of date. Still another approach (dunno if this was suggested already) is to nuke any existing binaries at installation time. That's really only workable in single-user environments such as MS Windows, but that's a large fraction of Maxima installations, so it might help. best Robert Dodier ```
 Re: [Maxima-discuss] Small enhancement for 3d plots From: Mario Rodriguez - 2014-07-27 19:53:16 ```El 27/07/14 a las #4, Gunter Königsmann escribió: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Did add a patch that allows choosing between manual and automatic > rotation to the patch tracker: > https://sourceforge.net/p/maxima/patches/59/ > > Kind regards, > > Gunter. > Thanks for the patch. But I don't think it's a good idea to add a new option, since we already have a lot of them. I'd follow Jaime's proposal and change the orientation of the label depending on its length. I'll try to make this and other changes along the next days. -- Mario ```
 Re: [Maxima-discuss] draw2d segfault From: Gunter Königsmann - 2014-07-27 10:59:45 ```-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I've been thinking: - Restraining from compiling things at all is no option: Things would get slower and would be limited by stack depth (tail-recursive programming) and similar if we would attempt to do that. - Tracking all the dependencies we might be hitting will not work reliabily in all cases: We do track the maxima version. We might track the lisp type and version and there might be even an portable way of finding out if we have changed from a 64 to a 32 bit CPU and vice versa. But there might be more subtle changes But most of the times we detect errors when loading files (and output a appropriate error message). One example of this would be trying to run a 54-bit version of maxima on a windows system the same maxima version has already successfully run on in 32-bit. Another example would be a 32 bit maxima on windows built with a different toolchain than the one that was run on this system before. The only approach that would minimize (but not solve) this kind of problem I can think of would be: - Before trying to load a compiled file we set a marker in maxima_dir that tells that we suspect something has gone seriously wrong with the dependencies. This marker is deleted after loading the file. - if on loading the file we get an error we assume that this is the case, though and delete all .o files we got from compiling packages before trying to compile and load the current file anew: If a .o file fails to load it might be safe to assume that it is broken or was made for the wrong kind of system and even if this isn't true - trying to compile the files anew won't really hurt. - if we crash instead we at least got our marker that tells us to delete the file that caused the error and all .o files we generated from modules at the next start of the system. We still will have crashed once but will work fine from then on and can even tell the user why we had presumably crashed. Any comments on this? Kind regards, Gunter. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJT1NuTAAoJEFyGwOQhHVuOo0wQAKegaij1PFfAHKQccOhWnGfu CupYy6RdGz4O7eLXPYh0ZwgjE/b+DEZLru9hQgueeoTE9mRqdPaFtOj7KNoJY+Ft 1GWrKMK3GwosncVgwoGr4gNsH6qqqmJHpL4TDyjoIaaTOVtnbgMJE5wOJaupFLVk AMfNoEiGLdsWuCPQ3IFafHJhwR2Y4MUaiALqfn8WOjfSiGz645ZfYbO3hNX3TjIu TAFJe7cDRR8rQQCzRi3hb0LjA8y6y0ecXSfpTNOB16IKvjrR7Z1TavkZFGIefOFt E7KXLdPDgcICpIg6pc3/MGWMIpxAVQl0K5tLF91o+1q181bI2zGQSvf/iqX2HBOp TCuxZUszIRkv3KwWmLTk7vEb/3ptaCDjHJXUpbf8NY0DOJhUlJr1sLBa3RBFgnz3 Jz7Hx5legNqbQNul9k70KGFaP1roD1cdtGixm30nAYd0H2ea3VaZGjIOlp89SvxD rFkoABEaTZXsiq2EbKY+rtiCCY/DYLYFWz0i0CtjOwu7NH4zQHdLKT8Vfv/m8Lfo cfU/eg9ch/JKZxji3p8AbWNH0gIguzXlDpQcSU64EwEuanEQb4n+NRw6UCh6KzBp HndoR9K6YkY8srnI/AMcjb8P622A/XnITMgzbgqR4KRfClZ7frzclzWCWWl3iHkt 7BoLSucBMsIvEv+DwQ29 =qfQw -----END PGP SIGNATURE----- ```
 Re: [Maxima-discuss] maixma.bat erased? From: Gunter Königsmann - 2014-07-27 08:52:11 ```-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I use maxima (32 Bit) on Windows 7 (64 Bit) all the time. Until now the batch file never altered contents although I remember one incident in which it somehow disappeared when I was not completely sure that this was my fault. Batch files are sometimes altered by over-eager virus scanners, though. Kind regards, Gunter. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJT1L2yAAoJEFyGwOQhHVuOpzAQAIql9UhGBNwQWIIR9kvRTf8v BuiWZW07UNnWJuGeS5G6yIH4o1PnbitnbCAyGYJ1TWHiwvHuM+EQIeH0R0ZKKoCg EvEZw0o9qLiBdt/3ZsTEu3OUdpa1/IVm2K3cOcOsBm7lieE2NrG0YlbqxuDBtjuz hB8LmrQ9Nd6YTL+nbR8vScolLw5z0gBFndTfpG2VN+ltJVjQCNNSx2tXMxV7MLBd /MLzMH5GWhP3b8+JgFnyywnFTlZoTN7um25Zwnc1fwCrlWLJ1o1Sn+tVKaVcTdJ7 IXU6YlANOs0gfcITmVchspZxUq5bwJ6GBU2yVeUyKviLjpDklIMDItp/jitgYOfP fjiVTX01evyjshsIjvVmOTXD+JYSjAkpArAebx6nmhupEsj3g5riUtxJ0eQjwRi4 wRy4ZfZ6INmHqIgoGQ7ATQ8UK8dWZxeRAT+ZS8X32w+eDj3l5Pyh7Wr+cg9UYYXU tfM0V20AHVyQa+t0BjVkE3zp+dMG559ikHwSpFMiY5GFSLeHWBn39wOiyqhtl30f 9DjwP++jAegwBhkxcqXIQqzHpBYSuCHn2BbRcLfMi8NVgb/ib5Oj2li3k6Stgw41 03UnBEJaEousbRvPYo6xybD9MUGHM70aJ9e34qfDWD59hFp+RDD3GEl9Yfrp6rET CbXy0CqQgAD3uPMailTZ =hjCc -----END PGP SIGNATURE----- ```
 Re: [Maxima-discuss] fpprintprec bug From: Gunter Königsmann - 2014-07-27 08:48:23 ```-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > I'm glad it's useful to you. Maybe I will put it in maxima/share. I beg you to do so: engineering-format.lisp makes things much easier for me and my collegues that have to deal with a person that has chosen to use maxima as the primary means of doing things at work. Kind regards, Gunter. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJT1LzNAAoJEFyGwOQhHVuOspkP/1CuutGVTc9cILxVC3c9KtHR TmwUXiIgRh4aFdOZOF2uV19r0MskkFQfsOVspjzXf7I6kRL+Y4ci51EApe/kGjaZ DdFbJDqHupuvwSTFyjCx1XJPn06xq+LYuNJiMhoyDHzx0kStoD2RG3nkvOSN/j57 T94kqoE/u8/0fXD5BncTsyOM1rbLIUCuMQixERLshZGvNOPbUDmgroTECwzy7FVX bzsCABuMNTFBoY8SBHAjv7xvVdWffvQcF52Iw/nvASfMcmHio8ja9r5ds5d5TXXk kOkQHK431fuq1jvSA9FKbj46uQzqkzdcLHanvlJ+k728cbh+L/dYVpsEoy2genmP /uh4R7Xlx6nx/SCdlsBPdz6ivcd8k0GxV/KuatdD/9Ke4RRoe3nzkUTJjk4BWecq DZbThBcfidX6Oq63NuoHonMENw85b/8le3LaYpxdoBL47tZeQucMz02ETJyKkswG I3jf7gyKcdbRashgXBtJg8bY7NMNBXL9E1UF1aH+yAm0Qkqd5u0mlkKhIBsVSH5B 4VOwFHqB923DUMHwZ27mDOUTkbzgxFjY1npAlq7Nz7HM+iNyt9Tjf7NvCTr2RJMJ imSbwbQCb0/URsHGF55U9fG+/6GLteAfw6egMHB6OXgLa9g/tscUup6S1ry3zA12 aPElpVDdp5iRhIR+rKbH =wF26 -----END PGP SIGNATURE----- ```
 Re: [Maxima-discuss] Small enhancement for 3d plots From: Gunter Königsmann - 2014-07-27 08:41:28 ```-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Did add a patch that allows choosing between manual and automatic rotation to the patch tracker: https://sourceforge.net/p/maxima/patches/59/ Kind regards, Gunter. On 10.07.2014 07:58, Mario Rodriguez wrote: > > El 09/07/14 13:46, Jaime Villate escribió: >> On 09-07-2014 06:31, Gunter Königsmann wrote: >>> leaving me several alternatives: - I definitively don't want to >>> change maxima's default behavior since it produces more >>> readable labels for short axis names - which should be the more >>> common case than long axis names. - Not adding the switch at >>> all even though the switch feels too useful to me for this >>> being a real option. - Adding the switch only to the z axis >>> (which is the only axis I found it useful for) which feels kind >>> of weird. - Adding a switch to all axis that does rotate labels >>> (even if for the x and y axis it works in a slightly different >>> way) - adding switches to all axis but change the names of the >>> switch for the x and y axis to reflect the slightly different >>> meaning (expecting questions about that in the mailing list, >>> later) - making the switches three-state instead: 'true', >>> 'false' and 'parallel' - but that doesn't make too much sense >>> since every axis only uses 2 of the 3 options. >> Hi, I'd prefer: If the zlabel is longer than 4 characters (that >> seems to me the maximum that can fit), rotate the label; >> otherwise do not rotate it. That change can be done easily to >> draw3d and plot3d. > > I second this proposal. > > -- Mario > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJT1LsqAAoJEFyGwOQhHVuOV5EP/jRPylCUSI/LV8ngiwXQMGjJ HCD9omXcMeMZKFAnV9U32aId8HL+PWKinfG6TlseSsRTnThpyFWMvZYu75KCARmR Uk9FOR7baqKl4PgX/Nc7O8+GOqFFBnwYGNYDbxtG1dO5wP9OR7hwLPloWb37YbGw MflEh7BfJluti4tHBNKtMnM+4kUVhTY942wSd/Sd/dBhuA8JMUuP+N/CffZSts8A GhA622DB4xl79+WPHre+tQXIvwoSWBDiLN0I5xYvmbQv282mLAAlN9RsE3DN3QQ4 TYW8Mi8FEcxwiZGA7PzXqfKIJ5XbqO1HFwqDe2ruWCs5xKuMCjJ7R1+R1P9DSczx wkiXhgaMtZKS3vm7nn8BA+LbR81HN2jfRud12g8QQqSgDjRQWwOHaRU8VtaaBPWx Dnn7xO1lWlFYKES3ZCc+sU336aqTahQsSwHKoXytBbS74xR6cZqxRSVeNbQJM+Em SyHPCLif0ns4W9cOgFCncd9Y2ZkJmWgzd0tWhOPaqcQYC02zQvVpr370vIbMKOEV /cfMaq5xzYUFByzlQrRSsU8OsOljmjF2we7AcyDpgEAuPvNILuKh5ciW5WyFpX9b o3FsqP1zDBePk1/PdWFHxlWxSiXkx5vhSxbaX+SAPr5m1D6nZYEQu6cahObp125z wgZdPdV8jOkjS3xV5Yg3 =rsFv -----END PGP SIGNATURE----- ```

Showing results of 252

1 2 3 .. 11 > >> (Page 1 of 11)