#29 for i in 1..1 repeat print(sin(i) :: Complex Float)
last edited 11 years ago by test1

Edit detail for #29 for i in 1..1 repeat print(sin(i) :: Complex Float) revision 3 of 3

1 2 3
Editor: test1
Time: 2014年05月13日 16:31:33 GMT+0
Note:

added:
From test1 Tue May 13 16:31:33 +0000 2014
From: test1
Date: 2014年5月13日 16:31:33 +0000
Subject: 
Message-ID: <20140513163133+0000@axiom-wiki.newsynthesis.org>
Status: open => closed 


Submitted by : (unknown) at: 2007年11月17日T22:23:18-08:00 (18 years ago)
Name :
Axiom Version :
Category : Severity : Status :
Optional subject :
Optional comment :

Vladimir Bondarenko wrote:

fricas
(1) -> )set message autoload on

fricas
for i in 1..1 repeat print(sin(i) :: Complex Float)
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/INT.fasl 
 for domain Integer
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/EXPR.fasl 
 for domain Expression
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/KERNEL.fasl
 for domain Kernel
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SCACHE.fasl
 for package SortedCache
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/VOID.fasl 
 for domain Void
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/STRING.fasl
 for domain String
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/CHAR.fasl 
 for domain Character
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SINT.fasl 
 for domain SingleInteger
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SMP.fasl 
 for domain SparseMultivariatePolynomial
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/INDE.fasl 
 for domain IndexedExponents
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/NNI.fasl 
 for domain NonNegativeInteger
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/LIST.fasl 
 for domain List
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SUP.fasl 
 for domain SparseUnivariatePolynomial
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SAOS.fasl 
 for domain SingletonAsOrderedSet
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FRAC.fasl 
 for domain Fraction
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SYMBOL.fasl
 for domain Symbol
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ALIST.fasl 
 for domain AssociationList
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/REF.fasl 
 for domain Reference
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/PRIMARR.fasl
 for domain PrimitiveArray
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/A1AGG-.fasl
 for domain OneDimensionalArrayAggregate&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/POLY.fasl 
 for domain Polynomial
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/MAGCDT3.fasl
 for domain ModularAlgebraicGcdTools3
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/MAGCD.fasl 
 for package ModularAlgebraicGcd
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/MEVAL2.fasl
 for domain ModularEvaluation2
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/MAGCDT4.fasl
 for domain ModularAlgebraicGcdTools4
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/LA.fasl for
 domain LocalAlgebra
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/LO.fasl for
 domain Localize
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FAKEPOL.fasl
 for domain FakePolynomial
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/MAGCD2.fasl
 for package ModularAlgebraicGcd2
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/AN.fasl for
 domain AlgebraicNumber
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FLOAT.fasl 
 for domain Float
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/COMPLEX.fasl
 for domain Complex
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/DFLOAT.fasl
 for domain DoubleFloat
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/COMPCAT-.fasl
 for domain ComplexCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FPS-.fasl 
 for domain FloatingPointSystem&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/RNS-.fasl 
 for domain RealNumberSystem&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FIELD-.fasl
 for domain Field&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/EUCDOM-.fasl
 for domain EuclideanDomain&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/UFD-.fasl 
 for domain UniqueFactorizationDomain&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/GCDDOM-.fasl
 for domain GcdDomain&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/DIVRING-.fasl
 for domain DivisionRing&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ORDRING-.fasl
 for domain OrderedRing&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ALGEBRA-.fasl
 for domain Algebra&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ENTIRER-.fasl
 for domain EntireRing&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/DIFRING-.fasl
 for domain DifferentialRing&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/RNG-.fasl 
 for domain Rng&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/NAALG-.fasl
 for domain NonAssociativeAlgebra&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/MODULE-.fasl
 for domain Module&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/NARING-.fasl
 for domain NonAssociativeRing&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/INS-.fasl 
 for domain IntegerNumberSystem&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/PFECAT-.fasl
 for domain PolynomialFactorizationExplicit&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/PRINT.fasl 
 for package PrintPackage
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/QFCAT-.fasl
 for domain QuotientFieldCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/DIFEXT-.fasl
 for domain DifferentialExtension&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FLINEXP-.fasl
 for domain FullyLinearlyExplicitOver&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/EF.fasl for
 package ElementaryFunction
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/COMMONOP.fasl
 for package CommonOperators
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/BOP.fasl 
 for domain BasicOperator
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/NONE.fasl 
 for domain None
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ALAGG-.fasl
 for domain AssociationListAggregate&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/TBAGG-.fasl
 for domain TableAggregate&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/LSAGG-.fasl
 for domain ListAggregate&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ELAGG-.fasl
 for domain ExtensibleLinearAggregate&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/OUTFORM.fasl
 for domain OutputForm
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SEX.fasl 
 for domain SExpression
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/KDAGG-.fasl
 for domain KeyedDictionary&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/DIAGG-.fasl
 for domain Dictionary&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ACFS-.fasl 
 for domain AlgebraicallyClosedFunctionSpace&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ACF-.fasl 
 for domain AlgebraicallyClosedField&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FSC2-.fasl 
 for domain FunctionSpace2&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/PDRING-.fasl
 for domain PartialDifferentialRing&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/NARNG-.fasl
 for domain NonAssociativeRng&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ABELGRP-.fasl
 for domain AbelianGroup&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/NASRNG-.fasl
 for domain NonAssociativeSemiRng&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/MAGMAWU-.fasl
 for domain MagmaWithUnit&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ABELMON-.fasl
 for domain AbelianMonoid&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ESC2-.fasl 
 for domain ExpressionSpace2&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/BOP1.fasl 
 for package BasicOperatorFunctions1
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ORDSET-.fasl
 for domain OrderedSet&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ABELSG-.fasl
 for domain AbelianSemiGroup&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/MAGMA-.fasl
 for domain Magma&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SETCAT-.fasl
 for domain SetCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/HASHABL-.fasl
 for domain Hashable&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/PORDER-.fasl
 for domain PartialOrder&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/BASTYPE-.fasl
 for domain BasicType&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/PR.fasl for
 domain PolynomialRing
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FM.fasl for
 domain FreeModule
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/IDPO.fasl 
 for domain IndexedDirectProductObject
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/RETRACT-.fasl
 for domain RetractableTo&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/OM-.fasl 
 for domain OpenMath&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FRETRCT-.fasl
 for domain FullyRetractableTo&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/TRANFUN-.fasl
 for domain TranscendentalFunctionCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/EVALAB-.fasl
 for domain Evalable&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/RADCAT-.fasl
 for domain RadicalCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/AF.fasl for
 package AlgebraicFunction
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/LOGIC-.fasl
 for domain Logic&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/STAGG-.fasl
 for domain StreamAggregate&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/LNAGG-.fasl
 for domain LinearAggregate&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/URAGG-.fasl
 for domain UnaryRecursiveAggregate&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SEXOF.fasl 
 for domain SExpressionOf
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/POLYCATQ.fasl
 for package PolynomialCategoryQuotientFunctions
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/POLYROOT.fasl
 for package PolynomialRoots
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/INTFACT.fasl
 for package IntegerFactorizationPackage
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/IROOT.fasl 
 for package IntegerRoots
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FR.fasl for
 domain Factored
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FACTFUNC.fasl
 for package FactoredFunctions
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/POLYCAT-.fasl
 for domain PolynomialCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/GPOLCAT-.fasl
 for domain MaybeSkewPolynomialCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FAMR-.fasl 
 for domain FiniteAbelianMonoidRing&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/AMR-.fasl 
 for domain AbelianMonoidRing&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FMCAT-.fasl
 for domain FreeModuleCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/IEVALAB-.fasl
 for domain InnerEvalable&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ELEMFUN-.fasl
 for domain ElementaryFunctionCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/HYPCAT-.fasl
 for domain HyperbolicFunctionCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ATRIG-.fasl
 for domain ArcTrigonometricFunctionCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/TRIGCAT-.fasl
 for domain TrigonometricFunctionCategory&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/PGCD.fasl 
 for package PolynomialGcdPackage
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/NUMERIC.fasl
 for package Numeric
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/EXPR2.fasl 
 for package ExpressionFunctions2
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FS2.fasl 
 for package FunctionSpaceFunctions2
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/POLYLIFT.fasl
 for package PolynomialCategoryLifting
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ES2.fasl 
 for package ExpressionSpaceFunctions2
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FELEM.fasl 
 for package FloatElementaryFunctions
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FLOOPS.fasl
 for package FloatingPointOperations
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/REPSQ.fasl 
 for package RepeatedSquaring
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/MONOGEN-.fasl
 for domain MonogenicAlgebra&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FRAMALG-.fasl
 for domain FramedAlgebra&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FINRALG-.fasl
 for domain FiniteRankAlgebra&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FOUT.fasl 
 for package FloatingPointConvertion
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/ISTRING.fasl
 for domain IndexedString
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SRAGG-.fasl
 for domain StringAggregate&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/UNISEG.fasl
 for domain UniversalSegment
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/SEG.fasl 
 for domain Segment
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/OFTOOL.fasl
 for package OutputFormTools 
 0.8414709848_0789650665
