Leaf subroutine (leaf function):
|
Example: square( ) is a leaf function
// square( ) is a leaf function
int square(int x)
{
return x * x; // No function calls
// used in the function
}
|
Non-leaf subroutine (leaf function):
|
Example: sumOfSquare( ) is a non-leaf function
int square(int x)
{
return x * x;
}
// sumOfSquare( ) is a non-leaf function
int sumOfSquare(int x, int y)
{
return square(x) + square(y);
}
|