Skip to content

Instantly share code, notes, and snippets.

@adh
Created December 23, 2014 12:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adh/56e62a90184372156d02 to your computer and use it in GitHub Desktop.
Save adh/56e62a90184372156d02 to your computer and use it in GitHub Desktop.
dfsch_object_t *dfsch_car(dfsch_object_t * pair)
{
dfsch_object_t *p =
((((((size_t) ((pair))) & 0x07) == 0x02)
|| ((((size_t) ((pair))) & 0x03) ==
0x03)) ? (pair) : dfsch_assert_instance((pair),
(&dfsch_pair_type)));
return ((((((size_t) (p)) & 0x03) ==
0x03) ? ((dfsch_pair_t
*) (((((size_t)
(*
((dfsch_object_t **) (((size_t) (p)) &
~0x03)))) & 0xff ==
(0x05 | (0x1f << 3)))) ? (((dfsch_object_t
**) (((dfsch_object_t **) (((size_t) (p)) & ~0x03)))) + 1) : (((dfsch_object_t **) (((dfsch_object_t **) (((size_t) (p)) & ~0x03))))))) : ((dfsch_pair_t *) (((size_t) (p)) & ~0x07)))->car);
}
dfsch_object_t *dfsch_cdr(dfsch_object_t * pair)
{
dfsch_object_t *p =
((((((size_t) ((pair))) & 0x07) == 0x02)
|| ((((size_t) ((pair))) & 0x03) ==
0x03)) ? (pair) : dfsch_assert_instance((pair),
(&dfsch_pair_type)));
return (((((size_t) (p)) & 0x03) ==
0x03)
? ((((((size_t)
(*((dfsch_object_t **) (((size_t) (p)) & ~0x03)))) & 0xff
==
(0x05 | (0x1f << 3)))) ? (((dfsch_object_t
**) (((dfsch_object_t
**) (((size_t) (p)) &
~0x03)))) +
1)
: (((dfsch_object_t
**) (((dfsch_object_t **) (((size_t) (p)) &
~0x03))))))[1] ==
((dfsch_object_t *) ((ptrdiff_t) -
1)) ? ((dfsch_object_t
**) (((size_t) (p)) & ~0x03))[2]
: (dfsch_object_t *) (((dfsch_object_t **) (p)) +
1)) : ((((((size_t) (p)) & 0x03) ==
0x03) ? ((dfsch_pair_t
*) (((((size_t)
(*
((dfsch_object_t **) (((size_t) (p)) & ~0x03)))) & 0xff == (0x05 | (0x1f << 3)))) ? (((dfsch_object_t **) (((dfsch_object_t **) (((size_t) (p)) & ~0x03)))) + 1) : (((dfsch_object_t **) (((dfsch_object_t **) (((size_t) (p)) & ~0x03))))))) : ((dfsch_pair_t *) (((size_t) (p)) & ~0x07)))->cdr));
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment