Lines Matching refs:lb
473 static inline PetscReal ST_InternalPN(PetscScalar in, PetscReal lb, PetscReal ub) in ST_InternalPN() argument
475 return PetscMax(0, PetscRealPart(in) - ub) - PetscMax(0, -PetscRealPart(in) - PetscAbsReal(lb)); in ST_InternalPN()
478 static inline PetscReal ST_InternalNN(PetscScalar in, PetscReal lb, PetscReal ub) in ST_InternalNN() argument
480 …cMax(0, PetscRealPart(in) + PetscAbsReal(ub)) - PetscMax(0, -PetscRealPart(in) - PetscAbsReal(lb)); in ST_InternalNN()
483 static inline PetscReal ST_InternalPP(PetscScalar in, PetscReal lb, PetscReal ub) in ST_InternalPP() argument
485 return PetscMax(0, PetscRealPart(in) - ub) + PetscMin(0, PetscRealPart(in) - lb); in ST_InternalPP()
513 PetscErrorCode TaoSoftThreshold(Vec in, PetscReal lb, PetscReal ub, Vec out) in TaoSoftThreshold() argument
524 if (lb == ub) { in TaoSoftThreshold()
528 …PetscCheck(lb < ub, PETSC_COMM_SELF, PETSC_ERR_ARG_INCOMP, "Lower bound needs to be lower than upp… in TaoSoftThreshold()
530 if (ub >= 0 && lb < 0) { in TaoSoftThreshold()
531 for (i = 0; i < nlocal; i++) outarray[i] = ST_InternalPN(inarray[i], lb, ub); in TaoSoftThreshold()
532 } else if (ub < 0 && lb < 0) { in TaoSoftThreshold()
533 for (i = 0; i < nlocal; i++) outarray[i] = ST_InternalNN(inarray[i], lb, ub); in TaoSoftThreshold()
535 for (i = 0; i < nlocal; i++) outarray[i] = ST_InternalPP(inarray[i], lb, ub); in TaoSoftThreshold()