PercentSelect - Maple Help

CodeTools[Profiling][Coverage]

 PercentSelect
 select procedures based on their coverage percent

 Calling Sequence PercentSelect(proc1, proc1, ..., tab1, tab2, ..., opts)

Parameters

 proc1, proc2, ... - (optional) procedure tab1, tab2, ... - (optional) table of profiling data opts - (optional) equation(s) of the form option=value where option is one of the following 'compare', 'depth', or 'percent'; specify options for the PercentSelect command

Description

 • The PercentSelect() command selects from the procedures for which it has profiling data those procedures that satisfy the coverage percent comparison.
 The coverage percent of a procedure is the number of lines covered divided by the total number of lines in the procedure.
 • The PercentSelect(proc1, proc2, ...) command selects from the specified procedures, proc1, proc2, ..., those procedures that satisfy the coverage percent comparison.
 • The opts parameter can contain any of the following equations that specify options for the PercentSelect command.
 'compare'=procedure
 Specifies a comparison procedure.  The 'compare' option can be any boolean valued procedure that accepts two numeric arguments.  The first is the calculated coverage percentage, the second is the specified percentage.  By default, <= is used.
 'depth'=posint
 Specifies the number of times that a statement has to be executed to be considered covered.  A statement is considered covered if it is executed greater than or equal to a certain number of times.  The default is one.
 'percent'=numeric
 Specifies the percentage to which to compare.  It is specified as a number in the range 0 to 1. The default is 0.5.
 • PercentSelect reads profiling data from currently profiled procedures and from any specified tables of profiling data.  If a procedure appears more than once in any of these sources, the profiles are joined together (as in Merge) and the data from the merged profiles is used.
 • PercentSelect returns a table containing the profiling data for the selected procedures.

