Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
codegen[joinprocs] - Join the body of two or more Maple procedures together
Calling Sequence
joinprocs(F)
joinprocs(F, result_type = t)
Parameters
F
-
list of Maple procedures
t
one of seq (default), list, or array
Description
The joinprocs function takes as input a list of Maple procedures. It outputs a single Maple procedure J which returns the values computed by all procedures in F. It simply concatenates the code appearing in the body of the procedures together. The purpose of the joinprocs procedure is to allow one to optimize the code in the procedures in F together.
The formal parameters in the resulting procedure J are determined by taking the union of the names of the formal parameters in all procedures and the relative order of the parameters is preserved. A parameter in one procedure is considered the same as a parameter in another if the two parameters have the same name, thus position is considered irrelevant. If the parameters in two procedures have different names, and it is desired to consider them the same, the codegen[renamevar] command may be used.
By default, the procedure J returns a sequence of all the values computed by the procedures in the list F. The optional argument result_type=list, result_type=array, or result_type=seq specifies that the results are to be returned in a list, array, or sequence respectively.
If a procedure in F contains a return statement before the last statement, for example in a nested loop, it will not be removed in the resulting code J. Hence evaluation of J may not evaluate all the codes in F.
The command with(codegen,joinprocs) allows the use of the abbreviated form of this command.
Examples
f := proc(x,y) local e,t; e := exp(-x); t := x^2; t*e end proc:
g := proc(x,y) local e,t; e := exp(-x); t := y^2; t*e end proc:
f := proc(n,a::numeric) 1-a^n end proc:
g := proc(n,b::numeric) b^n end proc:
See Also
codegen[optimize]
Download Help Document