Code Search for Developers
 
 
  

Margin.h from Magnus at Krugle


Show Margin.h syntax highlighted

#ifndef _MARGIN_H_
#define _MARGIN_H_

#include "Chars.h"
#include "error.h"
//#include "OneRelatorGroup.h"
//#include "SubgroupOfOneRelatorGroup.h"
//#include "HNNExtOfORGroup.h"

#define DEBUG_RAW 1

#ifdef DEBUG_RAW
#  define DEBUG_PRINT(ostr,object)			{ ::debugPrint( (ostr), (object) ); }
#  define DEBUG_PRINT_WORD(ostr,group,word)		{ (ostr) << (word); }
#  define DEBUG_PRINT_VECTOR_WORDS(ostr,group,vector)	{ (ostr) << (vector); }
#else
#  define DEBUG_PRINT(ostr,object)			{ (ostr) << (object); }
#  define DEBUG_PRINT_WORD(ostr,group,word)		{ (group).printWord( (ostr), (word) ); }
#  define DEBUG_PRINT_VECTOR_WORDS(ostr,group,vector)	{ (group).printVectorOfWords( (ostr), (vector) ); }
#endif

void debugPrint( ostream& ostr, const class SubgroupOfOneRelatorGroup& S );
void debugPrint( ostream& ostr, const class OneRelatorGroup& G );
void debugPrint( ostream& ostr, const class OneRelatorGroupRep& G );
void debugPrint( ostream& ostr, const class HNNExtOfORGroupGeneric& H );

class Margin : public Chars 
{
public:

  Margin( ) : Chars(), ptr(0) { }

  void set( Margin& t ); 

  ~Margin() { 
    if( ptr ) 
      *(Chars *)ptr = (Chars)(*this); 
  }

  Margin *ptr;

};

extern Margin globalMargin;
extern int  rightMargin;

#endif




See more files for this project here

Magnus

Magnus is a special purpose mathematical package for Infinite Group Theory computations

Project homepage: http://sourceforge.net/projects/magnus
Programming language(s): C,C++
License: other

  AP-fixups.h
  APofFreeGroups.h
  APofFreeGroupsRep.h
  APwithOneRelator.h
  APwithOneRelatorRep.h
  AmalgamatedProductParser.h
  CONDITION.h
  HNNExtOfFreeGroup.h
  HNNExtOfORGroup.h
  HNNExtension.h
  HNNParser.h
  MagnusBreakdown.h
  Margin.h
  ORProblems.h
  OneRelatorGroup.h
  OneRelatorGroupWithTorsion.h
  Range.h
  ShortenByRelators2.h
  SubgroupOfOneRelatorGroup.h
  SuperGen.h
  Whitehead.h