Type: Void

Note that neither Float nor Complex is loaded in (1), only in (2). More surprisingly, UniversalSegment? is also not loaded in (1). (it does not matter if the segment is 1..1 or 1..3).

fricas
for i in 1..3 repeat print(sin(i)::Complex Float)
0.8414709848_0789650665 0.9092974268_256816954 0.1411200080_598672221
Type: Void
fricas
for i in 1..3 repeat print(a:=sin(i)::Complex Float)
0.8414709848_0789650665 0.9092974268_256816954 0.1411200080_598672221
Type: Void

Hmm, we need to understand this a bit more:

fricas
for i in 1..1 repeat print(a:=sin(i)::Complex Float)
0.8414709848_0789650665
Type: Void
fricas
for i in 1..1 repeat print(a:=(sin(i)::Complex Float))
0.8414709848_0789650665
Type: Void

all give:

 0.8414709848 0789650665

At least that is a work-around.

But

fricas
for i in 1..1 repeat print((a:=sin(i))::Complex Float)
0.8414709848_0789650665
Type: Void
fricas
for i in 1..1 repeat (a:=sin(i); print(a::Complex Float))
0.8414709848_0789650665
Type: Void

Gives:

sin(1)

print is from PrintPackage?, which calls print from OutputForm?, which calls mathprint$Lisp

