(Double) Factorial function efficiency

Hello

My question is, if I'm using double factorial in my program, should I :

1. implement function just for the double factorial (actually, two functions for odd and even numbers)

2. just implement simple recursive function for factorial

3. implement factorial the other way than recusive

note that I am using only ()!! and there are formulas for converting ()!! into ()!, so it wouldn't be very difficult.

also, what is very important, which function will have the best efficiency?

Thank you :-)