Gan_Vector vx, vy, vz; /* declare vectors x, y and z */ Gan_Vector *pvz; /* declare vector z alternatively as pointer */ /* ... create and fill vx & vy, create vz ... */ gan_vec_sub_q ( &vx, &vy, &vz ); /* compute z = x - y */ pvz = gan_vec_sub_s ( &vx, &vy ); /* compute z = x - y */ gan_vec_sub_i1 ( &vx, &vy ); /* replace x = x - y */ gan_vec_sub_i2 ( &vx, &vy ); /* replace y = x - y */ gan_vec_decrement ( &vx, &vy ); /* replace x = x - y */
Error detection: NULL is returned and the Gandalf error handler invoked if the vector subtraction fails. The most likely failure modes are failing to create/set the result vector, or size incompatibility between the input vectors.