Lines Matching refs:rawx

117   void FractionFieldBase::myDeriv(RawPtr rawlhs, ConstRawPtr rawf, ConstRawPtr rawx) const  in myDeriv()  argument
121 CoCoA_ASSERT(Rx->myIsOne(myRawDen(rawx))); in myDeriv()
122 const RingElemAlias x(Rx, myRawNum(rawx)); in myDeriv()
161 static value_t& import(RingElemRawPtr rawx);
162 static const value_t& import(RingElemConstRawPtr rawx);
168 void CancelFactors(RawPtr rawx) const;
184 …virtual void myDelete(RawPtr rawx) const; // destroys x (incl all resources)
185 virtual void mySwap(RawPtr rawx, RawPtr rawy) const; // swap(x, y)
186 virtual void myAssign(RawPtr rawlhs, ConstRawPtr rawx) const; // lhs = x
190 virtual void myRecvTwinFloat(RawPtr rawlhs, ConstRawPtr rawx) const;
191 virtual void myNegate(RawPtr rawlhs, ConstRawPtr rawx) const; // lhs = -x
192 virtual void myAdd(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const; // lhs = x+y
193 virtual void mySub(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const; // lhs = x-y
194 virtual void myMul(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const; // lhs = x*y
195 virtual void myDiv(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const; // lhs = x/y
196 …virtual bool myIsDivisible(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const;// lhs = x/y, …
197 …virtual bool myIsInvertible(ConstRawPtr rawx) const; // true iff x is inv…
198 …virtual void myGcd(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const; // lhs = gcd(x,y) in…
199 …virtual void myPowerSmallExp(RawPtr rawlhs, ConstRawPtr rawx, long n) const;// lhs = x^n, n>1, x n…
201 virtual void myOutput(std::ostream& out, ConstRawPtr rawx) const; // out << x
202 virtual bool myIsPrintAtom(ConstRawPtr rawx) const;
203 virtual bool myIsPrintedWithMinus(ConstRawPtr rawx) const;
207 virtual void myOutput(OpenMathOutput& OMOut, ConstRawPtr rawx) const; // OMOut << x
208 virtual bool myIsZero(ConstRawPtr rawx) const; // x == 0
209 virtual bool myIsOne(ConstRawPtr rawx) const; // x == 1
210 virtual bool myIsMinusOne(ConstRawPtr rawx) const; // x == -1
211 …virtual bool myIsInteger(BigInt& N, ConstRawPtr rawx) const; // true iff x is int…
212 …virtual bool myIsRational(BigRat& Q, ConstRawPtr rawx) const; // true iff x is…
214 virtual bool myIsEqual(ConstRawPtr rawx, ConstRawPtr rawy) const; // x == y
252 inline FractionFieldImpl::value_t& FractionFieldImpl::import(RingElemRawPtr rawx) in import() argument
254 return *static_cast<value_t*>(rawx.myRawPtr()); in import()
257 inline const FractionFieldImpl::value_t& FractionFieldImpl::import(RingElemConstRawPtr rawx) in import() argument
259 return *static_cast<const value_t*>(rawx.myRawPtr()); in import()
394 void FractionFieldImpl::myDelete(RawPtr rawx) const in myDelete() argument
396 myBaseRingValue->myDelete(RefDen(rawx)); in myDelete()
397 myBaseRingValue->myDelete(RefNum(rawx)); in myDelete()
398 myMemMgr.free(rawx.myRawPtr()); in myDelete()
402 void FractionFieldImpl::mySwap(RawPtr rawx, RawPtr rawy) const in mySwap() argument
404 myBaseRingValue->mySwap(RefNum(rawx), RefNum(rawy)); in mySwap()
405 myBaseRingValue->mySwap(RefDen(rawx), RefDen(rawy)); in mySwap()
409 void FractionFieldImpl::myAssign(RawPtr rawlhs, ConstRawPtr rawx) const in myAssign() argument
411 myBaseRingValue->myAssign(RefNum(rawlhs), RefNum(rawx)); in myAssign()
412 myBaseRingValue->myAssign(RefDen(rawlhs), RefDen(rawx)); in myAssign()
437 void FractionFieldImpl::myRecvTwinFloat(RawPtr rawlhs, ConstRawPtr rawx) const in myRecvTwinFloat() argument
440 myBaseRingValue->myRecvTwinFloat(RefNum(rawlhs), rawx); in myRecvTwinFloat()
445 void FractionFieldImpl::myNegate(RawPtr rawlhs, ConstRawPtr rawx) const in myNegate() argument
447 myBaseRingValue->myNegate(RefNum(rawlhs), RefNum(rawx)); in myNegate()
448 myBaseRingValue->myAssign(RefDen(rawlhs), RefDen(rawx)); in myNegate()
452 void FractionFieldImpl::myAdd(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const in myAdd() argument
454 if (myBaseRingValue->myIsOne(RefDen(rawx)) && in myAdd()
457 myBaseRingValue->myAdd(RefNum(rawlhs), RefNum(rawx), RefNum(rawy)); in myAdd()
462 myBaseRingValue->myMul(raw(prod1), RefNum(rawx), RefDen(rawy)); in myAdd()
464 myBaseRingValue->myMul(raw(prod2), RefNum(rawy), RefDen(rawx)); in myAdd()
465 myBaseRingValue->myMul(RefDen(rawlhs), RefDen(rawx), RefDen(rawy)); in myAdd()
472 void FractionFieldImpl::mySub(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const in mySub() argument
474 if (myBaseRingValue->myIsOne(RefDen(rawx)) && in mySub()
477 myBaseRingValue->mySub(RefNum(rawlhs), RefNum(rawx), RefNum(rawy)); in mySub()
482 myBaseRingValue->myMul(raw(prod1), RefNum(rawx), RefDen(rawy)); in mySub()
484 myBaseRingValue->myMul(raw(prod2), RefNum(rawy), RefDen(rawx)); in mySub()
485 myBaseRingValue->myMul(RefDen(rawlhs), RefDen(rawx), RefDen(rawy)); in mySub()
492 void FractionFieldImpl::myMul(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const in myMul() argument
496 myBaseRingValue->myGcd(raw(g1), RefNum(rawx), RefDen(rawy)); // g1 = gcd(num(x), den(y)) in myMul()
497 myBaseRingValue->myGcd(raw(g2), RefNum(rawy), RefDen(rawx)); // g2 = gcd(num(y), den(x)) in myMul()
498 myBaseRingValue->myDiv(raw(q1), RefNum(rawx), raw(g1)); // q1 = num(x)/g1 in myMul()
502 myBaseRingValue->myDiv(raw(q1), RefDen(rawx), raw(g2)); // q1 = den(x)/g2 in myMul()
510 void FractionFieldImpl::myDiv(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const in myDiv() argument
515 myBaseRingValue->myGcd(raw(g1), RefNum(rawx), RefNum(rawy)); // g1 = gcd(num(x), num(y)) in myDiv()
516 myBaseRingValue->myGcd(raw(g2), RefDen(rawx), RefDen(rawy)); // g2 = gcd(den(x), den(y)) in myDiv()
517 myBaseRingValue->myDiv(raw(q1), RefNum(rawx), raw(g1)); // q1 = num(x)/g1 in myDiv()
521 myBaseRingValue->myDiv(raw(q1), RefDen(rawx), raw(g2)); // q1 = den(x)/g2 in myDiv()
530 bool FractionFieldImpl::myIsDivisible(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const in myIsDivisible() argument
533 myDiv(rawlhs, rawx, rawy); in myIsDivisible()
538 bool FractionFieldImpl::myIsInvertible(ConstRawPtr rawx) const in myIsInvertible() argument
540 return !myIsZero(rawx); in myIsInvertible()
544 void FractionFieldImpl::myGcd(RawPtr rawlhs, ConstRawPtr rawx, ConstRawPtr rawy) const in myGcd() argument
546 myGcdInField(rawlhs, rawx, rawy); in myGcd()
550 void FractionFieldImpl::myPowerSmallExp(RawPtr rawlhs, ConstRawPtr rawx, long n) const in myPowerSmallExp() argument
554 CoCoA_ASSERT(!myIsZero(rawx) && !myIsOne(rawx) && !myIsMinusOne(rawx)); in myPowerSmallExp()
556 …myBaseRingValue->myPower(RefNum(rawlhs), RefNum(rawx), n); // call myPower because RefNum(rawx) c… in myPowerSmallExp()
557 …myBaseRingValue->myPower(RefDen(rawlhs), RefDen(rawx), n); // call myPower because RefDen(rawx) c… in myPowerSmallExp()
568 bool FractionFieldImpl::myIsPrintAtom(ConstRawPtr rawx) const in myIsPrintAtom() argument
570 if (!myBaseRingValue->myIsOne(RefDen(rawx))) return false; in myIsPrintAtom()
571 return myBaseRingValue->myIsPrintAtom(RefNum(rawx)); in myIsPrintAtom()
575 bool FractionFieldImpl::myIsPrintedWithMinus(ConstRawPtr rawx) const in myIsPrintedWithMinus() argument
577 if (myBaseRingValue->myIsPrintedWithMinus(RefNum(rawx))) in myIsPrintedWithMinus()
579 if (myBaseRingValue->myIsMinusOne(RefNum(rawx))) return true; in myIsPrintedWithMinus()
581 myBaseRingValue->myNegate(raw(tmp), RefNum(rawx)); in myIsPrintedWithMinus()
584 if (!myBaseRingValue->myIsOne(RefDen(rawx))) return false; in myIsPrintedWithMinus()
585 return myBaseRingValue->myIsPrintedWithMinus(RefNum(rawx)); in myIsPrintedWithMinus()
589 void FractionFieldImpl::myOutput(std::ostream& out, ConstRawPtr rawx) const in myOutput() argument
596 if (myBaseRingValue->myIsOne(RefDen(rawx))) in myOutput()
598 myBaseRingValue->myOutput(out, RefNum(rawx)); in myOutput()
601 if (myBaseRingValue->myIsMinusOne(RefDen(rawx))) in myOutput()
603 out << -RingElemAlias(myBaseRing(), RefNum(rawx)); in myOutput()
609 UseBrackets = (!myBaseRingValue->myIsPrintAtom(RefNum(rawx))) && in myOutput()
611 (!myIsPrintedWithMinus(rawx)); in myOutput()
613 myBaseRingValue->myOutput(out, RefNum(rawx)); in myOutput()
617 UseBrackets = !myBaseRingValue->myIsPrintAtom(RefDen(rawx)); in myOutput()
619 myBaseRingValue->myOutput(out, RefDen(rawx)); in myOutput()
651 void FractionFieldImpl::myOutput(OpenMathOutput& OMOut, ConstRawPtr rawx) const in myOutput() argument
653 myBaseRingValue->myOutput(OMOut, RefNum(rawx)); in myOutput()
654 myBaseRingValue->myOutput(OMOut, RefDen(rawx)); in myOutput()
658 bool FractionFieldImpl::myIsZero(ConstRawPtr rawx) const in myIsZero() argument
660 return myBaseRingValue->myIsZero(RefNum(rawx)); in myIsZero()
664 bool FractionFieldImpl::myIsOne(ConstRawPtr rawx) const in myIsOne() argument
667 return myBaseRingValue->myIsEqual(RefNum(rawx), RefDen(rawx)); in myIsOne()
671 bool FractionFieldImpl::myIsMinusOne(ConstRawPtr rawx) const in myIsMinusOne() argument
674 myBaseRingValue->myAdd(raw(tmp), RefNum(rawx), RefDen(rawx)); in myIsMinusOne()
679 bool FractionFieldImpl::myIsInteger(BigInt& N, ConstRawPtr rawx) const in myIsInteger() argument
682 … if (myBaseRingValue->myIsOne(RefDen(rawx))) return myBaseRingValue->myIsInteger(N, RefNum(rawx)); in myIsInteger()
683 if (myBaseRingValue->myIsMinusOne(RefDen(rawx))) in myIsInteger()
685 if (!myBaseRingValue->myIsInteger(N, RefNum(rawx))) return false; in myIsInteger()
690 if (myBaseRingValue->myIsInvertible(RefDen(rawx))) in myIsInteger()
693 myBaseRingValue->myDiv(raw(tmp), RefNum(rawx), RefDen(rawx)); in myIsInteger()
698 if (!myBaseRingValue->myIsDivisible(raw(tmp), RefNum(rawx), RefDen(rawx))) return false; in myIsInteger()
704 bool FractionFieldImpl::myIsRational(BigRat& Q, ConstRawPtr rawx) const in myIsRational() argument
706 if (myIsZero(rawx)) { Q = 0; return true; } in myIsRational()
708 if (!myBaseRingValue->myIsInteger(D, RefDen(rawx))) return false; in myIsRational()
709 if (!myBaseRingValue->myIsInteger(N, RefNum(rawx))) return false; in myIsRational()
718 bool FractionFieldImpl::myIsEqual(ConstRawPtr rawx, ConstRawPtr rawy) const in myIsEqual() argument
722 if (myBaseRingValue->myIsEqual(RefNum(rawx), RefNum(rawy)) && in myIsEqual()
723 myBaseRingValue->myIsEqual(RefDen(rawx), RefDen(rawy))) return true; in myIsEqual()
725 myBaseRingValue->myMul(raw(tmp), RefNum(rawx), RefDen(rawy)); in myIsEqual()
727 return myBaseRingValue->myIsZeroAddMul(raw(tmp), RefNum(rawy), RefDen(rawx)); in myIsEqual()
731 void FractionFieldImpl::CancelFactors(RawPtr rawx) const in CancelFactors() argument
733 …if (myBaseRingValue->myIsZero(RefNum(rawx))) { myBaseRingValue->myAssign(RefDen(rawx), 1); return;… in CancelFactors()
735 myBaseRingValue->myGcd(raw(h), RefNum(rawx), RefDen(rawx)); in CancelFactors()
736 myBaseRingValue->myDiv(RefNum(rawx), RefNum(rawx), raw(h)); in CancelFactors()
737 myBaseRingValue->myDiv(RefDen(rawx), RefDen(rawx), raw(h)); in CancelFactors()