Mes plus belles decouvertes Scilab (ou le betisier non officiel du code)
La fonction pythag ''pythag(a,b)'':
Fonction qui calcule sqrt(a2 + b2)
Declaration statique de sqrt(2) sqrt(2)+1 :
"parameter ( r2 = 1.41421356237309504d0,
r2p1 = 2.41421356237309504d0,
t2p1 = 1.25371671790502177d-16)"
La fonction ''log1p(x)'':
Fonction qui calcule log(1+x) Subtile melange de pile et d'operations...
La fonction ''wacos'':
- Fonction qui calcule l'arccosinus d'un nombre complexe.
- Declarations statiques (mais jusqu'ou s'arreteront ils... je ne le sais ni ... (c))
"parameter (LN2 = 0.6931471805599453094172321d0,
HALFPI = 1.5707963267948966192313216d0,
PI = 3.1415926535897932384626433d0,
Across = 1.5d0,
Bcross = 0.6417d0)"
Et encore en cherchant bien dans les revisions initiales
je suis sur qu'il y a les tables de cos et sin codé en dur
:p (Allan)
Il y eu un temps ou le fpu etait pas toujours present (Papy scilab
)
La fonction ''wasin'':
- Fonction qui calcule l'arccosinus d'un nombre complexe.
- Declarations statiques (et la ooohhhhh une deuxieme erreur ... (c))
Meme combat que wacos ...
La Syntaxe Scilab, ou comment parser un language ultra permissif :
- foo.bar(3).toto.titi(bar) : ...
tata,toto,titi,, : ...
- eye(3) Vs. toto(3) : Ou est la fonction, ou est la variable... C'est comme au Bonto : Suivez la bonne, suivez la bonne...
Parce que le exec(), c 'est bien :
sprintf(buf,"rm -f -r %s >/dev/null 2>/dev/null",tmp_dir);
- system(buf);
sprintf(buf,"rm -f -r /tmp/%d.metanet.* > /dev/null 2>/dev/null",
(A enlever :p et vite ) (Allan)
Parce que si c'est facile a comprendre, c'est même pas drole :
*ptr = ((int) (the_p - (char *)C2F(stack).stk_1))/sizeof(double) + 1;
Les joies d'une pile en fortran et de son interface avec le C (Allan)
Snif
void
writec(flag,nevprt,t,xd,x,nx,z,nz,tvec,ntvec,rpar,nrpar, ipar,nipar,inptr,insz,nin,outptr,outsz,nout)
integer *flag,*nevprt,*nx,*nz,*ntvec,*nrpar,ipar[],*nipar,insz[],*nin,outsz[],*nout;
double x[],xd[],z[],tvec[],rpar[];
double *inptr[],*outptr[],*t;
Ca c'est historique (Allan) (Syntaxe C premiere version :p ) Dans 20 ans
on rigolera bien en lisant le code C actuel
Code Ritz Carlton...
void C2F(cstringf)(ip,sciptr,m,n,max,ierr)
- char ***ip;
- int *sciptr;
- int *m, *n, *max,*ierr;
Du code "3 etoiles" que demande le peuple...
Si les cochons savaient coder...
Extrait de IsEqualVar.c ... Je vous passe le #include "IsEqualVar.h" immediatement suivi par la definition des prototypes...
- switch (id1[0]) {
case 0:
- return 1;
case 1:
if ( IsEqualDoubleMat(d1, d2) ) goto DIFFER; break;
case 2:/* matrix of polynomials */
if ( IsEqualPolyMat(d1, d2) ) goto DIFFER; break;
case 4:/* matrix of booleans */
if ( IsEqualBoolMat(d1, d2) ) goto DIFFER; break;
case 5:/* sparse matrix of double */
if ( IsEqualDoubleSparseMat(d1, d2) ) goto DIFFER; break;
case 6:/* sparse matrix of booleans */
if ( IsEqualBoolSparseMat(d1, d2) ) goto DIFFER; break;
Et plus loin :
- DIFFER:
- return 0;
Spider Cochon, Spider Cochon... Il peut marcher au plafond...
Dans la démo : modules/optimization/demos/lmitool/lmidem.sci
sep11=['/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'... +'/'+'INITIAL GUESS'] sep12=['/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'... +'/'+' '] sep13=['/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'... +'/'+'LME, LMI and OBJ'] sep2=['/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'... +'/'+'EVALUATION FUNCTION'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/'+'/']