2. Syntaxe#

/ fonction
/ fonction_c
/ nappe = CALC_FONCTION(
    ◆ / FFT = _F(
           ◆ FONCTION = fonction / fonction_c,
           ◇ METHODE = / "COMPLET",
                       / "PROL_ZERO" (par défaut),
                       / "TRONCATURE",
           # Si: is_type("FONCTION")==fonction_c
               ◇ SYME = / "NON",
                        / "OUI" (par défaut),
        ),
      / DERIVE = _F(
           ◇ METHODE = "DIFF_CENTREE",
           ◆ FONCTION = fonction,
        ),
      / INTEGRE = _F(
           ◇ METHODE = / "SIMPSON",
                       / "TRAPEZE" (par défaut),
           ◆ FONCTION = fonction,
           ◇ COEF = float (défaut: 0.0),
        ),
      / SPEC_OSCI = _F(
           ◇ TYPE_RESU = / "FONCTION",
                         / "NAPPE" (par défaut),
           ◇ METHODE = / "HARMO",
                       / "NIGAM" (par défaut),
                       / "RICE",
           ◆ FONCTION = fonction,
           ◇ AMOR_REDUIT = list[float],
           ◇ LIST_FREQ = listr8,
           ◇ FREQ = list[float],
           ◆ NORME = float,
           # Si: equal_to("METHODE", 'NIGAM')
               ◇ NATURE_FONC = "ACCE",
               ◇ NATURE = / "ACCE" (par défaut),
                          / "DEPL",
                          / "VITE",
           # Si: equal_to("METHODE", 'RICE')
               ◆ DUREE = float,
               ◇ NATURE_FONC = "DSP",
               ◇ NATURE = / "ACCE" (par défaut),
                          / "DEPL",
                          / "VITE",
           # Si: equal_to("METHODE", 'HARMO')
               ◇ PSEUDO = / "NON",
                          / "OUI" (par défaut),
               ◇ NATURE_FONC = "ACCE",
               # Si: equal_to("PSEUDO", 'NON')
                   ◇ NATURE = / "ACCE" (par défaut),
                              / "DEPL",
                              / "VITE",
               # Si: equal_to("PSEUDO", 'OUI')
                   ◇ NATURE = / "ACCE" (par défaut),
                              / "DEPL",
                              / "VITE",
        ),
      / DSP = _F(
           ◆ FONCTION = fonction,
           ◆ AMOR_REDUIT = float,
           ◆ NORME = float,
           ◆ / LIST_FREQ = listr8,
             / FREQ_PAS = float,
           ◇ NB_ITER = int (défaut: 10),
           ◇ FREQ_FILTRE_ZPA = float (défaut: 0.0),
           ◇ NB_FREQ_LISS = int (défaut: 0),
           ◆ FREQ_COUP = float,
           ◆ DUREE = float,
           ◇ FRACT = float (défaut: 0.5),
        ),
      / CORR_ACCE = _F(
           ◆ FONCTION = fonction,
           ◆ METHODE = / "FILTRAGE",
                       / "POLYNOME",
           # Si: equal_to("METHODE", 'FILTRAGE')
               ◇ FREQ_FILTRE = float (défaut: 0.05),
           # Si: equal_to("METHODE", 'POLYNOME')
               ◇ CORR_DEPL = / "NON" (par défaut),
                             / "OUI",
        ),
      / COMB = _F(
           ◆ FONCTION = fonction / nappe,
           ◆ COEF = float,
        ),
      / COMB_C = _F(
           ◆ FONCTION = fonction / fonction_c / nappe,
           ◆ / COEF_R = float,
             / COEF_C = complex,
        ),
      / MULT = _F(
           ◆ FONCTION = fonction / fonction_c / nappe,
        ),
      / ASSE = _F(
           ◆ FONCTION = list[fonction],
           ◇ SURCHARGE = / "DROITE" (par défaut),
                         / "GAUCHE",
        ),
      / INVERSE = _F(
           ◆ FONCTION = fonction,
        ),
      / ABS = _F(
           ◆ FONCTION = fonction,
        ),
      / ENVELOPPE = _F(
           ◆ FONCTION = list[fonction / nappe],
           ◇ CRITERE = / "INF",
                       / "SUP" (par défaut),
        ),
      / COMPOSE = _F(
           ◆ FONC_RESU = fonction,
           ◆ FONC_PARA = fonction,
        ),
      / EXTRACTION = _F(
           ◆ FONCTION = fonction_c,
           ◆ PARTIE = / "IMAG",
                      / "MODULE",
                      / "PHASE",
                      / "REEL",
        ),
      / PUISSANCE = _F(
           ◆ FONCTION = fonction / nappe,
           ◇ EXPOSANT = int (défaut: 1),
        ),
      / PROL_SPEC_OSCI = _F(
           ◆ FONCTION = fonction,
           ◆ NORME = float,
           ◆ DEPL_MAX = float,
        ),
      / INTEGRE_FREQ = _F(
           ◆ FONCTION = fonction,
           ◇ NIVEAU = / 1,
                      / 2 (par défaut),
           ◇ FREQ_FILTRE = float (défaut: 0.0),
           ◆ FREQ_COUP = float,
        ),
      / DERIVE_FREQ = _F(
           ◆ FONCTION = fonction,
           ◇ NIVEAU = / 1,
                      / 2 (par défaut),
           ◇ FREQ_COUP = float (défaut: 50.0),
        ),
      / LISS_ENVELOP = _F(
           ◆ / NAPPE = list[nappe],
             / FONCTION = fonction,
             / TABLE = list[table],
           ◇ LIST_AMOR = list[float],
           ◆ OPTION = / "CONCEPTION",
                      / "VERIFICATION",
           # Si: equal_to("OPTION", 'VERIFICATION')
               ◇ ELARG = list[float],
           ◇ FREQ_MIN = float,
           ◇ FREQ_MAX = float,
           ◇ LIST_FREQ = list[float],
           ◇ NB_FREQ_LISS = list[int] (défaut: (10,)),
           ◇ ZPA = float,
        ),
      / FRACTILE = _F(
           ◆ FONCTION = list[fonction / nappe],
           ◇ FRACT = float (défaut: 1.0),
        ),
      / REGR_POLYNOMIALE = _F(
           ◆ FONCTION = fonction,
           ◆ DEGRE = int,
        ),
      / MOYENNE = _F(
           ◆ FONCTION = list[fonction / nappe],
        ),
      / COHERENCE = _F(
           ◆ NAPPE_1 = nappe,
           ◆ NAPPE_2 = nappe,
           ◇ FREQ_COUP = float,
           ◇ OPTION = / "DUREE_PHASE_FORTE",
                      / "TOUT" (par défaut),
           # Si: equal_to("OPTION", 'DUREE_PHASE_FORTE')
               ◇ BORNE_INF = float (défaut: 0.05),
               ◇ BORNE_SUP = float (défaut: 0.95),
           ◇ NB_FREQ_LISS = int (défaut: 12),
        ),
      / INTERPOL_FFT = _F(
           ◆ FONCTION = fonction,
           ◆ PAS_INST = float,
           ◇ PRECISION = float (défaut: 0.01),
        ),
    # Si: exists("COMB") or exists("COMB_C") or exists("REGR_POLYNOMIALE") or exists("MULT")
        ◇ LIST_PARA = listr8,
    ◇ NOM_PARA = / "ABSC",
                 / "AMOR",
                 / "DRX",
                 / "DRY",
                 / "DRZ",
                 / "DSP",
                 / "DTAN",
                 / "DX",
                 / "DY",
                 / "DZ",
                 / "ENDO",
                 / "EPAIS",
                 / "EPSI",
                 / "EXCENT",
                 / "FREQ",
                 / "HYDR",
                 / "INST",
                 / "IRRA",
                 / "META",
                 / "NEUT1",
                 / "NEUT2",
                 / "NEUT3",
                 / "NEUT4",
                 / "NORM",
                 / "NUME_ORDRE",
                 / "PAD",
                 / "PCAP",
                 / "PGAZ",
                 / "PLIQ",
                 / "PORO",
                 / "PULS",
                 / "PVAP",
                 / "SAT",
                 / "SECH",
                 / "SIGM",
                 / "TEMP",
                 / "TSEC",
                 / "VITE",
                 / "X",
                 / "XF",
                 / "Y",
                 / "YF",
                 / "Z",
                 / "ZF",
    ◇ NOM_RESU = text,
    ◇ INTERPOL = / "LIN",
                 / "LOG",
    ◇ PROL_DROITE = / "CONSTANT",
                    / "EXCLU",
                    / "LINEAIRE",
    ◇ PROL_GAUCHE = / "CONSTANT",
                    / "EXCLU",
                    / "LINEAIRE",
    ◇ NOM_PARA_FONC = / "ABSC",
                      / "AMOR",
                      / "DRX",
                      / "DRY",
                      / "DRZ",
                      / "DSP",
                      / "DTAN",
                      / "DX",
                      / "DY",
                      / "DZ",
                      / "ENDO",
                      / "EPAIS",
                      / "EPSI",
                      / "EXCENT",
                      / "FREQ",
                      / "HYDR",
                      / "INST",
                      / "IRRA",
                      / "META",
                      / "NEUT1",
                      / "NEUT2",
                      / "NEUT3",
                      / "NEUT4",
                      / "NORM",
                      / "NUME_ORDRE",
                      / "PAD",
                      / "PCAP",
                      / "PGAZ",
                      / "PLIQ",
                      / "PORO",
                      / "PULS",
                      / "PVAP",
                      / "SAT",
                      / "SECH",
                      / "SIGM",
                      / "TEMP",
                      / "TSEC",
                      / "VITE",
                      / "X",
                      / "XF",
                      / "Y",
                      / "YF",
                      / "Z",
                      / "ZF",
    ◇ INTERPOL_FONC = / "LIN",
                      / "LOG",
    ◇ PROL_DROITE_FONC = / "CONSTANT",
                         / "EXCLU",
                         / "LINEAIRE",
    ◇ PROL_GAUCHE_FONC = / "CONSTANT",
                         / "EXCLU",
                         / "LINEAIRE",
    ◇ INFO = / 1 (par défaut),
             / 2,
)

◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles