src/libm/s_copysign.c
author Sam Lantinga <slouken@libsdl.org>
Mon, 22 Jun 2015 23:36:06 -0700
changeset 9776 952ff8a5076f
parent 6044 35448a5ea044
child 11683 48bcba563d9c
permissions -rw-r--r--
Fixed bug 3030 - SDL_RecreateWindow fails to restore title, icon, etc.

Adam M.

It loses the title and icon when window recreation fails. For instance, this may happen when trying to create an OpenGL ES window on a system that doesn't support it. But at that point, the title and icon have already been lost.
slouken@2756
     1
/* @(#)s_copysign.c 5.1 93/09/24 */
slouken@2756
     2
/*
slouken@2756
     3
 * ====================================================
slouken@2756
     4
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
slouken@2756
     5
 *
slouken@2756
     6
 * Developed at SunPro, a Sun Microsystems, Inc. business.
slouken@2756
     7
 * Permission to use, copy, modify, and distribute this
slouken@2756
     8
 * software is freely granted, provided that this notice
slouken@2756
     9
 * is preserved.
slouken@2756
    10
 * ====================================================
slouken@2756
    11
 */
slouken@2756
    12
slouken@2756
    13
#if defined(LIBM_SCCS) && !defined(lint)
slouken@3162
    14
static const char rcsid[] =
slouken@2756
    15
    "$NetBSD: s_copysign.c,v 1.8 1995/05/10 20:46:57 jtc Exp $";
slouken@2756
    16
#endif
slouken@2756
    17
slouken@2756
    18
/*
slouken@2756
    19
 * copysign(double x, double y)
slouken@2756
    20
 * copysign(x,y) returns a value with the magnitude of x and
slouken@2756
    21
 * with the sign bit of y.
slouken@2756
    22
 */
slouken@2756
    23
slouken@6044
    24
#include "math_libm.h"
slouken@2756
    25
#include "math_private.h"
slouken@2756
    26
slouken@2756
    27
libm_hidden_proto(copysign)
slouken@2756
    28
#ifdef __STDC__
slouken@2756
    29
     double copysign(double x, double y)
slouken@2756
    30
#else
slouken@2756
    31
     double copysign(x, y)
slouken@2756
    32
     double x, y;
slouken@2756
    33
#endif
slouken@2756
    34
{
slouken@2756
    35
    u_int32_t hx, hy;
slouken@2756
    36
    GET_HIGH_WORD(hx, x);
slouken@2756
    37
    GET_HIGH_WORD(hy, y);
slouken@2756
    38
    SET_HIGH_WORD(x, (hx & 0x7fffffff) | (hy & 0x80000000));
slouken@2756
    39
    return x;
slouken@2756
    40
}
slouken@2756
    41
slouken@2756
    42
libm_hidden_def(copysign)