diff options
author | Mark H Weaver <mhw@netris.org> | 2019-05-06 21:13:18 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2019-05-07 04:37:52 -0400 |
commit | 74d536bf52c682ea71bb94f2e909ff24f98ebc1d (patch) | |
tree | b3c1f0fbce4bd63c2f961a48ff069fcbd110a106 /libguile | |
parent | 16b4bac35510216f2cc28f12fc0a5afbf42c6223 (diff) |
Fix indentation in scm_sum.
Diffstat (limited to 'libguile')
-rw-r--r-- | libguile/numbers.c | 135 |
1 files changed, 68 insertions, 67 deletions
diff --git a/libguile/numbers.c b/libguile/numbers.c index 31fdee47a..8c24def50 100644 --- a/libguile/numbers.c +++ b/libguile/numbers.c @@ -7551,80 +7551,81 @@ scm_sum (SCM x, SCM y) { scm_t_inum xx = SCM_I_INUM (x); return scm_c_make_rectangular (xx + SCM_COMPLEX_REAL (y), - SCM_COMPLEX_IMAG (y)); + SCM_COMPLEX_IMAG (y)); } else if (SCM_FRACTIONP (y)) return scm_i_make_ratio (scm_sum (SCM_FRACTION_NUMERATOR (y), - scm_product (x, SCM_FRACTION_DENOMINATOR (y))), - SCM_FRACTION_DENOMINATOR (y)); + scm_product (x, SCM_FRACTION_DENOMINATOR (y))), + SCM_FRACTION_DENOMINATOR (y)); else return scm_wta_dispatch_2 (g_sum, x, y, SCM_ARGn, s_sum); - } else if (SCM_BIGP (x)) - { - if (SCM_I_INUMP (y)) - { - scm_t_inum inum; - int bigsgn; - add_big_inum: - inum = SCM_I_INUM (y); - if (inum == 0) - return x; - bigsgn = mpz_sgn (SCM_I_BIG_MPZ (x)); - if (inum < 0) - { - SCM result = scm_i_mkbig (); - mpz_sub_ui (SCM_I_BIG_MPZ (result), SCM_I_BIG_MPZ (x), - inum); - scm_remember_upto_here_1 (x); - /* we know the result will have to be a bignum */ - if (bigsgn == -1) - return result; - return scm_i_normbig (result); - } - else - { - SCM result = scm_i_mkbig (); - mpz_add_ui (SCM_I_BIG_MPZ (result), SCM_I_BIG_MPZ (x), inum); - scm_remember_upto_here_1 (x); - /* we know the result will have to be a bignum */ - if (bigsgn == 1) - return result; - return scm_i_normbig (result); - } - } - else if (SCM_BIGP (y)) - { - SCM result = scm_i_mkbig (); - int sgn_x = mpz_sgn (SCM_I_BIG_MPZ (x)); - int sgn_y = mpz_sgn (SCM_I_BIG_MPZ (y)); - mpz_add (SCM_I_BIG_MPZ (result), - SCM_I_BIG_MPZ (x), - SCM_I_BIG_MPZ (y)); - scm_remember_upto_here_2 (x, y); - /* we know the result will have to be a bignum */ - if (sgn_x == sgn_y) - return result; - return scm_i_normbig (result); - } - else if (SCM_REALP (y)) - { - double result = mpz_get_d (SCM_I_BIG_MPZ (x)) + SCM_REAL_VALUE (y); - scm_remember_upto_here_1 (x); - return scm_i_from_double (result); - } - else if (SCM_COMPLEXP (y)) - { - double real_part = (mpz_get_d (SCM_I_BIG_MPZ (x)) - + SCM_COMPLEX_REAL (y)); - scm_remember_upto_here_1 (x); - return scm_c_make_rectangular (real_part, SCM_COMPLEX_IMAG (y)); - } - else if (SCM_FRACTIONP (y)) - return scm_i_make_ratio (scm_sum (SCM_FRACTION_NUMERATOR (y), + } + else if (SCM_BIGP (x)) + { + if (SCM_I_INUMP (y)) + { + scm_t_inum inum; + int bigsgn; + add_big_inum: + inum = SCM_I_INUM (y); + if (inum == 0) + return x; + bigsgn = mpz_sgn (SCM_I_BIG_MPZ (x)); + if (inum < 0) + { + SCM result = scm_i_mkbig (); + mpz_sub_ui (SCM_I_BIG_MPZ (result), SCM_I_BIG_MPZ (x), - inum); + scm_remember_upto_here_1 (x); + /* we know the result will have to be a bignum */ + if (bigsgn == -1) + return result; + return scm_i_normbig (result); + } + else + { + SCM result = scm_i_mkbig (); + mpz_add_ui (SCM_I_BIG_MPZ (result), SCM_I_BIG_MPZ (x), inum); + scm_remember_upto_here_1 (x); + /* we know the result will have to be a bignum */ + if (bigsgn == 1) + return result; + return scm_i_normbig (result); + } + } + else if (SCM_BIGP (y)) + { + SCM result = scm_i_mkbig (); + int sgn_x = mpz_sgn (SCM_I_BIG_MPZ (x)); + int sgn_y = mpz_sgn (SCM_I_BIG_MPZ (y)); + mpz_add (SCM_I_BIG_MPZ (result), + SCM_I_BIG_MPZ (x), + SCM_I_BIG_MPZ (y)); + scm_remember_upto_here_2 (x, y); + /* we know the result will have to be a bignum */ + if (sgn_x == sgn_y) + return result; + return scm_i_normbig (result); + } + else if (SCM_REALP (y)) + { + double result = mpz_get_d (SCM_I_BIG_MPZ (x)) + SCM_REAL_VALUE (y); + scm_remember_upto_here_1 (x); + return scm_i_from_double (result); + } + else if (SCM_COMPLEXP (y)) + { + double real_part = (mpz_get_d (SCM_I_BIG_MPZ (x)) + + SCM_COMPLEX_REAL (y)); + scm_remember_upto_here_1 (x); + return scm_c_make_rectangular (real_part, SCM_COMPLEX_IMAG (y)); + } + else if (SCM_FRACTIONP (y)) + return scm_i_make_ratio (scm_sum (SCM_FRACTION_NUMERATOR (y), scm_product (x, SCM_FRACTION_DENOMINATOR (y))), SCM_FRACTION_DENOMINATOR (y)); - else - return scm_wta_dispatch_2 (g_sum, x, y, SCM_ARGn, s_sum); - } + else + return scm_wta_dispatch_2 (g_sum, x, y, SCM_ARGn, s_sum); + } else if (SCM_REALP (x)) { if (SCM_I_INUMP (y)) |