```/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*         D E V E L O P P E M E N T   E N   S E R I E   D U   C O S I N U S   E T   D U   S I N U S                                 */
/*         C I R C U L A I R E   E T   H Y P E R B O L I Q U E  :                                                                    */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '\$xtc/DeveloppementCosinusSinusCirculaireHyperbolique.01\$c' :                                                    */
/*                                                                                                                                   */
/*                    Jean-Francois Colonna (LACTAMME, 20210208105035).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

#include  "INCLUDES.01.I"

#define   ANGLE_0                                                                                                                       \
0
#define   ANGLE_N                                                                                                                       \
PI_SUR_4
#define   PAS                                                                                                                           \
0.1

#define   N0                                                                                                                            \
0
#define   N                                                                                                                             \
9

double    CosinusSinus(u,Cosinus,CirculaireHyperbolique)
double    u;
int       Cosinus;
/* Indicateur :                                                                              */
/*                                                                                           */
/*                  VRAI ==>  cos(...)                                                       */
/*                  FAUX ==>  sin(...)                                                       */
/*                                                                                           */
int       CirculaireHyperbolique;
/* Indicateur :                                                                              */
/*                                                                                           */
/*                  -1   ==>  Circulaire                                                     */
/*                  +1   ==>  Hyperbolique                                                   */
/*                                                                                           */
{
double    serie=0;
double    numerateur=1;
double    denominateur=1;
int       signe=+1;

int       n;

for       (n=N0 ; n<=N ; n++)
{
if        (EST_IMPAIR(n))
{
if        (IFEQ(Cosinus,FAUX))
{
serie = serie + (signe*(numerateur/denominateur));
signe = CirculaireHyperbolique*signe;
/* Cas du 'sin(...)'.                                                                        */
}
else
{
}
}
else
{
if        (IFEQ(Cosinus,VRAI))
{
serie = serie + (signe*(numerateur/denominateur));
signe = CirculaireHyperbolique*signe;
/* Cas du 'cos(...)'.                                                                        */
}
else
{
}
}

numerateur = numerateur*u;
denominateur = denominateur*(n+1);
}

return(serie);
}

main()
{
double    angle;

for       (angle=ANGLE_0 ; angle<=ANGLE_N ; angle=angle+PAS)
{
printf("serie=%.8f --> cosc=%.8f          serie=%.8f --> sinc=%.8f"
,CosinusSinus(angle,VRAI,-1),cos(angle)
,CosinusSinus(angle,FAUX,-1),sin(angle)
);
printf("          ");
printf("serie=%.8f --> cosh=%.8f          serie=%.8f --> cosh=%.8f"
,CosinusSinus(angle,VRAI,+1),cosh(angle)
,CosinusSinus(angle,FAUX,+1),sinh(angle)
);
printf("\n");
}
}
```