[users-fr] Passer des arguments par référence à une fonction écrite en scilab.
Calixte DENIZET
calixte.denizet at scilab-enterprises.com
Lun 4 Juin 14:54:40 CEST 2012
Bonjour,
A ma connaissance, ce n'est pas possible de le faire pour des macros.
Toutefois cela est possible avec des fonctions built-in, il suffit pour
cela d'ecrire une toolbox en C/C++ et d'utiliser la commande scilab intppty.
Calixte
On 01/06/2012 22:56, Binoyte wrote:
> Bonjour,
>
> je voudrais savoir si il est possible de passer les arguments par
> référence a une fonction écrite en Scilab. En gros je cherche une
> analogie à l'écriture C++ suivante :
>
> void ma_fonction(struct & parametre)
> {
>
> parametre.propriete = ....;
>
> }
>
>
> En Scilab je ne trouve pas trop d'autres solutions que d'écrire :
>
> function this = ma_fonction (parametre)
>
> this = parametre;
> this.propriete = .....
>
> endfunction
>
>
> Le problème c'est qu'avec la version Scilab on fait d'abord une copie
> de la variable, ça prend du temps et beaucoup de ressources. D'autant
> qu'ensuite, dans mon programme, les fonctions sont appelées de
> nombreuses fois vue que je lance par la suite des fonctions
> d’optimisation. J'utilise des structures qui décrivent les composants
> mécaniques d'un système. L’optimisation peut faire varier le nombre de
> composants. Dans ce cas je ne pense pas pouvoir utiliser les variables
> globales, en tout cas, pas selon l'exemple ci- après :
>
> function ma_fonction (parametre)
>
> global parametre;
>
> parametre.propriete = .....
>
> endfunction
>
> //************
>
> global Monsieur;
> Monsieur.Age = 31;
>
> ma_fonction(Monsieur);
>
> Je vous remercie par avance de vos conseils.
>
> Cordialement,
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://lists.scilab.org/pipermail/users-fr/attachments/20120604/4016543b/attachment.htm>
Plus d'informations sur la liste de diffusion users-fr