def _datetime_to_tt2000_typepunned(self, dt):
    '\n        Converts a Python datetime to a CDF TT2000 value\n\n        Typepunned version that passes doubles as longlongs, to get around\n        ARM calling convention oddness.\n\n        Parameters\n        ==========\n        dt :  :class:`datetime.datetime`\n            date and time to convert\n\n        Returns\n        =======\n        out : int\n            tt2000 corresponding to dt\n\n        See Also\n        ========\n        v_datetime_to_tt2000\n        '
    c_ll_p = ctypes.POINTER(ctypes.c_longlong)
    if ((dt.tzinfo != None) and (dt.utcoffset() != None)):
        dt = (dt - dt.utcoffset())
    dt = dt.replace(tzinfo=None)
    if (dt == datetime.datetime.max):
        return (- (2 ** 63))
    return self._library.computeTT2000(ctypes.cast(ctypes.pointer(ctypes.c_double(dt.year)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.month)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.day)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.hour)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.minute)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.second)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double((dt.microsecond // 1000))), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double((dt.microsecond % 1000))), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(0)), c_ll_p).contents)
Converts a Python datetime to a CDF TT2000 value

Typepunned version that passes doubles as longlongs, to get around
ARM calling convention oddness.

Parameters
==========
dt :  :class:`datetime.datetime`
    date and time to convert

Returns
=======
out : int
    tt2000 corresponding to dt

See Also
========
v_datetime_to_tt2000
def _datetime_to_tt2000_typepunned(self, dt):
    '\n        Converts a Python datetime to a CDF TT2000 value\n\n        Typepunned version that passes doubles as longlongs, to get around\n        ARM calling convention oddness.\n\n        Parameters\n        ==========\n        dt :  :class:`datetime.datetime`\n            date and time to convert\n\n        Returns\n        =======\n        out : int\n            tt2000 corresponding to dt\n\n        See Also\n        ========\n        v_datetime_to_tt2000\n        '
    c_ll_p = ctypes.POINTER(ctypes.c_longlong)
    if ((dt.tzinfo != None) and (dt.utcoffset() != None)):
        dt = (dt - dt.utcoffset())
    dt = dt.replace(tzinfo=None)
    if (dt == datetime.datetime.max):
        return (- (2 ** 63))
    return self._library.computeTT2000(ctypes.cast(ctypes.pointer(ctypes.c_double(dt.year)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.month)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.day)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.hour)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.minute)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(dt.second)), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double((dt.microsecond // 1000))), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double((dt.microsecond % 1000))), c_ll_p).contents, ctypes.cast(ctypes.pointer(ctypes.c_double(0)), c_ll_p).contents)