[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
- [Guile-commits] branch main updated (52e310a2a -> 222b32086),
Andy Wingo <=
- [Guile-commits] 02/85: Implement odd? and even? with new integer lib, Andy Wingo, 2022/01/13
- [Guile-commits] 01/85: Add new integers.[ch], Andy Wingo, 2022/01/13
- [Guile-commits] 05/85: Implement floor-remainder with new integer lib, Andy Wingo, 2022/01/13
- [Guile-commits] 03/85: Implement abs with new integer lib, Andy Wingo, 2022/01/13
- [Guile-commits] 04/85: Implement floor-quotient with new integer lib, Andy Wingo, 2022/01/13
- [Guile-commits] 06/85: Implement floor-divide with new integer lib, Andy Wingo, 2022/01/13
- [Guile-commits] 07/85: Implement ceiling-quotient with new integer lib, Andy Wingo, 2022/01/13
- [Guile-commits] 18/85: Implement round-divide with new integer lib, Andy Wingo, 2022/01/13
- [Guile-commits] 27/85: Implement scm_modulo_expt with new integer library, Andy Wingo, 2022/01/13
- [Guile-commits] 17/85: Implement round-remainder with new integer lib, Andy Wingo, 2022/01/13