# Generic discrete_log

I've been struggling with discrete_log function. The docs say it is the generic BSGS algorithm that is supposed to work in any group. The function works e.g. if I write

discrete_log(Mod(9, 17), Mod(2, 17), 16, operation='*')

However it keeps returning 0 when I put operation='other', e.g.

discrete_log(9, 2, 16, operation='other', op=lambda x, y: (x * y) % 17)

The op function is not even called once. Is there something that I'm doing wrong or is discrete_log not really generic?

For my version 7.5.1 the first line does not work,

runs into

However...

Typing

`??discrete_log`

i could not find the path really considering the`'other'`

operation... So why not use the operations * and + available? (Or write the corresponding adapted code to search for the discrete log in a very special situation...)