def gdate_to_jdn(date):
not_jan_or_feb = (<NUM_LIT> - date.month) // <NUM_LIT:12><EOL>year_since_4800bc = date.year + <NUM_LIT> - not_jan_or_feb<EOL>month_since_4800bc = date.month + <NUM_LIT:12> * not_jan_or_feb - <NUM_LIT:3><EOL>jdn = date.day + (<NUM_LIT> * month_since_4800bc + <NUM_LIT:2>) // <NUM_LIT:5>+ <NUM_LIT> * year_since_4800bc+ (year_since_4800bc // <NUM_LIT:4> - year_since_4800bc // <NUM_LIT:100> +<EOL>year_since_4800bc // <NUM_LIT>) - <NUM_LIT><EOL>return jdn<EOL>
Compute Julian day from Gregorian day, month and year.

Algorithm from wikipedia's julian_day article.
Return: The julian day number