Here is a little design issue concerning names.
Right now we have the example of 'gslIntegrationQng' and I have
started to fill in some miscellaneous functions such as
gslLookup: String -> Symbol
++ \spad{\gslLookup} finds GSLL function by GSL name and
++ displays some documentation.
gslIsNaN?: DF -> Boolean
++ \spad{\gslIsNaN?} returns true if x is not-a-number.
gslIsInf: DF -> SingleInteger
++ \spad{\gslIsInf} returns +1 if x is positive infinity,
++ -1 if x is negative infinity and 0 otherwise. On
++ some platforms 1 is returned for negative infinity.
gslFinite?: DF -> Boolean
++ \spad{\gslFinite?} returns true if x is a real number,
++ and false if it is infinite or not-a-number.
gslFcmp: (DF,DF,DF) -> SingleInteger
++ \spad{\gslFcmp} determines whether x and y are approximately
++ equal to a relative accuracy epsilon.
gslIntegrationQng : (DF -> DF,DF,DF) -> Record(result:DF,
abserr:DF, neval:Integer)
++ \spad{\gslIntegrationQng} applies the Gauss-Kronrod 10-point,
++ 21-point, 43-point and 87-point integration rules in succession
but before going further it occurs to me to wonder if we really should
continue to use the prefix 'gsl' in all these function names? In
Axiom/FriCAS it is common to overload names and rely on package names
and types for disambiguation. It seems unnecessarily redundant to
write:
gslIntegrationQng$gsl
Also, the names that appear at the GSLL (lisp) level omit the gsl
prefix for a similar reason - Common Lisp packaging.
So I propose that we drop the 'gsl' part of the name and lowercase the
first letter, as is the Axiom custom.
lookup: String -> Symbol
++ \spad{\lookup} finds GSLL function by GSL name and
++ displays some documentation.
isNaN?: DF -> Boolean
++ \spad{\isNaN?} returns true if x is not-a-number.
isInf: DF -> SingleInteger
++ \spad{\isInf} returns +1 if x is positive infinity,
++ -1 if x is negative infinity and 0 otherwise. On
++ some platforms 1 is returned for negative infinity.
finite?: DF -> Boolean
++ \spad{\finite?} returns true if x is a real number,
++ and false if it is infinite or not-a-number.
fcmp: (DF,DF,DF) -> SingleInteger
++ \spad{\fcmp} determines whether x and y are approximately
++ equal to a relative accuracy epsilon.
integrationQng : (DF -> DF,DF,DF) -> Record(result:DF, abserr:DF,
neval:Integer)
++ \spad{\integrationQng} applies the Gauss-Kronrod 10-point,
++ 21-point, 43-point and 87-point integration rules in succession
What do you think?
On 26 October 2015 at 20:44, Alasdair McAndrew <[email protected]> wrote:
>
> Now that Karl has provided a fantastic working template for an integration
> routine from QUADPACK/GSL/GSLL it should be possible to extend those
> files to incorporate some of the other routines. For the next few days I'll
> not have much time, but I'll aim to fiddle later in the week. And I might
> even learn a little Lisp in the process!
>
My plan is to chip away at adding new routines as time permits. If
there is something in particular you would like to tackle, just let me
know.
Besides GSL are there some other libraries that might be interesting
and amenable to the QuickLisp approach?
>
>>
>> Am 26.10.2015 um 17:34 schrieb Bill Page:
>> > I just dropped this "proof-of-concept" level code into a repository at:
>> >
>> > https://github.com/billpage/gsla
>> >
>> > Title: GNU Scientific Library for Axiom (and FriCAS and OpenAxiom)
>> >
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.