[#44036] [ruby-trunk - Feature #6242][Open] Ruby should support lists — "shugo (Shugo Maeda)" <redmine@...>

20 messages 2012/04/01

[#44084] [ruby-trunk - Bug #6246][Open] 1.9.3-p125 intermittent segfault — "jshow (Jodi Showers)" <jodi@...>

22 messages 2012/04/02

[#44156] [ruby-trunk - Feature #6265][Open] Remove 'useless' 'concatenation' syntax — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

45 messages 2012/04/06

[#44163] [ruby-trunk - Bug #6266][Open] encoding related exception with recent integrated psych — "jonforums (Jon Forums)" <redmine@...>

10 messages 2012/04/06

[#44303] [ruby-trunk - Feature #6284][Open] Add composition for procs — "pabloh (Pablo Herrero)" <pablodherrero@...>

57 messages 2012/04/12

[#44349] [ruby-trunk - Feature #6293][Open] new queue / blocking queues — "tenderlovemaking (Aaron Patterson)" <aaron@...>

10 messages 2012/04/13

[#44402] [ruby-trunk - Feature #6308][Open] Eliminate delegation from WeakRef — "headius (Charles Nutter)" <headius@...>

20 messages 2012/04/17

[#44403] [ruby-trunk - Feature #6309][Open] Add a reference queue for weak references — "headius (Charles Nutter)" <headius@...>

15 messages 2012/04/17

[#44533] [ruby-trunk - Bug #6341][Open] SIGSEGV: Thread.new { fork { GC.start } }.join — "rudolf (r stu3)" <redmine@...>

24 messages 2012/04/22

[#44630] [ruby-trunk - Feature #6361][Open] Bitwise string operations — "MartinBosslet (Martin Bosslet)" <Martin.Bosslet@...>

31 messages 2012/04/26

[#44648] [ruby-trunk - Feature #6367][Open] #same? for Enumerable — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>

16 messages 2012/04/26

[#44704] [ruby-trunk - Feature #6373][Open] public #self — "trans (Thomas Sawyer)" <transfire@...>

61 messages 2012/04/27

[#44748] [ruby-trunk - Feature #6376][Open] Feature lookup and checking if feature is loaded — "trans (Thomas Sawyer)" <transfire@...>

13 messages 2012/04/28

[ruby-core:44712] [ruby-trunk - Feature #6362] Modular exponentiation/inverse

From: "MartinBosslet (Martin Bosslet)" <Martin.Bosslet@...>
Date: 2012-04-28 00:32:23 UTC
List: ruby-core #44712
Issue #6362 has been updated by MartinBosslet (Martin Bosslet).


mame (Yusuke Endoh) wrote:
> Personally I like this proposal, but it seems to require:
> 
>   - use cases (Well, personally I often use them for Project Euler :-)

It would be incredibly helpful when implementing cryptographic primitives.
Apart from mathematics in general (and Project Euler in particular!) I have 
little experience with other areas where it would be equally useful. One 
could argue this should be in a gem, but since we already have excellent 
Bignum support, I'd enjoy to see it even more excellent :)

>   - candidates of method name (pow_mod / inv_mod?)

Yes, I thought of them as well. If there would be no complaints...

>   - other kinds of modular arithmetic are not needed? (add_mod, mul_mod, sqrt_mod, ...)

Seems the right thing to do. GCD, modular shifts, etc. as well. I'll explore what 
others like GMP or OpenSSL support and start from there.

>   - a detailed spec (especially corner cases, e.g., not coprime case, negative modulo, etc.)

Based on what I find out, I'll try to design an interface plus specs. Another question is
what particular algorithms to use for implementing each aspect. I'm currently catching
up on literature, although I'd be happy about suggestions, of course!

>   - a patch

Will do once there is a consensus on the specs!

-Martin
----------------------------------------
Feature #6362: Modular exponentiation/inverse
https://bugs.ruby-lang.org/issues/6362#change-26273

Author: MartinBosslet (Martin Bosslet)
Status: Feedback
Priority: Normal
Assignee: MartinBosslet (Martin Bosslet)
Category: core
Target version: 


I'd like to ask your opinion about adding two methods for modular 
exponentiation/modular inverse to integer classes. Is this 
functionality too specific or would this be a welcome addition?


-- 
http://bugs.ruby-lang.org/

In This Thread