HYPRE_Int hypre_SStructScale( HYPRE_Complex alpha, hypre_SStructVector *y ) { HYPRE_Int nparts = hypre_SStructVectorNParts(y); HYPRE_Int part; HYPRE_Int y_object_type= hypre_SStructVectorObjectType(y); if (y_object_type == HYPRE_SSTRUCT) { for (part = 0; part < nparts; part++) { hypre_SStructPScale(alpha, hypre_SStructVectorPVector(y, part)); } } else if (y_object_type == HYPRE_PARCSR) { hypre_ParVector *y_par; hypre_SStructVectorConvert(y, &y_par); hypre_ParVectorScale(alpha, y_par); } return hypre_error_flag; }
int hypre_SStructScale( double alpha, hypre_SStructVector *y ) { int ierr = 0; int nparts = hypre_SStructVectorNParts(y); int part; int y_object_type= hypre_SStructVectorObjectType(y); if (y_object_type == HYPRE_SSTRUCT) { for (part = 0; part < nparts; part++) { hypre_SStructPScale(alpha, hypre_SStructVectorPVector(y, part)); } } else if (y_object_type == HYPRE_PARCSR) { hypre_ParVector *y_par; hypre_SStructVectorConvert(y, &y_par); hypre_ParVectorScale(alpha, y_par); } return ierr; }