Examples

 > $\mathrm{with}\left({\mathrm{CodeTools}}_{\mathrm{Profiling}}\right):$
 > $\mathrm{t1}≔\mathrm{Build}\left(\mathrm{commands}='\underset{x→0}{lim}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}\frac{\mathrm{sin}\left(x\right)}{x}'\right):$
 > ${\mathrm{Coverage}}_{\mathrm{Percent}}\left(\mathrm{t1}\right)$
 combine/power 37.75% limit/mrv/commonfactors 100.00% collect/recursive 8.70% type/algnum 33.33% series/frontend 100.00% limit/mrv/mrv 100.00% type/suffixed 10.53% simplify/evenodd/do 57.14% tools/eval_foo 59.09% limit/mrv/LeadingExpon 37.50% limit/mrv/EXP 75.00% limit/MrvRight0 51.35% limit/dosubs 42.31% type/simplify/+ 100.00% simplify/trig/recurse 17.65% type/freeof 60.00% limit/mrv/MrvLeadTerm 100.00% collect 57.14% tools/membertype 100.00% limit/MrvLimit 13.19% forget:-forget_proc 51.85% limit/IndetsRange 100.00% type/laurent 100.00% limit/mrv/MrvLeadTerm0 10.28% type/polynom 53.85% limit/limit/piecewise 12.00% simplify/normal 38.46% limit/return 75.00% limit/mrv/limsimpl 30.95% type/arctrig 66.67% depends:-Main 36.67% convert/list:-ModuleApply 7.14% simplify/size/length 100.00% limit/mrv/compare0 16.67% simplify/getkernels 100.00% simplify/trig 63.31% signum 9.72% simplify/trig/normalize_args 33.33% simplify/trig/from_sincos 100.00% type/trig 100.00% PackageManagement:-pmember 11.76% limit/MrvRight 100.00% sin/normal 57.14% anames 100.00% limit/MrvRight/limsimp 57.14% trig/normal 4.44% limit/left=right 7.14% limit/MrvLimit0 42.86% forget:-ModuleApply 44.00% combine/cmbpwr 43.75% series/trig 50.00% type/point 50.00% simplify/getinds 100.00% simplify/sortinds 100.00% tools/map/function 37.50% @ 26.83% type/appliable 16.67% trig/linear_in_Pi 50.00% simplify/trig/multiply_and_choose 50.00% type/arctrigh 66.67% simplify/common_factors 100.00% limit 16.82% expand/sin 18.75% series/sin 75.00% limit/ThawRange 100.00% ListTools:-Reverse 100.00% combine/wrt 64.71% simplify/trig/to_sincos 50.00% series/leadterm 46.07% tools/map 15.52% limit/easy 52.94% type/nothing 100.00% simplify/do 29.78% depends:-ModuleApply 75.00% limit/mrv/PreProcess0 46.67% convert/sincos 50.00% type/taylor 100.00% simplify/common_factors/recurse 5.56% simplify/check_constant 66.67% packages 100.00% tools/truncateSeries 23.81% forget:-do_unread 66.67% type/SymbolicInfinity 100.00% type/builtin 100.00% limit/topright 14.08% expand/cos 18.75% simplify/trig/evenodd 12.50% limit/mrv/compare 100.00% hasassumptions 50.00% simplify 26.92% simplify/normal/check 23.33% tools/eval_foo/do 35.71% limit/mrv/mrv0 47.06% combine 63.89% factor 50.00% type/simplify/* 100.00% limit/mrv/Testzero 3.33% simplify/evenodd 66.67% tools/sign 19.05% simplify/nosize 100.00%
 > $\mathrm{t2}≔{\mathrm{Coverage}}_{\mathrm{PercentSelect}}\left(\mathrm{t1},'\mathrm{percent}'=0.3\right):$
 > ${\mathrm{Coverage}}_{\mathrm{Percent}}\left(\mathrm{t2}\right)$
 collect/recursive 8.70% type/suffixed 10.53% simplify/trig/recurse 17.65% limit/MrvLimit 13.19% limit/mrv/MrvLeadTerm0 10.28% limit/limit/piecewise 12.00% convert/list:-ModuleApply 7.14% limit/mrv/compare0 16.67% signum 9.72% PackageManagement:-pmember 11.76% trig/normal 4.44% limit/left=right 7.14% @ 26.83% type/appliable 16.67% limit 16.82% expand/sin 18.75% tools/map 15.52% simplify/do 29.78% simplify/common_factors/recurse 5.56% tools/truncateSeries 23.81% limit/topright 14.08% expand/cos 18.75% simplify/trig/evenodd 12.50% simplify 26.92% simplify/normal/check 23.33% limit/mrv/Testzero 3.33% tools/sign 19.05%
 > $\mathrm{t2}≔{\mathrm{Coverage}}_{\mathrm{PercentSelect}}\left(\mathrm{t1}\right):$
 > ${\mathrm{Coverage}}_{\mathrm{Percent}}\left(\mathrm{t2}\right)$
 combine/power 37.75% collect/recursive 8.70% type/algnum 33.33% type/suffixed 10.53% limit/mrv/LeadingExpon 37.50% limit/dosubs 42.31% simplify/trig/recurse 17.65% limit/MrvLimit 13.19% limit/mrv/MrvLeadTerm0 10.28% limit/limit/piecewise 12.00% simplify/normal 38.46% limit/mrv/limsimpl 30.95% depends:-Main 36.67% convert/list:-ModuleApply 7.14% limit/mrv/compare0 16.67% signum 9.72% simplify/trig/normalize_args 33.33% PackageManagement:-pmember 11.76% trig/normal 4.44% limit/left=right 7.14% limit/MrvLimit0 42.86% forget:-ModuleApply 44.00% combine/cmbpwr 43.75% series/trig 50.00% type/point 50.00% tools/map/function 37.50% @ 26.83% type/appliable 16.67% trig/linear_in_Pi 50.00% simplify/trig/multiply_and_choose 50.00% limit 16.82% expand/sin 18.75% simplify/trig/to_sincos 50.00% series/leadterm 46.07% tools/map 15.52% simplify/do 29.78% limit/mrv/PreProcess0 46.67% convert/sincos 50.00% simplify/common_factors/recurse 5.56% tools/truncateSeries 23.81% limit/topright 14.08% expand/cos 18.75% simplify/trig/evenodd 12.50% hasassumptions 50.00% simplify 26.92% simplify/normal/check 23.33% tools/eval_foo/do 35.71% limit/mrv/mrv0 47.06% factor 50.00% limit/mrv/Testzero 3.33% tools/sign 19.05%
 > $\mathrm{t2}≔{\mathrm{Coverage}}_{\mathrm{PercentSelect}}\left(\mathrm{t1},'\mathrm{percent}'=0.80\right):$
 > ${\mathrm{Coverage}}_{\mathrm{Percent}}\left(\mathrm{t2}\right)$
 combine/power 37.75% collect/recursive 8.70% type/algnum 33.33% type/suffixed 10.53% simplify/evenodd/do 57.14% tools/eval_foo 59.09% limit/mrv/LeadingExpon 37.50% limit/mrv/EXP 75.00% limit/MrvRight0 51.35% limit/dosubs 42.31% simplify/trig/recurse 17.65% type/freeof 60.00% collect 57.14% limit/MrvLimit 13.19% forget:-forget_proc 51.85% limit/mrv/MrvLeadTerm0 10.28% type/polynom 53.85% limit/limit/piecewise 12.00% simplify/normal 38.46% limit/return 75.00% limit/mrv/limsimpl 30.95% type/arctrig 66.67% depends:-Main 36.67% convert/list:-ModuleApply 7.14% limit/mrv/compare0 16.67% simplify/trig 63.31% signum 9.72% simplify/trig/normalize_args 33.33% PackageManagement:-pmember 11.76% sin/normal 57.14% limit/MrvRight/limsimp 57.14% trig/normal 4.44% limit/left=right 7.14% limit/MrvLimit0 42.86% forget:-ModuleApply 44.00% combine/cmbpwr 43.75% series/trig 50.00% type/point 50.00% tools/map/function 37.50% @ 26.83% type/appliable 16.67% trig/linear_in_Pi 50.00% simplify/trig/multiply_and_choose 50.00% type/arctrigh 66.67% limit 16.82% expand/sin 18.75% series/sin 75.00% combine/wrt 64.71% simplify/trig/to_sincos 50.00% series/leadterm 46.07% tools/map 15.52% limit/easy 52.94% simplify/do 29.78% depends:-ModuleApply 75.00% limit/mrv/PreProcess0 46.67% convert/sincos 50.00% simplify/common_factors/recurse 5.56% simplify/check_constant 66.67% tools/truncateSeries 23.81% forget:-do_unread 66.67% limit/topright 14.08% expand/cos 18.75% simplify/trig/evenodd 12.50% hasassumptions 50.00% simplify 26.92% simplify/normal/check 23.33% tools/eval_foo/do 35.71% limit/mrv/mrv0 47.06% combine 63.89% factor 50.00% limit/mrv/Testzero 3.33% simplify/evenodd 66.67% tools/sign 19.05%
 > $\mathrm{t2}≔{\mathrm{Coverage}}_{\mathrm{PercentSelect}}\left(\mathrm{t1},'\mathrm{percent}'=0.80,'\mathrm{compare}'=\mathrm{>}\right):$
 > ${\mathrm{Coverage}}_{\mathrm{Percent}}\left(\mathrm{t2}\right)$
 limit/mrv/commonfactors 100.00% series/frontend 100.00% limit/mrv/mrv 100.00% type/simplify/+ 100.00% limit/mrv/MrvLeadTerm 100.00% tools/membertype 100.00% limit/IndetsRange 100.00% type/laurent 100.00% simplify/size/length 100.00% simplify/getkernels 100.00% simplify/trig/from_sincos 100.00% type/trig 100.00% limit/MrvRight 100.00% anames 100.00% simplify/getinds 100.00% simplify/sortinds 100.00% simplify/common_factors 100.00% limit/ThawRange 100.00% ListTools:-Reverse 100.00% type/nothing 100.00% type/taylor 100.00% packages 100.00% type/SymbolicInfinity 100.00% type/builtin 100.00% limit/mrv/compare 100.00% type/simplify/* 100.00% simplify/nosize 100.00%
 > ${\mathrm{Coverage}}_{\mathrm{Percent}}\left(\mathrm{t1},'\mathrm{depth}'=2\right)$
 combine/power 31.13% limit/mrv/commonfactors 0.00% collect/recursive 8.70% type/algnum 0.00% series/frontend 100.00% limit/mrv/mrv 100.00% type/suffixed 0.00% simplify/evenodd/do 57.14% tools/eval_foo 4.55% limit/mrv/LeadingExpon 0.00% limit/mrv/EXP 0.00% limit/MrvRight0 0.00% limit/dosubs 42.31% type/simplify/+ 0.00% simplify/trig/recurse 0.00% type/freeof 60.00% limit/mrv/MrvLeadTerm 100.00% collect 57.14% tools/membertype 100.00% limit/MrvLimit 0.00% forget:-forget_proc 0.00% limit/IndetsRange 100.00% type/laurent 100.00% limit/mrv/MrvLeadTerm0 0.40% type/polynom 7.69% limit/limit/piecewise 12.00% simplify/normal 38.46% limit/return 0.00% limit/mrv/limsimpl 19.05% type/arctrig 66.67% depends:-Main 36.67% convert/list:-ModuleApply 0.00% simplify/size/length 100.00% limit/mrv/compare0 0.00% simplify/getkernels 100.00% simplify/trig 4.32% signum 9.72% simplify/trig/normalize_args 0.00% simplify/trig/from_sincos 100.00% type/trig 100.00% PackageManagement:-pmember 0.00% limit/MrvRight 100.00% sin/normal 57.14% anames 100.00% limit/MrvRight/limsimp 0.00% trig/normal 4.44% limit/left=right 0.00% limit/MrvLimit0 0.00% forget:-ModuleApply 0.00% combine/cmbpwr 0.00% series/trig 45.45% type/point 0.00% simplify/getinds 100.00% simplify/sortinds 20.00% tools/map/function 0.00% @ 2.44% type/appliable 16.67% trig/linear_in_Pi 50.00% simplify/trig/multiply_and_choose 0.00% type/arctrigh 0.00% simplify/common_factors 100.00% limit 0.00% expand/sin 0.00% series/sin 75.00% limit/ThawRange 0.00% ListTools:-Reverse 0.00% combine/wrt 64.71% simplify/trig/to_sincos 0.00% series/leadterm 8.99% tools/map 6.90% limit/easy 0.00% type/nothing 100.00% simplify/do 24.72% depends:-ModuleApply 62.50% limit/mrv/PreProcess0 46.67% convert/sincos 0.00% type/taylor 100.00% simplify/common_factors/recurse 0.00% simplify/check_constant 66.67% packages 0.00% tools/truncateSeries 23.81% forget:-do_unread 0.00% type/SymbolicInfinity 100.00% type/builtin 0.00% limit/topright 14.08% expand/cos 0.00% simplify/trig/evenodd 0.00% limit/mrv/compare 0.00% hasassumptions 0.00% simplify 26.92% simplify/normal/check 3.33% tools/eval_foo/do 0.00% limit/mrv/mrv0 8.82% combine 47.22% factor 0.00% type/simplify/* 0.00% limit/mrv/Testzero 3.33% simplify/evenodd 66.67% tools/sign 19.05% simplify/nosize 100.00%
 > $\mathrm{t2}≔{\mathrm{Coverage}}_{\mathrm{PercentSelect}}\left(\mathrm{t1},'\mathrm{depth}'=2,'\mathrm{percent}'=0.3\right):$
 > ${\mathrm{Coverage}}_{\mathrm{Percent}}\left(\mathrm{t2},'\mathrm{depth}'=2\right)$
 limit/mrv/commonfactors 0.00% collect/recursive 8.70% type/algnum 0.00% type/suffixed 0.00% tools/eval_foo 4.55% limit/mrv/LeadingExpon 0.00% limit/mrv/EXP 0.00% limit/MrvRight0 0.00% type/simplify/+ 0.00% simplify/trig/recurse 0.00% limit/MrvLimit 0.00% forget:-forget_proc 0.00% limit/mrv/MrvLeadTerm0 0.40% type/polynom 7.69% limit/limit/piecewise 12.00% limit/return 0.00% limit/mrv/limsimpl 19.05% convert/list:-ModuleApply 0.00% limit/mrv/compare0 0.00% simplify/trig 4.32% signum 9.72% simplify/trig/normalize_args 0.00% PackageManagement:-pmember 0.00% limit/MrvRight/limsimp 0.00% trig/normal 4.44% limit/left=right 0.00% limit/MrvLimit0 0.00% forget:-ModuleApply 0.00% combine/cmbpwr 0.00% type/point 0.00% simplify/sortinds 20.00% tools/map/function 0.00% @ 2.44% type/appliable 16.67% simplify/trig/multiply_and_choose 0.00% type/arctrigh 0.00% limit 0.00% expand/sin 0.00% limit/ThawRange 0.00% ListTools:-Reverse 0.00% simplify/trig/to_sincos 0.00% series/leadterm 8.99% tools/map 6.90% limit/easy 0.00% simplify/do 24.72% convert/sincos 0.00% simplify/common_factors/recurse 0.00% packages 0.00% tools/truncateSeries 23.81% forget:-do_unread 0.00% type/builtin 0.00% limit/topright 14.08% expand/cos 0.00% simplify/trig/evenodd 0.00% limit/mrv/compare 0.00% hasassumptions 0.00% simplify 26.92% simplify/normal/check 3.33% tools/eval_foo/do 0.00% limit/mrv/mrv0 8.82% factor 0.00% type/simplify/* 0.00% limit/mrv/Testzero 3.33% tools/sign 19.05%
 > $\mathrm{t2}≔{\mathrm{Coverage}}_{\mathrm{PercentSelect}}\left(\mathrm{t1},'\mathrm{depth}'=2,'\mathrm{compare}'=\mathrm{=}\right):$
 > ${\mathrm{Coverage}}_{\mathrm{Percent}}\left(\mathrm{t2},'\mathrm{depth}'=2\right)$
 trig/linear_in_Pi 50.00%
 > $\mathrm{t2}≔{\mathrm{Coverage}}_{\mathrm{PercentSelect}}\left(\mathrm{t1},'\mathrm{depth}'=2,'\mathrm{percent}'=0.80\right):$
 > ${\mathrm{Coverage}}_{\mathrm{Percent}}\left(\mathrm{t2},'\mathrm{depth}'=2\right)$
 combine/power 31.13% limit/mrv/commonfactors 0.00% collect/recursive 8.70% type/algnum 0.00% type/suffixed 0.00% simplify/evenodd/do 57.14% tools/eval_foo 4.55% limit/mrv/LeadingExpon 0.00% limit/mrv/EXP 0.00% limit/MrvRight0 0.00% limit/dosubs 42.31% type/simplify/+ 0.00% simplify/trig/recurse 0.00% type/freeof 60.00% collect 57.14% limit/MrvLimit 0.00% forget:-forget_proc 0.00% limit/mrv/MrvLeadTerm0 0.40% type/polynom 7.69% limit/limit/piecewise 12.00% simplify/normal 38.46% limit/return 0.00% limit/mrv/limsimpl 19.05% type/arctrig 66.67% depends:-Main 36.67% convert/list:-ModuleApply 0.00% limit/mrv/compare0 0.00% simplify/trig 4.32% signum 9.72% simplify/trig/normalize_args 0.00% PackageManagement:-pmember 0.00% sin/normal 57.14% limit/MrvRight/limsimp 0.00% trig/normal 4.44% limit/left=right 0.00% limit/MrvLimit0 0.00% forget:-ModuleApply 0.00% combine/cmbpwr 0.00% series/trig 45.45% type/point 0.00% simplify/sortinds 20.00% tools/map/function 0.00% @ 2.44% type/appliable 16.67% trig/linear_in_Pi 50.00% simplify/trig/multiply_and_choose 0.00% type/arctrigh 0.00% limit 0.00% expand/sin 0.00% series/sin 75.00% limit/ThawRange 0.00% ListTools:-Reverse 0.00% combine/wrt 64.71% simplify/trig/to_sincos 0.00% series/leadterm 8.99% tools/map 6.90% limit/easy 0.00% simplify/do 24.72% depends:-ModuleApply 62.50% limit/mrv/PreProcess0 46.67% convert/sincos 0.00% simplify/common_factors/recurse 0.00% simplify/check_constant 66.67% packages 0.00% tools/truncateSeries 23.81% forget:-do_unread 0.00% type/builtin 0.00% limit/topright 14.08% expand/cos 0.00% simplify/trig/evenodd 0.00% limit/mrv/compare 0.00% hasassumptions 0.00% simplify 26.92% simplify/normal/check 3.33% tools/eval_foo/do 0.00% limit/mrv/mrv0 8.82% combine 47.22% factor 0.00% type/simplify/* 0.00% limit/mrv/Testzero 3.33% simplify/evenodd 66.67% tools/sign 19.05%