# \[ANN\] EllipticFunctions.jl

**URL:** <https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797>\
**Category:** Package Announcements\
**Tags:** package, announcement\
**Created:** [July 5, 2022, 8:38pm UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797 "2022-07-05T20:38:01Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [July 5, 2022, 8:38pm UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/1 "2022-07-05T20:38:01Z")

</div>

I have soon finished the first version of [Jacobi.jl](https://stla.github.io/Jacobi.jl/): Jacobi theta functions and related functions. I still have to implement the Weierstrass sigma-function and the Weierstrass zeta-function, and the first version will be done.

The package also includes a couple of elliptic integrals, because they are needed for other functions, and in the **Elliptic** package they are not available for complex values of the variable (I don’t know why because there’s a simple implementation).

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [July 5, 2022, 8:42pm UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/2 "2022-07-05T20:42:02Z")

</div>

Thanks for the package! I’ll be taking a look to see if there are any easy performance/correctness improvements.

---

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [July 5, 2022, 8:47pm UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/3 "2022-07-05T20:47:09Z")

</div>

Thanks. Do not hesitate to criticize my code. I’m not a Julia expert.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [July 5, 2022, 8:56pm UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/4 "2022-07-05T20:56:40Z")

</div>

Pr made. Overall, the code looks pretty good!

---

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [July 5, 2022, 9:02pm UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/5 "2022-07-05T21:02:26Z")

</div>

Thanks. Are you sure that the Julia `mod` function is the same as “my” `modulo` function? Mine can take negative values, it mimics the Fortran function. Anyway I will test.

---

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [July 5, 2022, 9:23pm UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/6 "2022-07-05T21:23:16Z")

</div>

No. Look:

```julia
julia> modulo(-2.5, 1)
-0.5

julia> mod(-2.5, 1)
0.5

```

Looks like it suffices to transport the sign:

```julia
julia> mod(-2.5, -1)
-0.5

```

---

<div class="post-metadata">

**Author:** ![gbaraldi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gbaraldi/32/22101_2.png) [@gbaraldi](https://discourse.julialang.org/u/gbaraldi)\
**Post date:** [July 5, 2022, 9:51pm UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/7 "2022-07-05T21:51:00Z")

</div>

Is your modulo equivalent to `rem` then?

---

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [July 5, 2022, 10:24pm UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/8 "2022-07-05T22:24:42Z")

</div>

Ah yes, that seems right. Thanks.

---

<div class="post-metadata">

**Author:** ![\_stla](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/_stla/32/35613_2.png) [@\_stla](https://discourse.julialang.org/u/_stla)\
**Post date:** [July 8, 2022, 8:22am UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/9 "2022-07-08T08:22:50Z")

</div>

Package has been renamed **EllipticFunctions.jl**.

---

<div class="post-metadata">

**Author:** ![suavesito](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/suavesito/32/34386_2.png) [@suavesito](https://discourse.julialang.org/u/suavesito)\
**Post date:** [July 8, 2022, 9:46am UTC](https://discourse.julialang.org/t/ann-ellipticfunctions-jl/83797/10 "2022-07-08T09:46:31Z")

</div>

I’ll update the title of the announcement accordingly. 🙂
