# funptr

кодирование примитивов (для экспертов)

## Последовательность вызова

    [numptr] = funptr(name)

## Аргументы

name

  строка, имя примитива

numptr

  число внутренней подпрограммы примитива

## Описание

Специальная функция (только для экспертов) для получения числа внутренней подпрограммы `numptr` примитива с именем `'name'`. `numptr` формируется из числа интерфейса `fun` и числа подпрограммы `fin` примитива в его интерфейсе как `numptr = 1000*fun + fin` (fin < 1000). Из `numptr` можно получить число интерфейса `fun = floor(numptr/1000)`, которое может быть полезным для связи динамического интерфейса с аргументами, переданными по ссылке (см. раздел "Примеры").

## Примеры

    // Предположим, что вы хотите загрузить некоторые коды через
    // предлагаемые средства динамической загрузки с помощью addinter.
    // По умолчанию аргументы передаются по значению, но вы можете захотеть
    // передавать их по ссылки, для чего нужно сделать следующее
    // (name - это scilab-имя одной из подпрограмм в интерфейсе):
    //
    // addinter(files,spnames,fcts)  // аргументы передаются по значению
    // num_interface = floor(funptr(name)/1000)
    // intppty(num_interface)  // теперь аргументы передаются по ссылке
    //
    // Заметьте, что, если вы введете следующее
    //
    // intppty()
    //
    // то вы увидите все интерфейсы, работающие по ссылке

## Смотрите также

- clearfun
- newfun
- intppty
- addinter