Select - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

All Products    Maple    MapleSim


CodeTools[Profiling]

  

Select

  

select procedures from a table of profiling data

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

Select(selector, tab)

Parameters

selector

-

boolean valued procedure

tab

-

table of profiling data

Description

• 

The Select(selector, tab) command is similar to the select function. The boolean valued procedure, selector, is called on each element in tab.  A new table is returned containing only those elements of tab for which selector returns true.

• 

The selector parameter is a procedure that accepts two arguments. The first argument is the encoded name (see EncodeName) of the procedure and the second is the rtable containing the profiling data.

Examples

withCodeToolsProfiling:

selector := proc(n,t)
    # check the total number of function calls
    if (t[1][1] > 5) then
        return true;
    else
    return false;
    end if;
end proc;

selectorprocn&comma;tif5<t&lsqb;1&rsqb;&lsqb;1&rsqb;thenreturntrueelsereturnfalseend ifend proc

(1)

a := proc( )
    return 1;
end proc;

aprocreturn1end proc

(2)

b := proc( )
    local i;
    for i from 1 to 10 do
        a();
    end do;
end proc;

bproclocali&semi;forito10doaend doend proc

(3)

tBuildprocs=a&comma;b&comma;commands=b

ttable_Inert_ASSIGNEDNAMEb&comma;PROC=1001001000&comma;_Inert_ASSIGNEDNAMEa&comma;PROC=10001000

(4)

PrintProfilest

a
a := proc()
     |Calls Seconds  Words|
PROC |   10   0.000      0|
   1 |   10   0.000      0| return 1
end proc

b
b := proc()
local i;
     |Calls Seconds  Words|
PROC |    1   0.000      0|
   1 |    1   0.000      0| for i to 10 do
   2 |   10   0.000      0|     a()
                            end do
end proc

sSelectselector&comma;t

stable_Inert_ASSIGNEDNAMEa&comma;PROC=10001000

(5)

PrintProfiless

a
a := proc()
     |Calls Seconds  Words|
PROC |   10   0.000      0|
   1 |   10   0.000      0| return 1
end proc

See Also

CodeTools[EncodeName]

CodeTools[Profiling]

CodeTools[Profiling][Build]

CodeTools[Profiling][GetProfileTable]

CodeTools[Profiling][Merge]

CodeTools[Profiling][PrintProfiles]

CodeTools[Profiling][Remove]

rtable

select