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 class
IStringifier.SimpleStringifier<E>
Simple map-based stringifier
-
Field Summary
Fields Modifier and Type Field Description static IStringifier
DUMMY
Dummy stringifier
-
Method Summary
Modifier and Type Method Description static String
defaultVar()
static String
defaultVar(int i, int nVars)
static String[]
defaultVars(int nVars)
Sequence of strings "a", "b", "c" etc.static <E> IStringifier<E>
dummy()
Dummy stringifierstatic String
encloseMathParenthesisInSumIfNeeded(String cf)
Enclose with math parenthesis if needed (e.g.default String
getBinding(Element el)
Get string binding of corresponding elementdefault String
getBinding(Element el, String defaultStr)
Get string binding of corresponding elementMap<Element,String>
getBindings()
Map of bindingsstatic boolean
hasMulDivPlusMinus(int start, String cf)
static boolean
hasPlusMinus(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 boolean
needParenthesisInSum(String cf)
If required to enclose with math parenthesis (e.g.default String
stringify(Element el)
Stringify stringifiable objectdefault String
stringify(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()
-
-