Re: Some questions: built-in operators and exponent markers

Richard Fateman <[email protected]> Sat, 25 Jul 2026 13:32:44 -0700
Newsgroups gmane.comp.mathematics.maxima.general
Message-ID <CADB8Zm4zL+Dns0QhO=900nWC9Vc52cnz0dMskXVUza6gBmmXnA@mail.gmail.com>
--===============5523453518402996654==
Content-Type: multipart/alternative; boundary="000000000000cea1580657756450"

--000000000000cea1580657756450
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

what do you mean
"I lost the ability to call factorial()"

What happens when you type factorial(5)?

There is a program inside Maxima that is the integer factorial program. You
can call it by
?factorial(5);

There are various other programs, which you can see listed by doing this:
:lisp (apropos "factorial")

Changing the meaning of "!" and the marker for bigfloats is possible, as
you see, but changes
like that typically do not much advance one's ability to get things done.
 Humans are very flexible and can learn new notations rather quickly.

Learning lisp may be of some use.

If you change one function definition, you can put that in a file with

(in-package :maxima)  at the top.
just read that file in.
Compilation is not necessary.

good luck
RJF




On Sat, Jul 25, 2026 at 12:18=E2=80=AFPM Astrea Drifter <astreadrifter@gmai=
l.com>
wrote:

> I've managed to confirm that the problem is in the edited src/nparse.lisp
> and not in the edited src\float.lisp.
>
> On Sat, Jul 25, 2026 at 1:04=E2=80=AFPM Astrea Drifter <astreadrifter@gma=
il.com>
> wrote:
>
>> An update:
>> After some investigation, I've discovered it's not only the redefinition
>> of the exclamation mark that makes factorial() and related functions
>> unusable. The files I edited to replace the exponent markers have the sa=
me
>> effect, and this time I have no idea what could be causing it. This effe=
ct
>> is less widespread (affects bigfloats only, I can use factorial() with
>> integers and regular floats) but since I never do calculations with
>> anything other than bigfloats the net effect is the same for me.
>> The only changes I made to the files was to replace #\B with #\P, #\b
>> with #\p (in src\nparse.lisp) and |b| with |p| (in src\float.lisp)
>> I wonder what could be going wrong here?
>> Astrea
>>
>> On Sat, Jul 25, 2026 at 12:19=E2=80=AFPM Astrea Drifter <astreadrifter@g=
mail.com>
>> wrote:
>>
>>> The printing (and scanning?)  of bigfloats is done by code in
>>>> src/float.lisp
>>>> It is not likely that searching for #\b  will do the job, since the
>>>> file seems to
>>>> have |b|, also.   It may be possible to wrap up one program,  fpformat
>>>> so that
>>>> after it produces a list of characters you can substitute p for b in
>>>> that list.   I don't know
>>>> if all the front ends use the same formatting program.  I hope they do=
..
>>>> It is possible that some of this code was copied into displa.lisp.  I
>>>> haven't checked.
>>>> RJF
>>>>
>>>
>>> I actually discovered src/float.lisp some weeks ago, while looking
>>> through the files on my own, and after editing that as well as
>>> src/nparse.lisp it seems I've been able to replace the exponent markers
>>> without any trouble!
>>> Funnily enough I discovered an issue with my exclamation mark operator,
>>> which earlier I thought was working perfectly, and it seemed interestin=
g
>>> enough to mention here:
>>>
>>> If you are open to an option to redefining "!", you might experiment
>>>> with (or replace "~" with your favorite character)
>>>>
>>>> (%i1) prefix("~")$
>>>>
>>>> (%i2) "~"(x) :=3D %i*x$
>>>>
>>>> (%i3) 5 + ~7;
>>>> (%o3)                              7 %i + 5
>>>>
>>>
>>>  You might consider using an otherwise-undefined operator, such as "i".
>>>
>>>
>>>> postfix ("i");
>>>
>>> x i :=3D x * %i;
>>>
>>>
>>>> x i;
>>>
>>>  =3D> x*%i
>>>
>>>
>>>> 100;
>>>
>>>  =3D> 100*%i
>>>
>>>
>>> After I had removed "!" from the list of builtin operators, I lost the
>>> ability to call factorial() as well as related functions like erf() and
>>> gamma(), which I imagine is because all of these functions call on each
>>> other in various circumstances and because the (now undefined)
>>> exclamation mark seems to be in the source code itself:
>>>
>>> (%i5) infix("!");
>>> (%o5)                                  !
>>> (%i6) "!"(x):=3D x*%i;
>>> (%o6)                          ("!"(x)) :=3D x %i
>>> (%i7) factorial(1b0);
>>> C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:inco=
rrect
>>> syntax: Illegal use of delimiter )
>>>  /bfloat(%pi*(s-1)!)
>>>                   ^
>>>
>>> (%i8) prefix("!");
>>> (%o8)                                  !
>>> (%i9) factorial(1b0);
>>> C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:inco=
rrect
>>> syntax: Illegal use of delimiter )
>>>  /bfloat(%pi*(s-1)!)
>>>                   ^
>>>
>>> (%i10) erf(1b0);
>>> C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:inco=
rrect
>>> syntax: Illegal use of delimiter )
>>>  /bfloat(%pi*(s-1)!)
>>>                   ^
>>>
>>> (%i11) gamma(1b0);
>>> C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:inco=
rrect
>>> syntax: Illegal use of delimiter )
>>>  /bfloat(%pi*(s-1)!)
>>>
>>> There's no definiton of factorial built in with Common Lisp as near as =
I
>>> can tell, which makes me think it must be defined in numeric/bffac.mac =
with
>>> the use of the exclamation mark. Perhaps then my "problem" here could b=
e
>>> fixed if I were familiar enough with Lisp to be able to mess around wit=
h
>>> the file really confidently. I haven't reached that point though, so us=
ing
>>> another character for my operator should work well enough, at least for=
 the
>>> time being.
>>>
>>> Thanks again for all the help!
>>> Astrea
>>>
>>> On Tue, Jul 21, 2026 at 7:01=E2=80=AFPM Richard Fateman <fateman@gmail.=
com>
>>> wrote:
>>>
>>>> The printing (and scanning?)  of bigfloats is done by code in
>>>> src/float.lisp
>>>> It is not likely that searching for #\b  will do the job, since the
>>>> file seems to
>>>> have |b|, also.   It may be possible to wrap up one program,  fpformat
>>>> so that
>>>> after it produces a list of characters you can substitute p for b in
>>>> that list.   I don't know
>>>> if all the front ends use the same formatting program.  I hope they do=
..
>>>> It is possible that some of this code was copied into displa.lisp.  I
>>>> haven't checked.
>>>> RJF
>>>>
>>>>
>>>>
>>>> On Tue, Jul 21, 2026 at 3:35=E2=80=AFPM Robert Dodier <robert.dodier@g=
mail.com>
>>>> wrote:
>>>>
>>>>> Glad to hear the bit about the "!" operator is working for you. About
>>>>> changing the bigfloat parser, I looked at src/nparse.lisp and I
>>>>> believe that is indeed the file which contains the bigfloat parser, s=
o
>>>>> that is the one to modify.
>>>>>
>>>>> I guess you would also want to make the corresponding changes for the
>>>>> display code. Maxima has two display modes, one is called the 2-d
>>>>> pretty printer and the other is the 1-d non-pretty-printer. The prett=
y
>>>>> printer is in src/displa.lisp (note that's displa, not display) and
>>>>> the non-pretty printer is in src/grind.liap. Again, you would search
>>>>> for #\B and/or #\b and replace them with #\P or #\p.
>>>>>
>>>>> Hope this helps,
>>>>>
>>>>> Robert
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Maxima-discuss mailing list
>>>>> [email protected]
>>>>> https://lists.sourceforge.net/lists/listinfo/maxima-discuss
>>>>>
>>>>

--000000000000cea1580657756450
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,sa=
ns-serif;font-size:small">what do you mean</div><div class=3D"gmail_default=
" style=3D"font-family:arial,sans-serif;font-size:small">&quot;<span style=
=3D"font-family:Arial,Helvetica,sans-serif;background-color:transparent">I =
lost the ability to call</span><span style=3D"font-family:Arial,Helvetica,s=
ans-serif;background-color:transparent">=C2=A0</span><font face=3D"monospac=
e" style=3D"background-color:transparent">factorial()&quot;</font></div><di=
v class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:s=
mall"><font face=3D"monospace" style=3D"background-color:transparent"><br><=
/font></div><div class=3D"gmail_default" style=3D"font-family:arial,sans-se=
rif;font-size:small">What happens when you type factorial(5)?</div><div cla=
ss=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:small"=
><br></div><div class=3D"gmail_default" style=3D"font-family:arial,sans-ser=
if;font-size:small">There is a program inside Maxima that is the integer fa=
ctorial program. You can call it by</div><div class=3D"gmail_default" style=
=3D"font-family:arial,sans-serif;font-size:small">?factorial(5);</div><div =
class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:sma=
ll"><br></div><div class=3D"gmail_default" style=3D"font-family:arial,sans-=
serif;font-size:small">There are various other programs, which you can see =
listed by doing this:</div><div class=3D"gmail_default" style=3D"font-famil=
y:arial,sans-serif;font-size:small">:lisp (apropos &quot;factorial&quot;)</=
div><div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font=
-size:small"><br></div><div class=3D"gmail_default" style=3D"font-family:ar=
ial,sans-serif;font-size:small">Changing the meaning of &quot;!&quot; and t=
he marker for bigfloats is possible, as you see, but changes</div><div clas=
s=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:small">=
like that typically do not much advance one&#39;s ability to get things don=
e.=C2=A0</div><div class=3D"gmail_default" style=3D"font-family:arial,sans-=
serif;font-size:small">=C2=A0Humans are very flexible and can=C2=A0<span st=
yle=3D"background-color:transparent">learn new notations rather quickly.</s=
pan></div><div class=3D"gmail_default" style=3D"font-family:arial,sans-seri=
f;font-size:small"><span style=3D"background-color:transparent">=C2=A0</spa=
n></div><div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;=
font-size:small">Learning lisp may be of some use.</div><div class=3D"gmail=
_default" style=3D"font-family:arial,sans-serif;font-size:small"><br></div>=
<div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-siz=
e:small">If you change one function definition, you can put that in a file =
with</div><div class=3D"gmail_default" style=3D"font-family:arial,sans-seri=
f;font-size:small"><br></div><div class=3D"gmail_default" style=3D"font-fam=
ily:arial,sans-serif;font-size:small">(in-package :maxima)=C2=A0 at the top=
.</div><div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;f=
ont-size:small">just read that file in.</div><div class=3D"gmail_default" s=
tyle=3D"font-family:arial,sans-serif;font-size:small">Compilation is not ne=
cessary.</div><div class=3D"gmail_default" style=3D"font-family:arial,sans-=
serif;font-size:small"><br></div><div class=3D"gmail_default" style=3D"font=
-family:arial,sans-serif;font-size:small">good luck</div><div class=3D"gmai=
l_default" style=3D"font-family:arial,sans-serif;font-size:small">RJF</div>=
<div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-siz=
e:small"><br></div><div class=3D"gmail_default" style=3D"font-family:arial,=
sans-serif;font-size:small"><br></div><div class=3D"gmail_default" style=3D=
"font-family:arial,sans-serif;font-size:small"><br></div></div><br><div cla=
ss=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_at=
tr">On Sat, Jul 25, 2026 at 12:18=E2=80=AFPM Astrea Drifter &lt;<a href=3D"=
mailto:[email protected]">[email protected]</a>&gt; wrote:<br><=
/div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bo=
rder-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr">I&#=
39;ve managed to confirm that the problem is in the edited src/nparse.lisp =
and not in the edited src\float.lisp.</div><br><div class=3D"gmail_quote"><=
div dir=3D"ltr" class=3D"gmail_attr">On Sat, Jul 25, 2026 at 1:04=E2=80=AFP=
M Astrea Drifter &lt;<a href=3D"mailto:[email protected]" target=3D"_=
blank">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2=
04,204,204);padding-left:1ex"><div dir=3D"ltr">An update:<br>After some inv=
estigation, I&#39;ve discovered it&#39;s not only the redefinition of the e=
xclamation mark that makes <font face=3D"monospace">factorial()</font><font=
 face=3D"arial, sans-serif">=C2=A0and related functions unusable. The files=
 I edited to replace the exponent markers have the same effect, and this ti=
me I have no idea what could be causing it. This effect is less widespread =
(affects bigfloats=C2=A0only, I can use=C2=A0</font><font face=3D"monospace=
">factorial()</font><font face=3D"arial, sans-serif">=C2=A0with integers an=
d regular floats) but since I never do calculations with anything other tha=
n bigfloats=C2=A0the net effect is the same for me.<br>The only changes I m=
ade to the files was to replace #\B with #\P, #\b with #\p (in src\nparse.l=
isp) and |b| with |p| (in src\float.lisp)<br>I wonder what could be=C2=A0go=
ing wrong here?<br>Astrea</font></div><br><div class=3D"gmail_quote"><div d=
ir=3D"ltr" class=3D"gmail_attr">On Sat, Jul 25, 2026 at 12:19=E2=80=AFPM As=
trea Drifter &lt;<a href=3D"mailto:[email protected]" target=3D"_blan=
k">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex"><div dir=3D"ltr"><blockquote class=3D"gmail_quote=
" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);=
padding-left:1ex"><div class=3D"gmail_default" style=3D"font-family:arial,s=
ans-serif">The printing (and scanning?)=C2=A0 of bigfloats is done by code =
in src/float.lisp</div><div class=3D"gmail_default" style=3D"font-family:ar=
ial,sans-serif">It is not likely that searching for #\b=C2=A0 will do the j=
ob, since the file seems to</div><div class=3D"gmail_default" style=3D"font=
-family:arial,sans-serif">have |b|, also.=C2=A0 =C2=A0It may be possible to=
 wrap up one program,=C2=A0 fpformat so that</div><div class=3D"gmail_defau=
