_______________________________________________________________________________________________________________________________________
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        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.