Seems like ")trace" can count function calls:

)trace COMPLEX )math )count
complex(2,3)^2
)trace )stats


--------------------- Traced function execution counts ---------------------
   Complex.*,33 : 1 times
   Complex.+,31 : 0 times
   Complex.-,32 : 0 times
   Complex.OMwrite,20 : 0 times
   Complex.coerce,29 : 0 times
   Complex.complex,30 : 1 times
   Complex.exquo,41 : 0 times
   Complex.imag,15 : 7 times
   Complex.one?,28 : 0 times
   Complex.real,13 : 7 times
   Complex.zero?,26 : 0 times


- Qian

On 5/29/24 08:00, Grégory Vanuxem wrote:
Hello,

Is there an already implemented way to count the number of Spad
function calls needed to compute a more general computation? I could
add a global counter to a routine/macro like spadcall or something
like that, but I am wondering if this was already done? I don't think
it is simple. I have seen in the code some comments about this but I
do not know how to do it exactly. As an illustration, in the Complex(R
: CommutativeRing) domain there is this comment:

        Ops ==>
            x + y == [x.real + y.real, x.imag + y.imag]
                            -- by re-defining this here, we save 5 fn calls
            x - y == [x.real - y.real, x.imag - y.imag]
            x : % * y : % ==
                [x.real * y.real - x.imag * y.imag,
                 x.imag * y.real + y.imag * x.real] -- here we save nine!

        if R is DoubleFloat then
            -- we inline from DoubleFloat here
            Ops
        else
            -- general case
            Ops
- Greg


--
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/dc568fe3-b55f-4a3c-aafe-d8bdbcd7853a%40gmail.com.

Reply via email to