funptr — coding of primitives ( wizard stuff )

Calling Sequence

[numptr] = funptr(name)



a string, the name of a primitive


the internal routine number of the primitive


Utility function (for experts only) to get the internal routine number numptr of the primitive 'name'. numptr is formed from the interface number fun and the routine number fin of the primitive in its interface by numptr = 1000*fun + fin (fin < 1000). From numptr you can get the interface number fun = floor(numptr/1000) which may be useful to link a dynamical interface with arguments passed by reference (see example section).


// Suppose you want to load some codes via the dynamic 
// loading facilities offers by addinter. By default 
// arguments are passed by values but if you want to 
// pass them by reference you can do the following 
// (name being the scilab name of one of the interfaced 
// routines) :
// addinter(files,spnames,fcts)  // args passed by values
// num_interface = floor(funptr(name)/1000)
// intppty(num_interface)  // args now passed by reference
// Note that if you enter the following
// intppty()                
// you will see all the interfaces working by reference

See Also

clearfun , newfun , intppty , addinter