RicardasSim icon

copysign

RicardasSim | PRO | 06/08/20 09:55:54 PM UTC | 0 ⭐ | 1438 👁️ | Never ⏰ | []
C |

1.12 KB

|

None

|

0 👍

/

0 👎

//-std=c99 -Wall -Wextra -Wpedantic -Wshadow
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main()
{
 
    double val_d;
 
    val_d = copysign( 0.0, -1.0 );
 
    printf("(1) %lf\n", val_d);
 
    val_d = copysign( 0.0, 1.0 );
 
    printf("(2) %lf\n", val_d);
 
    val_d = copysign( 1.0, -1.0 );
 
    printf("(3) %lf\n", val_d);
 
    val_d = copysign( 1.0, 1.0 );
 
    printf("(4) %lf\n", val_d);
 
    val_d = copysign( -1.2, 0.1 );
 
    printf("(5) %lf\n", val_d);
 
    val_d = copysign( -1.2, -0.1 );
 
    printf("(6) %lf\n", val_d);
 
 
 
    float val_f;
 
    val_f = copysignf( 2.0f, -5.0f );
 
    printf("(7) %f\n", val_f);
 
    val_f = copysignf( 20.0f, 123.0f );
 
    printf("(8) %f\n", val_f);
 
    val_f = copysignf( -0.123f, -123.0f );
 
    printf("(9) %f\n", val_f);
 
 
 
    long double val_ld;
 
    val_ld = copysignl( 123.12 , -0.123 );
 
    printf("(10) %Lf\n", val_ld);
 
    return 0;
}
 
/*
output:
 
(1) -0.000000
(2) 0.000000
(3) -1.000000
(4) 1.000000
(5) 1.200000
(6) -1.200000
(7) -2.000000
(8) 20.000000
(9) -0.123000
(10) -123.120000
 
*/

Comments