+bool clifford::match_same_type(const basic & other) const
+{
+ GINAC_ASSERT(is_of_type(other, clifford));
+ const clifford &o = static_cast<const clifford &>(other);
+
+ return representation_label == o.representation_label;
+}
+
+void clifford::print(const print_context & c, unsigned level = 0) const
+{
+ if (!is_a<diracgamma5>(seq[0]) && !is_a<diracgamma>(seq[0]) && !is_a<diracone>(seq[0])) {
+
+ // dirac_slash() object is printed differently
+ if (is_a<print_tree>(c))
+ inherited::print(c, level);
+ else if (is_a<print_latex>(c)) {
+ c.s << "{";
+ seq[0].print(c, level);
+ c.s << "\\hspace{-1.0ex}/}";
+ } else {
+ seq[0].print(c, level);
+ c.s << "\\";
+ }
+
+ } else
+ inherited::print(c, level);
+}
+