lt" style=3D"font-family:arial,sans-serif">after it produces a list of char=
acters you can substitute p for b in that list.=C2=A0 =C2=A0I don&#39;t kno=
w</div><div class=3D"gmail_default" style=3D"font-family:arial,sans-serif">=
if all the front ends use the same formatting program.=C2=A0 I hope they do=
..</div><div class=3D"gmail_default" style=3D"font-family:arial,sans-serif"=
>It is possible that some of this code was copied into displa.lisp.=C2=A0 I=
 haven&#39;t checked.</div><div class=3D"gmail_default" style=3D"font-famil=
y:arial,sans-serif">RJF</div></blockquote><div><br>I actually discovered sr=
c/float.lisp some weeks ago, while looking through the files on my own, and=
 after editing that as well as src/nparse.lisp it seems I&#39;ve been able =
to replace the exponent markers without any trouble!<br>Funnily enough I di=
scovered an issue with my exclamation mark operator, which earlier I though=
t was working perfectly, and it seemed interesting enough to mention here:<=
br><br><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;=
border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style=3D"colo=
r:rgb(0,0,0)"><font face=3D"arial, sans-serif">If you are open to an option=
 to redefining &quot;!&quot;, you might experiment with (or replace &quot;~=
&quot; with your favorite character)</font></div><div style=3D"color:rgb(0,=
0,0)"><font face=3D"arial, sans-serif"><br></font></div><div style=3D"color=
:rgb(0,0,0)"><font face=3D"arial, sans-serif">(%i1) prefix(&quot;~&quot;)$<=
/font></div><div style=3D"color:rgb(0,0,0)"><font face=3D"arial, sans-serif=
"><br></font></div><div style=3D"color:rgb(0,0,0)"><font face=3D"arial, san=
s-serif">(%i2) &quot;~&quot;(x) :=3D %i*x$</font></div><div style=3D"color:=
rgb(0,0,0)"><font face=3D"arial, sans-serif"><br></font></div><div style=3D=
"color:rgb(0,0,0)"><font face=3D"arial, sans-serif">(%i3) 5 + ~7;</font></d=
iv><div style=3D"color:rgb(0,0,0)"><font face=3D"arial, sans-serif">(%o3) =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A07 %i + 5</font></div></blockquote><div><br><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft:1px solid rgb(204,204,204);padding-left:1ex">=C2=A0<span style=3D"backg=
round-color:transparent">You might consider using an otherwise-undefined op=
erator, such as &quot;i&quot;.</span></blockquote><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20=
4,204);padding-left:1ex"><br></blockquote><blockquote class=3D"gmail_quote"=
 style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);p=
adding-left:1ex">postfix (&quot;i&quot;);</blockquote><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex">x i :=3D x * %i;</blockquote><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><br></blockquote><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20=
4,204);padding-left:1ex">x i;</blockquote><blockquote class=3D"gmail_quote"=
 style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);p=
