add variants of stencil-based finite-differences algorithms to calculate finite difference weights , namely as follows:
In this case, I think it is better to create find_fd_weigths named function, which takes an argument as function calling the algorithms of variants of stencil-based finite-difference methods(FD_algorithms). I imagine this as follows
find_fd_weights(order, location, grid_points, FD_algorithm())