|
|
Thorsten Froehlich <tho### [at] trfde> wrote:
> All the nice new clauses in the 2.0 version of the GPL that allow the FSF (aka
> RMS who forced these changed into version 2.0) to change the license as they
> see fit against the original authors intent. For all you know they could
> decide to add a "may not be run on a non-GPL operating system" one day...
Hmm, the pari/gp-library says:
"PARI/GP is free software, covered by the GNU General Public License, and
comes WITHOUT ANY WARRANTY WHATSOEVER."
The GPL license on the other hand says:
"If the Program does not specify a version number of this License, you
may choose any version ever published by the Free Software Foundation."
--
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}// - Warp -
Post a reply to this message
|
|
|
|
>
> On Tue, 14 May 2002 19:54:50 +0200, Tor Olav Kristensen
> <tor### [at] hotmailcom> wrote:
> > If there is enough interest in these macros, then
> > maybe I'll take the time to make some documentation
> > or examples on how to use them.
>
> just rewrite it as functions, I need solver as function for iso_csg library
That would generate a somewhat ugly function !
And it would be limited too, because I think
that it is difficult to make functions that
are able to do polynomial divisions of arbitrary
degree polynomials as it goes along.
But maybe something can be done in the 3D case;
One function uses Newton/Raphson method to find a
root and then returns it. Three other functions
receives this root together with the coefficients
for the 3rd deg polynomial, which they use for
polynomial division and returns a single coefficient
each for the resulting 2dn deg polynomial. Then two
more functions receives these 3 coefficients and
calculates one root each of the 2nd deg polynomial.
#declare PolyFn = function(x) { a + b*x + c*x^2 + d*x^3 }
#declare DifferentiatedPolyFn = function(x) { b + 2*c*x + 3*d*x^2 }
// Uses PolyFn and DifferentiatedPolyFn
#declare Root1Fn = function(a, b, c, d) { ... }
// Uses Root1Fn
#declare D_2D_Fn = function(A, B, C, D, R) { ... }
#declare E_2D_Fn = function(A, B, C, D, R) { ... }
#declare F_2D_Fn = function(A, B, C, D, R) { ... }
// 2nd deg polynomial is now:
// D_2D_Fn(a,b,c,d,Root1Fn(a,b,c,d))
// +E_2D_Fn(a,b,c,d,Root1Fn(a,b,c,d))*x
// +F_2D_Fn(a,b,c,d,Root1Fn(a,b,c,d))*x^2
// Uses D_2D_Fn, E_2D_Fn and F_2D_Fn
#declare Root2 = function(D, E, F) { ... }
#declare Root3 = function(D, E, F) { ... }
Tor Olav
Btw.: Congratulations !!!
I guess you'll have less time for POV-ing now ;)
Post a reply to this message
|
|