adding-left:1ex">=C2=A0=3D&gt; x*%i</blockquote><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex"><br></blockquote><blockquote class=3D"gmail_quote" s=
tyle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pad=
ding-left:1ex">100;</blockquote><blockquote class=3D"gmail_quote" style=3D"=
margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-lef=
t:1ex">=C2=A0=3D&gt; 100*%i</blockquote><div><br>After I had removed &quot;=
!&quot; from the list of builtin operators, I lost the ability to call <fon=
t face=3D"monospace">factorial()</font><font face=3D"arial, sans-serif">=C2=
=A0as well as related functions like </font><font face=3D"monospace">erf()<=
/font><font face=3D"arial, sans-serif">=C2=A0and </font><font face=3D"monos=
pace">gamma()</font><font face=3D"arial, sans-serif">, which I imagine is b=
ecause all of these functions call on each other in various circumstances a=
nd because the (now undefined) exclamation=C2=A0mark seems to be in the sou=
rce code itself:<br><br></font><font face=3D"monospace">(%i5) infix(&quot;!=
&quot;);<br>(%o5) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0!<br>(%i6) &q=
uot;!&quot;(x):=3D x*%i;<br>(%o6) =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(&quot;!&quot;(x)) :=3D x =
%i<br>(%i7) factorial(1b0);<br>C:/maxima-5.49.0/share/maxima/5.49.0/share/n=
umeric/bffac.mac:30:29:incorrect syntax: Illegal use of delimiter )<br>=C2=
=A0/bfloat(%pi*(s-1)!)<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 ^<br><br>(%i8) prefix(&quot;!&quot;);<br>(%o8) =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0!<br>(%i9) factorial(1b0);<br>C:/maxima-5.49=
.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:incorrect syntax: Ille=
gal use of delimiter )<br>=C2=A0/bfloat(%pi*(s-1)!)<br>=C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br><br>(%i10) erf(1b0);<br>C:/=
maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30:29:incorrect s=
yntax: Illegal use of delimiter )<br>=C2=A0/bfloat(%pi*(s-1)!)<br>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br><br>(%i11) gam=
ma(1b0);<br>C:/maxima-5.49.0/share/maxima/5.49.0/share/numeric/bffac.mac:30=
:29:incorrect syntax: Illegal use of delimiter )<br>=C2=A0/bfloat(%pi*(s-1)=
!)</font><font face=3D"arial, sans-serif"><br><br>There&#39;s no definiton =
of factorial built in with Common Lisp as near as I can tell, which makes m=
e think it must be defined in numeric/bffac.mac=C2=A0with the use of the ex=
clamation mark. Perhaps then my &quot;problem&quot; here could be fixed if =
I were familiar enough with Lisp to be able to mess around with the file re=
ally confidently. I haven&#39;t reached that point though, so using another=
 character for my operator should work well enough, at least for the time b=
eing.<br><br>Thanks again for all the help!<br>Astrea</font></div></div></d=
iv></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_att=
r">On Tue, Jul 21, 2026 at 7:01=E2=80=AFPM Richard Fateman &lt;<a href=3D"m=
ailto:[email protected]" target=3D"_blank">[email protected]</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr=
"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:arial,=
sans-serif;font-size:small">The printing (and scanning?)=C2=A0 of bigfloats=
 is done by code in src/float.lisp</div><div class=3D"gmail_default" style=
=3D"font-family:arial,sans-serif;font-size:small">It is not likely that sea=
rching for #\b=C2=A0 will do the job, since the file seems to</div><div cla=
ss=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:small"=
>have |b|, also.=C2=A0 =C2=A0It may be possible to wrap up one program,=C2=
=A0 fpformat so that</div><div class=3D"gmail_default" style=3D"font-family=
:arial,sans-serif;font-size:small">after it produces a list of characters y=
ou can substitute p for b in that list.=C2=A0 =C2=A0I don&#39;t know</div><=
div class=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size=
:small">if all the front ends use the same formatting program.=C2=A0 I hope=
 they do..</div><div class=3D"gmail_default" style=3D"font-family:arial,san=
s-serif;font-size:small">It is possible that some of this code was copied i=
nto displa.lisp.=C2=A0 I haven&#39;t checked.</div><div class=3D"gmail_defa=
ult" style=3D"font-family:arial,sans-serif;font-size:small">RJF</div><div c=
lass=3D"gmail_default" style=3D"font-family:arial,sans-serif;font-size:smal=
l"><br></div><div class=3D"gmail_default" style=3D"font-family:arial,sans-s=
erif;font-size:small"><br></div></div><br><div class=3D"gmail_quote"><div d=
ir=3D"ltr" class=3D"gmail_attr">On Tue, Jul 21, 2026 at 3:35=E2=80=AFPM Rob=
ert Dodier &lt;<a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex">Glad to hear the bit about the &quot;!&quot; operat=
or is working for you. About<br>
changing the bigfloat parser, I looked at src/nparse.lisp and I<br>
believe that is indeed the file which contains the bigfloat parser, so<br>
that is the one to modify.<br>
<br>
I guess you would also want to make the corresponding changes for the<br>
display code. Maxima has two display modes, one is called the 2-d<br>
pretty printer and the other is the 1-d non-pretty-printer. The pretty<br>
printer is in src/displa.lisp (note that&#39;s displa, not display) and<br>
the non-pretty printer is in src/grind.liap. Again, you would search<br>
for #\B and/or #\b and replace them with #\P or #\p.<br>
<br>
Hope this helps,<br>
<br>
Robert<br>
<br>
<br>
_______________________________________________<br>
Maxima-discuss mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank">M=
[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/maxima-discuss" rel=
=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/listi=
nfo/maxima-discuss</a><br>
</blockquote></div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>

--000000000000cea1580657756450--


--===============5523453518402996654==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============5523453518402996654==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Maxima-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/maxima-discuss

--===============5523453518402996654==--