Package cc.redberry.rings.io
Interface IStringifier<Element>
-
- All Known Implementing Classes:
Coder,IStringifier.SimpleStringifier
public interface IStringifier<Element>Defines #stringify(Stringifiable) method- Since:
- 2.4
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classIStringifier.SimpleStringifier<E>Simple map-based stringifier
-
Field Summary
Fields Modifier and Type Field Description static IStringifierDUMMYDummy stringifier
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description static StringdefaultVar()static StringdefaultVar(int i, int nVars)static String[]defaultVars(int nVars)Sequence of strings "a", "b", "c" etc.static <E> IStringifier<E>dummy()Dummy stringifierstatic StringencloseMathParenthesisInSumIfNeeded(String cf)Enclose with math parenthesis if needed (e.g.default StringgetBinding(Element el)Get string binding of corresponding elementdefault StringgetBinding(Element el, String defaultStr)Get string binding of corresponding elementMap<Element,String>getBindings()Map of bindingsstatic booleanhasMulDivPlusMinus(int start, String cf)static booleanhasPlusMinus(int start, String cf)static <Poly extends IPolynomial<Poly>>
IStringifier<Poly>mkPolyStringifier(IPolynomialRing<Poly> ring, String... variables)Create simple stringifier for polynomials with given variablesstatic <Poly extends IPolynomial<Poly>>
IStringifier<Poly>mkPolyStringifier(Poly factory, String... variables)Create simple stringifier for polynomials with given variablesstatic <E> IStringifier<E>mkStringifier(Map<E,String> bindings)Create simple stringifierstatic booleanneedParenthesisInSum(String cf)If required to enclose with math parenthesis (e.g.default Stringstringify(Element el)Stringify stringifiable objectdefault Stringstringify(Collection<Element> c)Stringify stringifiable object<UnderlyingElement>
IStringifier<UnderlyingElement>substringifier(Ring<UnderlyingElement> ring)Get stringifier for the specified ring of some underlying elements, should never give null (use dummy() for absent stringifier)
-
-
-
Field Detail
-
DUMMY
static final IStringifier DUMMY
Dummy stringifier
-
-
Method Detail
-
stringify
default String stringify(Collection<Element> c)
Stringify stringifiable object
-
substringifier
<UnderlyingElement> IStringifier<UnderlyingElement> substringifier(Ring<UnderlyingElement> ring)
Get stringifier for the specified ring of some underlying elements, should never give null (use dummy() for absent stringifier)
-
getBinding
default String getBinding(Element el, String defaultStr)
Get string binding of corresponding element- Parameters:
defaultStr- default string
-
dummy
static <E> IStringifier<E> dummy()
Dummy stringifier
-
mkStringifier
static <E> IStringifier<E> mkStringifier(Map<E,String> bindings)
Create simple stringifier
-
mkPolyStringifier
static <Poly extends IPolynomial<Poly>> IStringifier<Poly> mkPolyStringifier(IPolynomialRing<Poly> ring, String... variables)
Create simple stringifier for polynomials with given variables
-
mkPolyStringifier
static <Poly extends IPolynomial<Poly>> IStringifier<Poly> mkPolyStringifier(Poly factory, String... variables)
Create simple stringifier for polynomials with given variables
-
encloseMathParenthesisInSumIfNeeded
static String encloseMathParenthesisInSumIfNeeded(String cf)
Enclose with math parenthesis if needed (e.g. a+b in (a+b)*c should be enclosed)
-
needParenthesisInSum
static boolean needParenthesisInSum(String cf)
If required to enclose with math parenthesis (e.g. a+b in (a+b)*c should be enclosed)
-
hasPlusMinus
static boolean hasPlusMinus(int start, String cf)
-
hasMulDivPlusMinus
static boolean hasMulDivPlusMinus(int start, String cf)
-
defaultVars
static String[] defaultVars(int nVars)
Sequence of strings "a", "b", "c" etc.- Parameters:
nVars- number of variable
-
defaultVar
static String defaultVar(int i, int nVars)
-
defaultVar
static String defaultVar()
-
-