Opened 18 months ago

Closed 17 months ago

Last modified 4 months ago

#25661 closed defect (fixed)

Primecount failures on 32-bit systems

Reported by: jdemeyer Owned by:
Priority: blocker Milestone: sage-8.3
Component: packages: optional Keywords: thursdaysbdx, sdl
Cc: vdelecroix Merged in:
Authors: Vincent Klein Reviewers: Frédéric Chapoton
Report Upstream: N/A Work issues:
Branch: ad4059c (Commits) Commit: ad4059c2ed07a25f5a338e0dc005d061f6eb7037
Dependencies: Stopgaps:

Description

There are various failures of the form

sage -t --long src/sage/interfaces/primecount.pyx
**********************************************************************
File "src/sage/interfaces/primecount.pyx", line 47, in sage.interfaces.primecount.prime_pi
Failed example:
    prime_pi(1000)                     # optional - primecount
Expected:
    168
Got:
    168L
**********************************************************************

if int64_t is larger than a long.

Change History (14)

comment:1 Changed 18 months ago by vklein

  • Owner changed from (none) to vklein

comment:2 Changed 18 months ago by vklein

  • Branch set to u/vklein/primecount_failures_on_32_bit_systems

comment:3 Changed 18 months ago by git

  • Commit set to ad4059c2ed07a25f5a338e0dc005d061f6eb7037

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

ad4059cTrac #25661: Fix doctests for 32bits platform

comment:4 Changed 18 months ago by vklein

  • Authors set to Vincent Klein
  • Keywords thursdaysbdx added
  • Status changed from new to needs_review

Failing tests fixed.

comment:5 Changed 18 months ago by vklein

  • Owner changed from vklein to (none)

comment:6 Changed 18 months ago by chapoton

  • Reviewers set to Frédéric Chapoton
  • Status changed from needs_review to positive_review

ok, this will do the job, if not elegantly

comment:7 follow-ups: Changed 17 months ago by tmonteil

Why not using # 64-bit and # 32-bit keywords as done elsewhere (e.g. when testing hash methods) ?

comment:8 in reply to: ↑ 7 Changed 17 months ago by vklein

  • Status changed from positive_review to needs_work

Replying to tmonteil:

Why not using # 64-bit and # 32-bit keywords as done elsewhere (e.g. when testing hash methods) ?

Because i didn't remember/know these flags. Thanks.

Last edited 17 months ago by vklein (previous) (diff)

comment:9 in reply to: ↑ 7 Changed 17 months ago by vdelecroix

Replying to tmonteil:

Why not using # 64-bit and # 32-bit keywords as done elsewhere (e.g. when testing hash methods) ?

To make the tests pass on both Python2 and Python3?

comment:10 Changed 17 months ago by vklein

  • Status changed from needs_work to positive_review

True ! Something like 168L # 32-bit will fail with python3.

comment:11 follow-up: Changed 17 months ago by tmonteil

Is the plan to turn every explicit doctest into an indirect one, just to have them pass simultaneously on python2 and python 3 ?

comment:12 in reply to: ↑ 11 Changed 17 months ago by vdelecroix

Replying to tmonteil:

Is the plan to turn every explicit doctest into an indirect one, just to have them pass simultaneously on python2 and python 3 ?

I hope not. But

  • testing equality of integers is a better test than checking string representation
  • I think that output flag should be avoided as much as possible

comment:13 Changed 17 months ago by vbraun

  • Branch changed from u/vklein/primecount_failures_on_32_bit_systems to ad4059c2ed07a25f5a338e0dc005d061f6eb7037
  • Resolution set to fixed
  • Status changed from positive_review to closed

comment:14 Changed 4 months ago by tmonteil

  • Keywords sdl added
Note: See TracTickets for help on using tickets.