Remove benchmark and memory_usage from pyoperators (moved to a new distribution pybenchmarks.
Rename IntegrationTrapezeWeightOperator -> IntegrationTrapezeOperator.
Rename directory tests -> test.
Add test and coverage commands in setup.py.
Style.
Update module docstring.
Implement 3d rotation about 2 axes.
Pass Operator subclass as a type in class-matching rules.
Implement NormalizeOperator.
Add helper functions one, pi, zero.
Implement Cartesian2SphericalOperator and Spherical2CartesianOperator.
Ensure that the data attribute has correct dtype in Rotation3dOperator.
Update.
Implement DegreesOperator & RadiansOperator.
Don't match the rules attribute in Operator comparison, since rules can contain distinct lambda functions.
In _copy_direct and _copy_reverse, only copy over reshapein/out, toshapein/out, validatein/out methods if they have been overridden.
Fix some direct/reverse copies and add cases to get H from T and IH from IT if the operator is real.
Change associated operator symbol in operator rules: .C->C, .T->T, .H->H, .I->I.