implementation
Rename to ComplexTest to minmize name conflict likelihood. Pre-integration to master should remove that test module
Loosen the class equality constraint (to class lineage) so that can Mux between UInt and Bool (and certain Bundles with restrictions)
Simplify detection that a field is a subtype of Data
Use simplified subtype check in other places
Implement more fixed point operations
Add a 4 argument Mux constructor (new, first element supplies the result node). Use this constructor for old one and also add special case constructors to Mux UInt and SInt together
Merge branch 'master' into newmuxandcomplex
Merge branch 'master' into newmuxandcomplex
Fixup special casing of Bits muxes
Make Bundle constructor guessing slightly more aggressive (will pass a null parameter in the case of only 1 constructor arg that subtypes Data or Module, which occurs implicitely for nested Bundles, etc.). Also, remove some silliness in ValidIO and DecoupledIO clone constructors
Merge branch 'newmuxandcomplex'