_______________________________________________________________________________________________________________________________________
/*************************************************************************************************************************************/
/* */
/* F O N C T I O N S M A T H E M A T I Q U E S D E B A S E S O U S F O R M E " F O N C T I O N S " : */
/* */
/* */
/* Definition : */
/* */
/* Dans ce fichier se trouvent toutes */
/* les fonctions de base mathematiques, */
/* tel le produit scalaire, mais exprimees */
/* sous forme de fonctions et non pas */
/* de "defines". */
/* */
/* */
/* Author of '$ximf/operator.1$FON' : */
/* */
/* Jean-Francois Colonna (LACTAMME, 19870000000000). */
/* */
/*************************************************************************************************************************************/
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O D U I T S C A L A I R E D E D E U X V E C T E U R S 2 D " E N T I E R S " : */
/* */
/*************************************************************************************************************************************/
BFonctionI
DEFV(Common,DEFV(FonctionI,prsI2D(ARGUMENT_POINTERs(vectorA1),ARGUMENT_POINTERs(vectorA2))))
DEFV(Argument,DEFV(vectorI_2D,POINTERs(vectorA1)));
DEFV(Argument,DEFV(vectorI_2D,POINTERs(vectorA2)));
/* Vecteurs Arguments. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD2(MUL2(SOUS(ASI2(vectorA1,extremite,x),ASI2(vectorA1,origine,x))
,SOUS(ASI2(vectorA2,extremite,x),ASI2(vectorA2,origine,x))
)
,MUL2(SOUS(ASI2(vectorA1,extremite,y),ASI2(vectorA1,origine,y))
,SOUS(ASI2(vectorA2,extremite,y),ASI2(vectorA2,origine,y))
)
)
);
Eblock
EFonctionI
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O D U I T S C A L A I R E D E D E U X V E C T E U R S 2 D " F L O T T A N T S " : */
/* */
/*************************************************************************************************************************************/
BFonctionF
DEFV(Common,DEFV(FonctionF,prsF2D(ARGUMENT_POINTERs(vectorA1),ARGUMENT_POINTERs(vectorA2))))
DEFV(Argument,DEFV(vectorF_2D,POINTERs(vectorA1)));
DEFV(Argument,DEFV(vectorF_2D,POINTERs(vectorA2)));
/* Vecteurs Arguments. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD2(MUL2(SOUS(ASI2(vectorA1,extremite,x),ASI2(vectorA1,origine,x))
,SOUS(ASI2(vectorA2,extremite,x),ASI2(vectorA2,origine,x))
)
,MUL2(SOUS(ASI2(vectorA1,extremite,y),ASI2(vectorA1,origine,y))
,SOUS(ASI2(vectorA2,extremite,y),ASI2(vectorA2,origine,y))
)
)
);
Eblock
EFonctionF
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O D U I T S C A L A I R E D E D E U X V E C T E U R S 3 D " E N T I E R S " : */
/* */
/*************************************************************************************************************************************/
BFonctionI
DEFV(Common,DEFV(FonctionI,prsI3D(ARGUMENT_POINTERs(vectorA1),ARGUMENT_POINTERs(vectorA2))))
DEFV(Argument,DEFV(vectorI_3D,POINTERs(vectorA1)));
DEFV(Argument,DEFV(vectorI_3D,POINTERs(vectorA2)));
/* Vecteurs Arguments. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD3(MUL2(SOUS(ASI2(vectorA1,extremite,x),ASI2(vectorA1,origine,x))
,SOUS(ASI2(vectorA2,extremite,x),ASI2(vectorA2,origine,x))
)
,MUL2(SOUS(ASI2(vectorA1,extremite,y),ASI2(vectorA1,origine,y))
,SOUS(ASI2(vectorA2,extremite,y),ASI2(vectorA2,origine,y))
)
,MUL2(SOUS(ASI2(vectorA1,extremite,z),ASI2(vectorA1,origine,z))
,SOUS(ASI2(vectorA2,extremite,z),ASI2(vectorA2,origine,z))
)
)
);
Eblock
EFonctionI
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O D U I T S C A L A I R E D E D E U X V E C T E U R S 3 D " F L O T T A N T S " : */
/* */
/*************************************************************************************************************************************/
BFonctionF
DEFV(Common,DEFV(FonctionF,prsF3D(ARGUMENT_POINTERs(vectorA1),ARGUMENT_POINTERs(vectorA2))))
DEFV(Argument,DEFV(vectorF_3D,POINTERs(vectorA1)));
DEFV(Argument,DEFV(vectorF_3D,POINTERs(vectorA2)));
/* Vecteurs Arguments. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD3(MUL2(SOUS(ASI2(vectorA1,extremite,x),ASI2(vectorA1,origine,x))
,SOUS(ASI2(vectorA2,extremite,x),ASI2(vectorA2,origine,x))
)
,MUL2(SOUS(ASI2(vectorA1,extremite,y),ASI2(vectorA1,origine,y))
,SOUS(ASI2(vectorA2,extremite,y),ASI2(vectorA2,origine,y))
)
,MUL2(SOUS(ASI2(vectorA1,extremite,z),ASI2(vectorA1,origine,z))
,SOUS(ASI2(vectorA2,extremite,z),ASI2(vectorA2,origine,z))
)
)
);
Eblock
EFonctionF
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* N O R M E D ' U N V E C T E U R 2 D " E N T I E R S " : */
/* */
/*************************************************************************************************************************************/
BFonctionI
DEFV(Common,DEFV(FonctionI,normI2D(ARGUMENT_POINTERs(vectorA))))
DEFV(Argument,DEFV(vectorI_2D,POINTERs(vectorA)));
/* Vecteur Argument. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(INTE(RACX(prsI2D(vectorA,vectorA))));
Eblock
EFonctionI
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* N O R M E D ' U N V E C T E U R 2 D " F L O T T A N T S " : */
/* */
/*************************************************************************************************************************************/
BFonctionF
DEFV(Common,DEFV(FonctionF,normF2D(ARGUMENT_POINTERs(vectorA))))
DEFV(Argument,DEFV(vectorF_2D,POINTERs(vectorA)));
/* Vecteur Argument. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(RACX(prsF2D(vectorA,vectorA)));
Eblock
EFonctionF
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* N O R M E D ' U N V E C T E U R 3 D " E N T I E R S " : */
/* */
/*************************************************************************************************************************************/
BFonctionI
DEFV(Common,DEFV(FonctionI,normI3D(ARGUMENT_POINTERs(vectorA))))
DEFV(Argument,DEFV(vectorI_3D,POINTERs(vectorA)));
/* Vecteur Argument. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(INTE(RACX(prsI3D(vectorA,vectorA))));
Eblock
EFonctionI
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* N O R M E D ' U N V E C T E U R 3 D " F L O T T A N T S " : */
/* */
/*************************************************************************************************************************************/
BFonctionF
DEFV(Common,DEFV(FonctionF,normF3D(ARGUMENT_POINTERs(vectorA))))
DEFV(Argument,DEFV(vectorF_3D,POINTERs(vectorA)));
/* Vecteur Argument. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(RACX(prsF3D(vectorA,vectorA)));
Eblock
EFonctionF
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* T H E O R E M E D E P Y T H A G O R E S U R U N V E C T E U R 2 D " E N T I E R " : */
/* */
/*************************************************************************************************************************************/
BFonctionI
DEFV(Common,DEFV(FonctionI,pytI2D(ARGUMENT_POINTERs(delta))))
DEFV(Argument,DEFV(deltaI_2D,POINTERs(delta)));
/* Vecteur translatable argument. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD2(EXP2(ASI1(delta,dx))
,EXP2(ASI1(delta,dy))
)
);
Eblock
EFonctionI
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* T H E O R E M E D E P Y T H A G O R E S U R U N V E C T E U R 2 D " F L O T T A N T " : */
/* */
/*************************************************************************************************************************************/
BFonctionF
DEFV(Common,DEFV(FonctionF,pytF2D(ARGUMENT_POINTERs(delta))))
DEFV(Argument,DEFV(deltaF_2D,POINTERs(delta)));
/* Vecteur translatable argument. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD2(EXP2(ASI1(delta,dx))
,EXP2(ASI1(delta,dy))
)
);
Eblock
EFonctionF
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* T H E O R E M E D E P Y T H A G O R E S U R U N V E C T E U R 3 D " E N T I E R " : */
/* */
/*************************************************************************************************************************************/
BFonctionI
DEFV(Common,DEFV(FonctionI,pytI3D(ARGUMENT_POINTERs(delta))))
DEFV(Argument,DEFV(deltaI_3D,POINTERs(delta)));
/* Vecteur translatable argument. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD3(EXP2(ASI1(delta,dx))
,EXP2(ASI1(delta,dy))
,EXP2(ASI1(delta,dz))
)
);
Eblock
EFonctionI
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* T H E O R E M E D E P Y T H A G O R E S U R U N V E C T E U R 3 D " F L O T T A N T " : */
/* */
/*************************************************************************************************************************************/
BFonctionF
DEFV(Common,DEFV(FonctionF,pytF3D(ARGUMENT_POINTERs(delta))))
DEFV(Argument,DEFV(deltaF_3D,POINTERs(delta)));
/* Vecteur translatable argument. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD3(EXP2(ASI1(delta,dx))
,EXP2(ASI1(delta,dy))
,EXP2(ASI1(delta,dz))
)
);
Eblock
EFonctionF
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O D U I T D E D E U X D E P L A C E M E N T S 2 D " E N T I E R S " : */
/* */
/*************************************************************************************************************************************/
BFonctionI
DEFV(Common,DEFV(FonctionI,prdI2D(ARGUMENT_POINTERs(deltaA1),ARGUMENT_POINTERs(deltaA2))))
DEFV(Argument,DEFV(deltaI_2D,POINTERs(deltaA1)));
DEFV(Argument,DEFV(deltaI_2D,POINTERs(deltaA2)));
/* Vecteurs Arguments. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD2(MUL2(ASI1(deltaA1,dx),ASI1(deltaA2,dx))
,MUL2(ASI1(deltaA1,dy),ASI1(deltaA2,dy))
)
);
Eblock
EFonctionI
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O D U I T D E D E U X D E P L A C E M E N T S 2 D " F L O T T A N T S " : */
/* */
/*************************************************************************************************************************************/
BFonctionF
DEFV(Common,DEFV(FonctionF,prdF2D(ARGUMENT_POINTERs(deltaA1),ARGUMENT_POINTERs(deltaA2))))
DEFV(Argument,DEFV(deltaF_2D,POINTERs(deltaA1)));
DEFV(Argument,DEFV(deltaF_2D,POINTERs(deltaA2)));
/* Vecteurs Arguments. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD2(MUL2(ASI1(deltaA1,dx),ASI1(deltaA2,dx))
,MUL2(ASI1(deltaA1,dy),ASI1(deltaA2,dy))
)
);
Eblock
EFonctionF
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O D U I T D E D E U X D E P L A C E M E N T S 3 D " E N T I E R S " : */
/* */
/*************************************************************************************************************************************/
BFonctionI
DEFV(Common,DEFV(FonctionI,prdI3D(ARGUMENT_POINTERs(deltaA1),ARGUMENT_POINTERs(deltaA2))))
DEFV(Argument,DEFV(deltaI_3D,POINTERs(deltaA1)));
DEFV(Argument,DEFV(deltaI_3D,POINTERs(deltaA2)));
/* Vecteurs Arguments. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD3(MUL2(ASI1(deltaA1,dx),ASI1(deltaA2,dx))
,MUL2(ASI1(deltaA1,dy),ASI1(deltaA2,dy))
,MUL2(ASI1(deltaA1,dz),ASI1(deltaA2,dz))
)
);
Eblock
EFonctionI
_______________________________________________________________________________________________________________________________________
_______________________________________________________________________________________________________________________________________
/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/* */
/* P R O D U I T D E D E U X D E P L A C E M E N T S 3 D " F L O T T A N T S " : */
/* */
/*************************************************************************************************************************************/
BFonctionF
DEFV(Common,DEFV(FonctionF,prdF3D(ARGUMENT_POINTERs(deltaA1),ARGUMENT_POINTERs(deltaA2))))
DEFV(Argument,DEFV(deltaF_3D,POINTERs(deltaA1)));
DEFV(Argument,DEFV(deltaF_3D,POINTERs(deltaA2)));
/* Vecteurs Arguments. */
/*-----------------------------------------------------------------------------------------------------------------------------------*/
Bblock
/*..............................................................................................................................*/
RETU(ADD3(MUL2(ASI1(deltaA1,dx),ASI1(deltaA2,dx))
,MUL2(ASI1(deltaA1,dy),ASI1(deltaA2,dy))
,MUL2(ASI1(deltaA1,dz),ASI1(deltaA2,dz))
)
);
Eblock
EFonctionF
_______________________________________________________________________________________________________________________________________
Copyright © Jean-François Colonna, 2019-2021.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / Ecole Polytechnique, 2019-2021.