guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] branch main updated (52e310a2a -> 222b32086)


From: Andy Wingo
Subject: [Guile-commits] branch main updated (52e310a2a -> 222b32086)
Date: Thu, 13 Jan 2022 03:40:02 -0500 (EST)

wingo pushed a change to branch main
in repository guile.

    from 52e310a2a Avoid quadratic behavior in id-var-name
     new c768115d9 Add new integers.[ch]
     new 5321899b9 Implement odd? and even? with new integer lib
     new 44c654aa3 Implement abs with new integer lib
     new 31da9be6c Implement floor-quotient with new integer lib
     new 2e8036ff0 Implement floor-remainder with new integer lib
     new 8a6353745 Implement floor-divide with new integer lib
     new c1d8dd5e6 Implement ceiling-quotient with new integer lib
     new 55f93d7d2 Implement ceiling-remainder with new integer lib
     new 1e1b23022 Implement ceiling-divide with new integer lib
     new ff636774b Implement truncate-quotient with new integer lib
     new cbd62a0ef Implement truncate-remainder with new integer lib
     new f8a92773a Implement truncate-divide with new integer lib
     new 0ccdf06c8 Implement centered-quotient with new integer lib
     new 99b046d58 Implement centered-remainder with new integer lib
     new ccb78fc7b Implement centered-divide with new integer lib
     new 9a358a963 Implement round-quotient with new integer lib
     new b11464264 Implement round-remainder with new integer lib
     new 025c7c804 Implement round-divide with new integer lib
     new 1e0797db7 Implement gcd with new integer lib
     new 6fa9fcb31 Implement lcm with new integer lib
     new 4a380aa6a Implement scm_logand with new integer library
     new 7e85ffa82 Implement scm_logior with new integer library
     new 459163fca Implement scm_logxor with new integer library
     new 6298d7311 Implement scm_logtest with new integer library
     new 89cd48fca Implement scm_logbit_p with new integer library
     new b41714d27 Implement scm_lognot with new integer library
     new 2d5dc6a14 Implement scm_modulo_expt with new integer library
     new 3ad3ac740 Reimplement integer-expt in Scheme
     new 35861b28b Implement scm_ash with new integer library
     new 88f56e91a Implement scm_bit_extract with new integer library
     new 7ec40fe5b Implement scm_logcount with new integer library
     new 8b99ace65 Integer library takes bignums via opaque struct pointer
     new fc4228c19 Implement scm_integer_length with new integer library
     new fc36cd610 Implement integer-to-string with new integer library
     new 24ce3cedf Simplify scm_bigprint
     new ef5ade30f Build scm_integer_p on scm_is_integer, not vice versa
     new 44bee0851 Reimplement = on integer lib, clean up scm_num_eq_p
     new 54d772252 Clean up <, reimplement in terms of integer lib
     new f507c9738 positive?, negative? use integer lib
     new 281aed8aa Simplify implementation of min, max
     new 10953e067 Clean up scm_sum
     new c096670d3 Simplify scm_difference, use integer lib
     new 9179525a0 Simplify scm_product, use integer lib
     new 3e08c9cec Remove support for allowing exact numbers to be divided by 
zero
     new 8b2d58b99 Clean up scm_divide
     new f2390e510 Fix deprecated bit-count* when counting 0 bits
     new 7c53325c3 Fix scm_integer_to_double_z to always round; clean ups
     new f4db3ca3f Reimplement scm_is_{un,}signed_integer for bignums
     new 27910181c Reimplement scm_from_int8 etc
     new 717e787da Reimplement scm_{to,from}_{int32,uint32}
     new 1802ed17b Reimplement scm_{to,from}_{int64,uint64}
     new 106c5de5f Implement scm_{to,from}_wchar inline
     new debcccc21 Remove unused conv-{u,}integer.i.c
     new 9a91c20a5 scm_to_mpz uses integer lib
     new 63a18a6c1 Reimplement exact-integer-sqrt with integers.[ch]
     new 124d88922 Refactor scm_sqrt in terms of integers.[ch]
     new f167627bb Expose frexp from integers lib
     new c06fc3df5 Remove dead bignum frexp code from numbers.c
     new 0754dbf3e divide2double refactor
     new a4524da8c Simplify scm_exact_integer_quotient
     new 3d56a9073 Remove last non-admin SCM_I_BIG_MPZ uses in numbers.c
     new 7029a9c49 Simplify magnitude, angle
     new 0c502a4d3 Use scm_integer_to_double_z in numbers.c instead of big2dbl
     new bdddef3cf Avoid scm_i_mkbig outside numbers.c.
     new 399d0c874 Start porting srfi-60 off the bad bignum interfaces
     new e78bcdc29 Finish srfi-60 port off old scm mpz API
     new a0765f564 scm_to_ipv6 uses scm_to_mpz
     new aa5455ea9 Bignums avoid both custom GMP allocator and finalizers
     new 443d23982 take_mpz optimization
     new eac47c3e4 Fix bug when making mpz from 0
     new 548122267 Re-rewrite integer-expt in C
     new d89f75c53 Optimize scm_integer_mul_zi
     new ad6811a12 Optimize scm_integer_mul_zz.
     new 272351371 Less pessimal scm_integer_sub_zi
     new cae8b3016 Start to optimize scm_integer_sub_iz
     new 95350aae8 Avoid bignum clone in scm_integer_sub_zz
     new cc52f01ab Optimize bignum add to avoid temporary allocations
     new 210ab8ff7 Optimize bignum subtraction
     new 2cf80ca23 Optimize scm_integer_mul_ii
     new 6fe43301a Optimize integer-expt for fixnums
     new 9e5aa173c Optimize logand against a positive inum
     new 6058d9e05 Simplify scm_abs for the real case
     new 4feff820b Don't use HAVE_COPYSIGN in libguile/numbers.c
     new 19bc021e3 Have log and log10(real nan) return real nan regardless of 
sign
     new 222b32086 Remove dead code in scm_integer_inexact_sqrt_z

The 85 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 doc/ref/guile-invoke.texi     |   15 +-
 libguile/Makefile.am          |    7 +-
 libguile/conv-integer.i.c     |  148 -
 libguile/conv-uinteger.i.c    |  121 -
 libguile/deprecated.c         |   94 +-
 libguile/deprecated.h         |   15 +-
 libguile/eq.c                 |    8 +-
 libguile/integers.c           | 3420 +++++++++++++++++++++++
 libguile/integers.h           |  238 ++
 libguile/numbers.c            | 5981 ++++++++++-------------------------------
 libguile/numbers.h            |   32 +-
 libguile/random.c             |   22 +-
 libguile/socket.c             |   27 +-
 libguile/srfi-60.c            |  206 +-
 meta/build-env.in             |    5 +-
 test-suite/tests/numbers.test |   11 +-
 16 files changed, 5311 insertions(+), 5039 deletions(-)
 delete mode 100644 libguile/conv-integer.i.c
 delete mode 100644 libguile/conv-uinteger.i.c
 create mode 100644 libguile/integers.c
 create mode 100644 libguile/integers.h



reply via email to

[Prev in Thread] Current Thread [Next in Thread]