Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Scilab > Конфигурация > recursionlimit

# recursionlimit

get or set the current or maximal allowed depth of nested calls

### Syntax

```currentMaxDepth = recursionlimit()
formerMaxDepth = recursionlimit(newMaxDepth)
currentDepth = recursionlimit("current")```

### Arguments

currentMaxDepth

Maximal number of nested calls (= depth) currently set.

newMaxDepth

New maximal number of nested calls to set.

formerMaxDepth

Former value set, before it was changed

"current"

input keyword retrieving the current calling depth (before reaching the max one).

currentDepth

Current calling depth.

### Description

Use this function to change the maximal number of nested calls allowed in Scilab. Each script.sce, public or internal (like overloads) functions in Scilab language, or built-in functions compiled from an external language is a level. Default value is set to 1000 levels.

 `newMaxDepth` can be set in Scilab preferences.

### Examples

```recursionlimit(20);
function testRecursion()
printf("recursion: %d\n", recursionlimit("current") - 1);
testRecursion;
endfunction

testRecursion;```
```//show that cos and %rec_cos increment the current recursion level.
recursionlimit(40);
function %rec_cos(val)
printf("recursion: %d\n", recursionlimit("current") - 1);
val.count = val.count + 1;
//disp(val.count);
cos(val);
endfunction

a = tlist(["rec", "count"], 0);
cos(a)```
```recursionlimit(10);
function [out]=recfib(in)
printf("recursion: %d\n", recursionlimit("current") - 1);
if in == 1  then
out = 1;
elseif in == 2
out = 1;
else
out = recfib(in-1) + recfib(in-2);
end
endfunction

recfib(10); //OK
recfib(11); //KO```

• where — получение текущей инструкции дерева вызова
• getmemory — возвращает свободную и общую память системы
• preferences — Open the Scilab Preferences window

### History

 Version Description 6.0.0 Function added

 Report an issue << oldEmptyBehaviour Конфигурация sciargs >>

 Scilab EnterprisesCopyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Tue Feb 25 08:54:53 CET 2020