Hi Chris,

On Sat, Aug 9, 2014 at 3:30 PM, Chris Binz <[email protected]> wrote:

> Say I have a function that performs one calculation, but for different
> argument types. For instance, I have a satellite orbit propagator that
> returns the satellite state at some time, given the initial state and the
> desired time. I would like to specify the desired time either as an elapsed
> number of seconds OR, say, a DateTime object. The calculation itself is
> largely the same, and requires elapsed seconds. What is the best way to
> write this?
>
> I suppose my options are:
>
>    1. Multiple dispatch - two methods, with essentially duplicate code
>    (seems undesirable to me).
>    2. Multiple dispatch - two methods, but the method that takes DateTime
>    as input simply converts to seconds and then calls the other method. Is
>    there a performance hit for this?
>    3. One method, where the type of the desired time is checked and
>    converted up front if necessary.
>    4. Other (?)
>
> Your number 2 type is probably the best solution.  How much of a
performance hit depends entirely on how long the different parts of the
calculation take, so you'll have to test that and tell us. :-)

Cheers,
   Kevin

Reply via email to