Commit graph

77 commits

Author SHA1 Message Date
d2c6e12c13
make sum return explicit 2024-09-03 17:17:12 -07:00
f1fcb1876d
improve primebinomial 2024-09-03 16:30:58 -07:00
0e056691cb
remove added Combinatorics dep by hardcoding 9j arg permutations 2024-08-15 09:34:47 -07:00
9c2c0b6596
fix wigner9j cache keys 2024-08-15 07:56:39 -07:00
152d52595e
add wigner9j symbols. update README, .gitignore Manifest 2024-08-15 07:18:17 -07:00
Jutho Haegeman
473e618cf0 add LTS julia to CI and run CI; it's been a while 2022-07-27 12:37:01 +02:00
Jutho Haegeman
c12478f6f0 fix compat 2021-06-16 10:00:14 +02:00
Jutho Haegeman
d48c2564e8 update README status badges 2021-06-16 01:00:33 +02:00
Jutho Haegeman
caf4c230db update README 2021-06-16 00:55:10 +02:00
Jutho Haegeman
9359a9bdc4 disable multithreading on windows 2021-06-15 12:10:00 +02:00
Jutho Haegeman
7755a7581d re-enable test single threaded 2021-06-15 01:52:23 +02:00
Jutho Haegeman
72390181ad try disabling failing windows tests 2021-06-15 01:42:30 +02:00
Jutho Haegeman
f2a1754c3c small test change (again) 2021-06-15 01:34:00 +02:00
Jutho Haegeman
87177d0da5 small test change 2021-06-15 01:29:40 +02:00
Jutho Haegeman
a04c500646 try using atomic{int} for growinglist length 2021-06-15 01:18:49 +02:00
Jutho Haegeman
38e5f809f2 julia 1.5 required for unsafe_rational 2021-06-14 17:14:17 +02:00
Jutho Haegeman
04098cb2c2 various updates for efficiency; restore recursive sumlist 2021-06-14 17:00:19 +02:00
Jutho Haegeman
231078a159 make version specifiers compatible with julia 1.0 2021-06-11 16:03:23 +02:00
Jutho Haegeman
b1303b9b79 major update, thread safety, improved efficiency 2021-06-11 15:50:25 +02:00
Jutho Haegeman
f06635b64b get rid of __init__ function, no longer necessary 2021-06-04 11:18:03 +02:00
Jutho Haegeman
d6de77da40 update tagbot 2020-11-05 23:44:28 +01:00
Julia TagBot
39e2bd160b Install TagBot as a GitHub Action (#11) 2020-02-09 00:03:43 +01:00
Jutho Haegeman
1d727ede82 fix compat 2020-02-02 00:45:22 +01:00
Jutho Haegeman
03c3ba47e9 bump version, update readme and ci 2020-02-01 23:15:40 +01:00
w-vdh
7394e8c3cf
Update function documentation (#10)
to reflect the use of RationalRoot as default return type.
2020-02-01 21:22:34 +01:00
Jutho Haegeman
8ee830e173 use RationalRoots representation 2019-08-07 10:09:22 +02:00
Jutho Haegeman
80cc592dd3 fix fast path in conversion 2019-07-29 17:49:20 +02:00
Jutho Haegeman
2800b274ea clean up tests 2019-07-29 17:18:53 +02:00
Jutho Haegeman
52d2255d64 clean up prime 2019-07-29 17:09:38 +02:00
Jutho Haegeman
e5efd21bdf add test: wigner3j orthogonality 2019-07-29 12:25:35 +02:00
Jutho Haegeman
6e0c8bfc0a update README 2019-07-09 01:07:14 +02:00
Jutho
a5ee2d5fc6
Switch to using HalfIntegers (#6)
* swich to using HalfIntegers, add project.toml, bump version, update CI

* add Random and add seed to avoid unlikely test failure
2019-07-09 00:53:40 +02:00
Morten Piibeleht
6ddbd340b0 Make convert(Real, ::HalfInteger) yield HalfInteger (#5)
As HalfInteger <: Real, there should be no reason to convert anything in
this situation. It happens because the convert method resorts to Float64
as an intermediate value.

To still get conversion to floats, we can just dispatch on AbstractFloat
instead. However, it should be better to convert the numerator to T
first and then divide, so that we would not use a potentially lower
precision intermediate value.

This solves the problem where calling sum on an vector of HalfIntegers
yields a floating point value, even though there is no reason to convert
in the summation:

julia> sum([HalfInteger(1//2), HalfInteger(3//2)])
2.0

This is because there is an implicit convert(::Real) in the Base.add_sum
function. With this patch the sum call correctly yields a HalfInteger.

It also updates the tests related to HalfInteger convert methods:

 - Make sure that the convert tests also check types
 - Add a few tests for converting out of HalfInteger
2019-02-21 00:16:26 +01:00
Jutho Haegeman
65e3f34649 export HalfInteger 2019-01-10 23:05:52 +01:00
Jutho Haegeman
088c52e1fb update ci 2019-01-10 21:59:51 +01:00
Morten Piibeleht
8ebb2c791b Partially revamp the HalfInteger type (#4)
* Call the HalfInteger field twofold

Makes it more immediately obvious what the meaning of the value stored
in the field is.

* Introduce new constructors for HalfInteger

The primary inner constructor mirrors the two-argument constructor of
the Rational type, where the user provides the numerator and denominator
values.

There is also a single argument outer constructor that makes HalfInteger
behave like a normal numeric type such that HalfInteger(n) == n.

* Move HalfInteger tests to a separate file

The using statements in halfinteger.jl are there so that it would be
possible to run the file separately from the other tests.

* Test the single-argument HalfInteger constructor

* Organize halfinteger.jl a bit

Prioritise the convert methods.

* Add multiplication with integer to HalfInteger

* Implement parsing and printing for HalfInteger

* parse(::HalfInteger, x) method
* Overload show to pretty-print HalfInteger

* Overload Base.numerator/denominator

And add tests for the other supplementary functions and methods as
well.

* Add HalfIntegerRange type

Can be constructed using the range operator :. Currently only supports
unit steps in the positive direction.

* Address feedback

* Rename .twofold -> .numerator
* Consistent variable names
* Remove unnecessary methods for HalfIntegerRange

* Allow constructing HalfIntegerRange with non-integer difference

* Add docs and ceil(::HalfInteger)
2019-01-10 21:50:46 +01:00
Jutho Haegeman
80038db6a3 update require and travis.yml 2018-10-24 09:51:00 +02:00
Jutho Haegeman
6f90f842d7 remove dead julia pkg eval from readme 2018-10-05 23:33:59 +02:00
Jutho Haegeman
d871d4db3d update travis.yml 2018-10-05 23:33:23 +02:00
Jutho
42efa10861 update installation instructions 2018-10-05 17:21:30 +02:00
Jutho
39bbd0ced8 update HalfInteger 2018-10-05 17:20:22 +02:00
Jutho Haegeman
8854cfbb97 update README 2018-07-25 00:32:51 +02:00
Jutho
396bc52d2e
update tests for julia 0.7 2018-07-12 11:39:31 +02:00
Jutho Haegeman
38524431e1 more update travis 2018-07-10 02:16:13 +02:00
Jutho Haegeman
7f91c5acc0 update travis and require 2018-07-10 02:09:36 +02:00
Jutho Haegeman
3400fe8577 update tests 2018-07-10 02:07:31 +02:00
Jutho
cf7c940c5f
first attempt to (exclusive) v0.7 compatibility
first attempt to (exclusive) v0.7 compatibility
2018-06-22 00:21:31 +02:00
Jutho Haegeman
dd208b42a6 first attempt to (exclusive) v0.7 compatibility 2018-06-21 23:29:33 +02:00
Jutho Haegeman
0b8be07d6a remove erroneous empty line 2018-06-17 02:08:51 +02:00
Jutho Haegeman
cdb460332c speed improvement plus v0.7 compatibility 2018-01-31 17:10:37 +08:00