Slide 40
Slide 40 text
#define CARTESIANVECTOR_COMMON_INIT \
zval* other; \
double x, y, z, otherX, otherY, otherZ; \
ZEND_PARSE_PARAMETERS_START(1, 1) \
Z_PARAM_OBJECT_OF_CLASS(other, showcase_cartesianvector_ce) \
ZEND_PARSE_PARAMETERS_END(); \
cartesianvector_read_properties(Z_OBJ_P(getThis()), &x, &y, &z); \
cartesianvector_read_properties(Z_OBJ_P(other), &otherX, &otherY, &otherZ);