/* -*- mode: C++ -*- */ ////////////////////////////////////////////////////////////////////////////// // FILE : BaseC2.Concat.tol // PURPOSE: Defines class @BaseC2.Concat ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// Text _.autodoc.member.BaseC2.Concat = "Concats a set of linearly independent bases over the same domain " "vectorial space."; Class @BaseC2.Concat : @BaseC2 ////////////////////////////////////////////////////////////////////////////// { Set _.base; //Set of @BaseC2 //Auxiliar member to map concatenated bases Set _.map; //////////////////////////////////////////////////////////////////////////// Static Text _.autodoc.member.New = "Creates an instance of " "@BaseC2.Concat on R^n with specified maximum degree."; Static @BaseC2.Concat New(Set base) //////////////////////////////////////////////////////////////////////////// { Real n = (base[1])::_.n; Set map = BinGroup("<<", For(1,Card(base),Set(Real h) { If((base[h])::_.n!=n,WriteLn("[@BaseC2.Concat::New] " "Cannot concat bases with different domain vectorial space dimension " <