CREATEABLXORBINEXPR(3)
π CREATEABLXORBINEXPR(3) β the ABL FUNCTIONS girlies π
okay bestie, sit down, hydrate, and let me tell you about createablxorbinexpr β yes that's the whole name, no we're not abbreviating it, it's iconic and it knows it. This lives in the ABL FUNCTIONS manual section, section 3, library call energy, and it is literally the function that makes you an xor or an xnor operator expression. slay. π¦
πΈ NAME πΈ
createablxorbinexpr β creates an 'xor' or 'xnor' operator expression. that's it, that's the job, and she does it flawlessly. π
π ORIGIN π
so where does this queen come from?? This software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. π«π·β¨ parisian AND good at boolean algebra?? we love a multihyphenate.
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
β¨ SYNOPSIS β¨
the whole vibe, verbatim, do not touch:
#include "abl101.h"
chain_list *createablxorbinexpr( Oper, Expr1, Expr2 )
long Oper;
chain_list βExpr1;
chain_list βExpr2;
π PARAMETERS π
Operβ the operator bestie. It's eitherABL_XORorABL_NXOR. those are the only two options, she does not do variety, she does do consistency. πExpr1β first expression. the first one. the OG.Expr2β second expression. the sequel. the remix.
π DESCRIPTION π
createablxorbinexpr creates a binary 'xor' or 'xnor' operator expression with the 'and', 'or' form. so like, she's out here building it out of ands and ors, which is lowkey genius if you think about it. createablbinexpr simplifies eventually the sub-expressions β yes, that's the other function, keep up, they're a duo, a duo, a duo. π«Ά
β οΈ the way thatExpr1andExpr2MUSTN'T be used after the call to this function!! fr fr. she takes ownership. the expression pointers are consumed. if you go touching them afterwards that is a you problem and the you problem will be undefined-coded. not me warning you twice. π
β RETURN VALUE β
createablxorbinexpr returns a pointer to the new operator expression. new expression, fresh out the box, chain_list β, main character energy, no cap. π
π₯ ERRORS π₯
"ablcreate: bad operator xx !"β thrown when the operator isn't right. Operator must beABL_XORorABL_NXOR. that's the rule. that's the whole rule. don't test her. π
π§ EXAMPLE π§
here's the moment you've all been waiting for, the demo, the runway walk:
#include "abl101.h"
chain_list βExprA;
chain_list βExprB;
chain_list βExprAxorB;
ExprA = createablatom( "a" );
ExprB = createablatom( "b" );
ExprAxorB = createablxorbinexpr( ABL_XOR, ExprA, ExprB );
/* displays (a and (not b) or (b and (not a)) */
viewablexpr( ExprAxorB, ABL_VIEW_VHDL );
and yes the comment is telling you it displays (a and (not b) or (b and (not a)) β that is genuinely what xor looks like when you stretch it out into ands and ors. it's giving β¨expanded formβ¨. she ate. π
π SEE ALSO π
go read these too, they're all in the same friend group:
abl(1)abl(1)β yes it's listed twice, no I did not do that, it's just like that in the original, and honestly? iconic of it. twice the abl, twice the love. πcreateablatom(3)createabloper(3)createablbinexpr(3)createablunaryexpr(3)createablnotexpr(3)addablhexpr(3)addablqexpr(3)
π«Ά BUG REPORT π«Ά
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. so like, if something's weird, TELL THEM. they're asking. they want the feedback. this is a safe space. ππ
ASIM/LIP6 Β· October 1, 1997 β yeah bestie this page is older than most of us and she's still serving. mwah. π periodt. πβπ
π¦ where this page comes from
- fedora 43: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 43: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance-devel 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms