1*c4da4110SBarry Smith#define PETSCVEC_DLL 2*c4da4110SBarry Smith/*$Id: cstringbase.c,v 1.2 2000/02/04 21:37:18 bsmith Exp $*/ 3*c4da4110SBarry Smith#include "petscsys.h" 4*c4da4110SBarry Smith 5*c4da4110SBarry Smith#define NOTLIKELY -1.234567890123 6*c4da4110SBarry Smith 7*c4da4110SBarry SmithEXTERN_C_BEGIN 8*c4da4110SBarry Smith#undef __FUNC__ 9*c4da4110SBarry Smith#define __FUNC__ "PFApply_String" 10*c4da4110SBarry Smithint PETSCVEC_DLLEXPORT PFApply_String(void *value,int n,Scalar *in,Scalar *out) 11*c4da4110SBarry Smith{ 12*c4da4110SBarry Smith int i; 13*c4da4110SBarry Smith Scalar x,y,z,f = NOTLIKELY,x1,x2,x3,x4,x5,f1,f2,f3,f4,f5; 14*c4da4110SBarry Smith 15*c4da4110SBarry Smith PetscFunctionBegin; 16*c4da4110SBarry Smith for (i=0; i<n; i++) { 17*c4da4110SBarry Smith x1 = x = in[_MIN_*i]; 18*c4da4110SBarry Smith#if (_MIN_ > 1) 19*c4da4110SBarry Smith x2 = y = in[_MIN_*i+1]; 20*c4da4110SBarry Smith#endif 21*c4da4110SBarry Smith#if (_MIN_ > 2) 22*c4da4110SBarry Smith x3 = z = in[_MIN_*i+2]; 23*c4da4110SBarry Smith#endif 24*c4da4110SBarry Smith#if (_MIN_ > 3) 25*c4da4110SBarry Smith x4 = in[_MIN_*i+3]; 26*c4da4110SBarry Smith#endif 27*c4da4110SBarry Smith#if (_MIN_ > 4) 28*c4da4110SBarry Smith x5 = in[_MIN_*i+4]; 29*c4da4110SBarry Smith#endif 30*c4da4110SBarry Smith FUNCTION; 31*c4da4110SBarry Smith if (f == NOTLIKELY) { 32*c4da4110SBarry Smith out[_NOUT_*i] = f1; 33*c4da4110SBarry Smith } else { 34*c4da4110SBarry Smith out[_NOUT_*i] = f; 35*c4da4110SBarry Smith } 36*c4da4110SBarry Smith#if (_NOUT_ > 1) 37*c4da4110SBarry Smith out[_NOUT_*i+1] = f2; 38*c4da4110SBarry Smith#endif 39*c4da4110SBarry Smith#if (_NOUT_ > 2) 40*c4da4110SBarry Smith out[_NOUT_*i+2] = f3; 41*c4da4110SBarry Smith#endif 42*c4da4110SBarry Smith#if (_NOUT_ > 3) 43*c4da4110SBarry Smith out[_NOUT_*i+3] = f4; 44*c4da4110SBarry Smith#endif 45*c4da4110SBarry Smith#if (_NOUT_ > 4) 46*c4da4110SBarry Smith out[_NOUT_*i+4] = f5; 47*c4da4110SBarry Smith#endif 48*c4da4110SBarry Smith } 49*c4da4110SBarry Smith PetscFunctionReturn(0); 50*c4da4110SBarry Smith} 51*c4da4110SBarry SmithEXTERN_C_END 52