next up previous contents
Next: Polynomial Integration: Up: The Implementation: Previous: Multiplication:

Scalar Multiplication:

    // ********************************************** //
    // Overloaded Operator * (FLOAT t,FLOAT_POLY& P)  //
    // ********************************************** //
FLOAT_POLY operator*(FLOAT t,FLOAT_POLY& P)
{
  FLOAT_POLY *PRODUCT = new FLOAT_POLY();
  FLOAT_POLY_CELL *T;
  if(P.head==NULL){
    //the incoming polynomial is degenerate
    return(*PRODUCT);
    }
  else{
    //P is non NULL
    *PRODUCT = P;
    for(FLOATPOLYIter next(*PRODUCT); next;++next){
      *next() *= t;
      }
    return(*PRODUCT);
    }
}

    // ***************************************** //
    // Overloaded Operator * (FLOAT_POLY,FLOAT)  //
    // ***************************************** //
FLOAT_POLY operator*(FLOAT_POLY& P,FLOAT t)
{
  FLOAT_POLY PRODUCT;
  FLOAT_POLY_CELL *T;
  if(P.head==NULL){
    //the incoming polynomial is degenerate
    return(PRODUCT);
    }
  else{
    //P is non NULL
    PRODUCT = P;
    for(FLOATPOLYIter next(PRODUCT); next;++next){
      *next() *= t;
      }
    return(PRODUCT);
    }
}

    // ***************************************** //
    // Overloaded Operator *= (FLOAT,FLOAT_POLY) //
    // ***************************************** //
FLOAT_POLY& operator*=(FLOAT t,FLOAT_POLY& P)
{
  if(P.head==NULL){
    //the incoming polynomial is degenerate
    return(P);
    }
  else{
    //P is non NULL
    for(FLOATPOLYIter next(P); next;++next){
      *next() *= t;
      }
    return(P);
    }
}

    // ***************************************** //
    // Overloaded Operator *= (FLOAT_POLY,FLOAT) //
    // ***************************************** //
FLOAT_POLY& operator*=(FLOAT_POLY& P,FLOAT t)
{
  if(P.head==NULL){
    //the incoming polynomial is degenerate
    return(P);
    }
  else{
    //P is non NULL
    for(FLOATPOLYIter next(P); next;++next){
      *next() *= t;
      }
    return(P);
    }
}



Jim Peterson
1999-04-22