1c4da4110SBarry Smith#define PETSCVEC_DLL 2c6db04a5SJed Brown#include <petscsys.h> 3c4da4110SBarry Smith 4c4da4110SBarry Smith#define NOTLIKELY -1.234567890123 5c4da4110SBarry Smith 6c4da4110SBarry SmithEXTERN_C_BEGIN 7*f236b2adSBarry Smithint PETSC_VISIBILITY_PUBLIC PFApply_String(void *value,PetscInt n,PetscScalar *in,PetscScalar *out) 8c4da4110SBarry Smith{ 9*f236b2adSBarry Smith PetscInt i; 10*f236b2adSBarry Smith PetscScalar x,y,z,f = NOTLIKELY,x1 = 0,x2 = 0,x3 = 0,x4 = 0,x5 = 0; 11*f236b2adSBarry Smith PetscScalar f1 = NOTLIKELY, f2 = 0,f3 = 0,f4 = 0,f5 = 0; 12c4da4110SBarry Smith 13*f236b2adSBarry Smith (void)x; 14*f236b2adSBarry Smith (void)y; 15*f236b2adSBarry Smith (void)z; 16*f236b2adSBarry Smith (void)f; 17*f236b2adSBarry Smith (void)x1; 18*f236b2adSBarry Smith (void)x2; 19*f236b2adSBarry Smith (void)x3; 20*f236b2adSBarry Smith (void)x4; 21*f236b2adSBarry Smith (void)x5; 22*f236b2adSBarry Smith (void)f1; 23*f236b2adSBarry Smith (void)f2; 24*f236b2adSBarry Smith (void)f3; 25*f236b2adSBarry Smith (void)f4; 26*f236b2adSBarry Smith (void)f5; 27c4da4110SBarry Smith for (i=0; i<n; i++) { 28*f236b2adSBarry Smith x1 = x = in[_NIN_*i]; 29*f236b2adSBarry Smith#if (_NIN_ > 1) 30*f236b2adSBarry Smith x2 = y = in[_NIN_*i+1]; 31c4da4110SBarry Smith#endif 32*f236b2adSBarry Smith#if (_NIN_ > 2) 33*f236b2adSBarry Smith x3 = z = in[_NIN_*i+2]; 34c4da4110SBarry Smith#endif 35*f236b2adSBarry Smith#if (_NIN_ > 3) 36*f236b2adSBarry Smith x4 = in[_NIN_*i+3]; 37c4da4110SBarry Smith#endif 38*f236b2adSBarry Smith#if (_NIN_ > 4) 39*f236b2adSBarry Smith x5 = in[_NIN_*i+4]; 40c4da4110SBarry Smith#endif 41c4da4110SBarry Smith FUNCTION; 42c4da4110SBarry Smith if (f == NOTLIKELY) { 43c4da4110SBarry Smith out[_NOUT_*i] = f1; 44c4da4110SBarry Smith } else { 45c4da4110SBarry Smith out[_NOUT_*i] = f; 46c4da4110SBarry Smith } 47c4da4110SBarry Smith#if (_NOUT_ > 1) 48c4da4110SBarry Smith out[_NOUT_*i+1] = f2; 49c4da4110SBarry Smith#endif 50c4da4110SBarry Smith#if (_NOUT_ > 2) 51c4da4110SBarry Smith out[_NOUT_*i+2] = f3; 52c4da4110SBarry Smith#endif 53c4da4110SBarry Smith#if (_NOUT_ > 3) 54c4da4110SBarry Smith out[_NOUT_*i+3] = f4; 55c4da4110SBarry Smith#endif 56c4da4110SBarry Smith#if (_NOUT_ > 4) 57c4da4110SBarry Smith out[_NOUT_*i+4] = f5; 58c4da4110SBarry Smith#endif 59c4da4110SBarry Smith } 60*f236b2adSBarry Smith return(0); 61c4da4110SBarry Smith} 62c4da4110SBarry SmithEXTERN_C_END 63