but the problem lies in print inside a loop (any type, not just a for-loop). The problem seems to be an interpreter problem in parsing. This is confirmed partly by the following transcript. When trying to code this as a package for the compiler, it is not easy to figure out the sequence of functions to use to coerce sin(i) from EXPR INT to Complex Float. I finally found one way, but it may not be what the interpreter is doing:

 --%Printest
 )abbrev package PRINTEST Printest
 Printest: T==C where
 EXPR ==> Expression
 INT ==> Integer
 CF ==> Complex Float
 T == with
 foo:PositiveInteger->Void
 C == add
 import EXPR INT
 foo(k)==
 for i in 1..k repeat 
 a:=sin(i::INT::Float::CF::EXPR CF)$(EXPR CF)
 print(retract(a)$(EXPR CF)@CF::OutputForm)

Of course it makes no difference whether a:= is eliminated or not. And this works correctly. So my tentative conclusion is that the interpreter is "lazy" in (1) to try to figure out this rather involved coercion sequence (Hey, I got it to EXPR INT and I have no idea how to go further to Complex Float, I think it is good enough ...:-), but in (2), it is somehow forced to work harder (Now you want to save the result and I have to type the variable a, ok, ...). Is it a bug? Don't know. There are limitations to the interpreter.

Tim: Do you know if there is a system limitation on the level of coercion the interpreter will try before quitting? Can this be reset?

This example shows why a large percent of time (my low estimate is 70% and my high is 90%) writing compiled code is spent on coercion.

Now, there is still the question: why does this happen only inside a loop? Can one tell more from the way the libraries are loaded (see attached print.out)? Notice in print.out, even after foo(3) is executed, (2) still needs to load another bunch of libraries. Why?

William

The comments below turned out to be in error:

fricas
for i in 1..1 repeat print(sqrt(i) :: Complex Float)
1.0
Type: Void
fricas
for i in 1..1 repeat print(exp(i) :: Complex Float)
2.7182818284_590452354
Type: Void
fricas
for i in 1..1 repeat print(log(i) :: Complex Float)
0.0
Type: Void
fricas
for i in 1..1 repeat print(atan(i) :: Complex Float)
0.7853981633_9744830961
Type: Void

I'd say that it's a bug. A workaround (not a fix...) is to say

fricas
for i in 1..1 repeat print(sqrt(i) @ Complex Float)
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FRMOD-.fasl
 for domain FramedModule&
fricas
Loading 
 /usr/local/lib/fricas/target/x86_64-linux-gnu/algebra/FEVALAB-.fasl
 for domain FullyEvalableOver& 
 1.0
Type: Void

It is quite clear that Axioms behaviour will be the same for all operators (defined in op.spad).

Tracing the call with

fricas
)set message bottom on
Your user access level is compiler and this set option is therefore not available. See the )set userlevel command for more information. for i in 1..3 repeat print((sin(i))::Complex Float)
0.8414709848_0789650665 0.9092974268_256816954 0.1411200080_598672221
Type: Void

which looks quite strange: Axiom is looking for a function print with argument of type Complex Float, but the thing it prints is not of this type...

Category: Axiom Mathematics => Axiom Interpreter Status: closed => open

the bug with sin is still open

Name: #29 for i in 1..1 repeatprint(sin(i) :: Complex Float) => #29 for i in 1..1 repeat print(sin(i) :: Complex Float)

Status: open => closed

AltStyle によって変換されたページ (->オリジナル) /