bpy.ops.transform.rotate TRANSFORM_OT_rotate

Hello,
I was wondering what is the difference between

bpy.ops.transform.rotate (value = ..., axis = ... constraint_axis = (False, False, False), constraint_orientation = 'GLOBAL' ...)

and

bpy.ops.transform.rotate (value = ..., axis = ... constraint_axis = (False, False, False), constraint_orientation = 'LOCAL' ...)

However, I would like to see in practice acting these functions. How effects the rotation matrices.

(It seems to me that the difference is related to [https://en.wikipedia.org/wiki/Euler_angles#Extrinsic_rotations](http://I was wondering what is the difference between bpy.ops.transform.rotate (value = …, axis = … constraint_axis = (False, False, False), constraint_orientation = ‘GLOBAL’ …)andbpy.ops.transform.rotate (value = …, axis = … constraint_axis = (False, False, False), constraint_orientation = ‘LOCAL’ …)However, I would like to see in practice acting these functions. How effects the rotation matrices. (It seems to me that the difference is related to [url))I was able to find one here is the link http://blender.stackexchange.com/questions/6880/find-bpy-function-in-source-codeidName it TRANSFORM_OT_rotate. and interesting to me to file blender-2.77 \ source \ blender \ editors \ transform \ transform_ops.c"]https://en.wikipedia.org/wiki/Euler_angles#Extrinsic_rotations)

I was able to find one here is the link

idname

is

TRANSFORM_OT_rotate

.
and interesting to me to file

blender-2.77 \ source \ blender \ editors \ transform \ transform_ops.c

static void TRANSFORM_OT_rotate(struct wmOperatorType *ot){
    /* identifiers */
    ot->name = "Rotate";
    ot->description = "Rotate selected items";
    ot->idname = OP_ROTATION;
    ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;


    /* api callbacks */
    ot->invoke = transform_invoke;
    ot->exec   = transform_exec;
    ot->modal  = transform_modal;
    ot->cancel = transform_cancel;
    ot->poll   = ED_operator_screenactive;


    RNA_def_float_rotation(ot->srna, "value", 0, NULL, -FLT_MAX, FLT_MAX, "Angle", "", -M_PI * 2, M_PI * 2);


    Transform_Properties(ot, P_AXIS | P_CONSTRAINT | P_PROPORTIONAL | P_MIRROR | P_GEO_SNAP | P_GPENCIL_EDIT);
}

I do not understand if i should look in

transform_exec;

?
Where can I find, what is going on? quaternion, rotation matrix anything ? How does
bpy.ops.transform.rotate affects on object