#######################################################################################################################################
# #
# C A L C U L D ' U N E N S E M B L E D E J U L I A #
# D A N S L E S " P S E U D O - O C T O N I O N S " : #
# #
# #
# Author of '$xiirc/.JULJ.N2.1.$U' : #
# #
# Jean-Francois Colonna (LACTAMME, 20141120135048). #
# #
#######################################################################################################################################
$Z SETParam _____DoublerSections 0
$Z # Parametre introduit le 20210427130146... #
$Z SETParam _____Rdecimales 16
$Z SETParam _____R -0.5815147625160462
$Z SETParam _____Idecimales 16
$Z SETParam _____I +0.6358885017421603
$Z SETParam _____OptimiserJ $NEXIST
$Z # Parametre introduit le 20141223092612... #
$Z SETParam _____Jdecimales 16
$Z SETParam _____OJ -1.0
$Z SETParam _____EJ 0
$Z SETParam _____Kdecimales 16
$Z SETParam _____K 0.0
$Z SETParam _____XYdecimales 6
$Z SETParam _____xbg -1.0
$Z SETParam _____xhd +1.0
$Z SETParam _____ybg -1.0
$Z SETParam _____yhd +1.0
$Z SETParam _____JRdecimales 16
$Z # Parametre introduit le 20141126122207... #
$Z SETParam _____JRotationX `GetParam $xrc/julia.81$X ROTATION_OX`
$Z # Parametre introduit le 20141126122207... #
$Z SETParam _____JRotationY `GetParam $xrc/julia.81$X ROTATION_OY`
$Z # Parametre introduit le 20141126122207... #
$Z SETParam _____JRotationZ `GetParam $xrc/julia.81$X ROTATION_OZ`
$Z # Parametre introduit le 20141126122207... #
$Z SETParam _____Pdecimales 0
$Z # Parametre introduit le 20141125115922... #
$Z SETParam _____Puissance 8
$Z # Parametre introduit le 20141125115922... #
$Z SETParam _____PuissanceR 0
$Z # Parametre introduit le 20141220104036... #
$Z SETParam _____PuissanceA 0
$Z # Parametre introduit le 20141220104036... #
$Z SETParam _____PuissanceA1 0
$Z # Parametre introduit le 20141220180417... #
$Z SETParam _____PuissanceA2 0
$Z # Parametre introduit le 20141220180417... #
$Z SETParam _____PuissanceA3 0
$Z # Parametre introduit le 20141220180417... #
$Z SETParam _____PuissanceA4 0
$Z # Parametre introduit le 20141220180417... #
$Z SETParam _____PuissanceA5 0
$Z # Parametre introduit le 20141220180417... #
$Z SETParam _____PuissanceA6 0
$Z # Parametre introduit le 20141220180417... #
$Z SETParam _____PuissanceA7 0
$Z # Parametre introduit le 20141220180417... #
$Z setenvParam _____ParaJulia "$K_VIDE"
$Z # Parametre introduit le 20141130094654 afin de pouvoir en fait redefinir dynamiquement #
$Z # certains parametres (par exemple 'v $xiirc/$Fnota _____ParaJulia'). #
$Z FilSTmpB FFrAcTaL
$c #include <stdio.h>
$c
$c #define N0 cPremiere
$c #define N (cPremiere+((cDerniere-cPremiere+1)/(_____DoublerSections+1))-1)
$c
$c #define OJ _____OJ
$c #define EJ _____EJ
$c
$c int main()
$c {
$c int n;
$c
$c for (n=N0 ; n<=N ; n++)
$c {
$c double J=((EJ*(n-N0))+(OJ*(N-n)))/(N-N0);
$c
$c printf("echo %c$xrc/julia.81$X
$c images=1
$c exposant=1
$c iterations=8
$c r=%+.*f
$c i=%+.*f
$c j=0
$c k=0
$c s=0
$c t=0
$c u=0
$c v=0
$c J=%+.*f
$c K=%+.*f
$c S=0
$c T=0
$c U=0
$c V=0
$c fenetres_depart_arrivee_identiques=VRAI
$c xbg=%+.*f
$c xhd=%+.*f
$c ybg=%+.*f
$c yhd=%+.*f
$c ROTATION_OX=%+.*f
$c ROTATION_OY=%+.*f
$c ROTATION_OZ=%+.*f
$c produit_non_theorique=VRAI
$c eRho=%.*f
$c pA1=%.*f tA1=0
$c pA2=%.*f tA2=0
$c pA3=%.*f tA3=0
$c pA4=%.*f tA4=0
$c pA5=%.*f tA5=0
$c pA6=%.*f tA6=0
$c pA7=%.*f tA7=0
$c visualiser_appartenance=VRAI
$c $_____ParaJulia
$c chiffres=0
$c R=$_____ImageT1.%04d
$c $formatI%c
$c >> $FFrAcTaL\n"
$c ,'\''
$c ,_____Rdecimales,(double)_____R
$c ,_____Idecimales,(double)_____I
$c ,_____Jdecimales,(double)J
$c ,_____Kdecimales,(double)_____K
$c ,_____XYdecimales,(double)_____xbg
$c ,_____XYdecimales,(double)_____xhd
$c ,_____XYdecimales,(double)_____ybg
$c ,_____XYdecimales,(double)_____yhd
$c ,_____JRdecimales,(double)_____JRotationX
$c ,_____JRdecimales,(double)_____JRotationY
$c ,_____JRdecimales,(double)_____JRotationZ
$c ,_____Pdecimales,(double)(_____Puissance+_____PuissanceR)
$c ,_____Pdecimales,(double)(_____Puissance+_____PuissanceA+_____PuissanceA1)
$c ,_____Pdecimales,(double)(_____Puissance+_____PuissanceA+_____PuissanceA2)
$c ,_____Pdecimales,(double)(_____Puissance+_____PuissanceA+_____PuissanceA3)
$c ,_____Pdecimales,(double)(_____Puissance+_____PuissanceA+_____PuissanceA4)
$c ,_____Pdecimales,(double)(_____Puissance+_____PuissanceA+_____PuissanceA5)
$c ,_____Pdecimales,(double)(_____Puissance+_____PuissanceA+_____PuissanceA6)
$c ,_____Pdecimales,(double)(_____Puissance+_____PuissanceA+_____PuissanceA7)
$c ,n
$c ,'\''
$c );
$c }
$c }
$Z if ($_____OptimiserJ == $EXIST) then
$Z SET InCrEmEnT=+0.1
$Z SET SeUiLInCrEmEnT=0.001
$Z if (`$xcg/IFGE.01.x x=$_____OJ` == $EXIST) then
$Z else
$Z SET InCrEmEnT=`$xcg/NEGA.01$X x=$InCrEmEnT`
$Z endif
$Z SET P_____OJ=`$xcg/SOUS.01$X a=$_____OJ b=$InCrEmEnT`
$Z # A priori... #
$Z SET NoIr=`$xcg/ABSO.01$X a=$NOIR signe="$K_VIDE"`
$Z # Afin de pouvoir tester les sorties de '$xci/extrema$X'... #
$Z set ItErEr=$EXIST
$Z while ($ItErEr == $EXIST)
$Z SET S_____OJ=$_____OJ
#20191021182233____:$Z FilSTmpB FOpTiMiSe #
$Z FilSTmpB FOpTiMiSe $Y
$Z $CA $xcs/csh$Y \
$Z >> $FOpTiMiSe
$Z $CA $FFrAcTaL | \
$Z $HEA -1 | \
$Z $SE -e 's/$'"/ J=$_____OJ/" \
$Z >> $FOpTiMiSe
$Z source $FOpTiMiSe
$Z # Ainsi, on calcule le champ pour la valeur de '$_____OJ' courante... #
$Z set ArG1="minimum=FAUX maximum=VRAI coordonnees=FAUX LF=VRAI"
$Z set ArG2="STREAM_OUT=VRAI STREAM_ERREUR=FAUX"
$Z SET MaXiMuM=$UNDEF
#20191021182315____:$Z FilSTmpB FMaXiMuM #
$Z FilSTmpB FMaXiMuM $Y
$Z $CA $xcs/csh$Y \
$Z >> $FMaXiMuM
$Z echo 'set MaXiMuM=`$xci/extrema$X A=$_____ImageT1.0001 $ArG1 |& $xcg/StdOutErr.01$X $ArG2`' \
$Z >> $FMaXiMuM
$Z source $FMaXiMuM
$Z # On notera que l'on n'ecrit pas directement : #
$Z # #
$Z # SET MaXiMuM=`$xci/extrema$X A=$_____ImageT1.0001 (...)` #
$Z # #
$Z # afin d'eviter un message du type : #
$Z # #
$Z # _____ImageT1: Undefined variable. #
$Z # #
$Z # lors d'un 'xlistN', d'ou un 'SET' destine au 'xlistN'. Le vrai 'set' ne peut pas apparaitre #
$Z # directement sous peine du message : #
$Z # #
$Z # Les symboles suivants sont a la fois definis par des 'set's et des 'SET's #
$Z # #
$Z # d'ou le passage par un 'source' intermediaire... #
$Z FilSTmpE FMaXiMuM
$Z IFS ($MaXiMuM == $NoIr) then
$Z # Des qu'un maximum egal a '$NOIR' est atteint, on revient en arriere sur '$P_____OJ' et #
$Z # on divise par 10 l'increment tant que cela est autorise... #
$Z # #
$Z # On notera le 'IFS(...)' destine a garantir la recuperation correcte de ce test #
$Z # ('v $Falias_listG .CA........FiLeT2'). #
$Z SET _____OJ=$P_____OJ
$Z SET InCrEmEnT=`$xcg/DIVZ.01$X a=$InCrEmEnT b=10`
$Z SET AInCrEmEnT=`$xcg/ABSO.01$X a=$InCrEmEnT`
$Z IFS (`$xcg/IFLT.01.x x=$AInCrEmEnT y=$SeUiLInCrEmEnT` == $EXIST) then
$Z SET _____OJ=$S_____OJ
$Z set ItErEr=$NEXIST
$Z # On notera qu'a ce niveau le fichier '$FOpTiMiSe' contient la derniere valeur de 'J' #
$Z # qui donne un maximum egal a '$NOIR' et donc un champ nul... #
$Z # #
$Z # On notera le 'IFS(...)' destine a garantir la recuperation correcte de ce test #
$Z # ('v $Falias_listG .CA........FiLeT2'). #
$Z else
$Z endif
$Z else
$Z SET P_____OJ=$_____OJ
$Z SET _____OJ=`$xcg/ADD2.01$X a=$_____OJ b=$InCrEmEnT`
$Z endif
$Z FilSTmpE FOpTiMiSe
$Z end
$Z FilSTmpB FFrAcTaL_tmp
$Z FilSTmpB FInTeRpOlE
$Z $xci/valeurs_inte$X \
$Z premiere=$cPremiere derniere=$cDerniere \
$Z lineaire=VRAI \
$Z vD=$_____OJ vA=$_____EJ \
$Z format="f" ChiffresFlot=$_____Jdecimales \
$Z | \
$Z $SE -e "s/^/ J=/" \
$Z >> $FInTeRpOlE
$Z # On notera que les sorties de '$xci/valeurs_inte$X' utilisent exactement le meme formatage #
$Z # que celles du 'main(...)' precedent... #
$Z $PAST $FFrAcTaL $FInTeRpOlE | \
$Z $R "$K_TAB" "$K_BLANC" \
$Z >> $FFrAcTaL_tmp
$Z $DELETE $FFrAcTaL
$Z $CA $FFrAcTaL_tmp \
$Z > $FFrAcTaL
$Z FilSTmpE FInTeRpOlE
$Z FilSTmpE FFrAcTaL_tmp $NEXIST
$Z else
$Z endif
$Z execPar_V $FFrAcTaL
$Z FilSTmpE FFrAcTaL
$Z _____include(_____xiirc/.MANF.DC.5._____U)