IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 13, 2007, 2:39:51 PM (19 years ago)
Author:
Paul Price
Message:

Removing complex number support. No-one was using it, and it prevents compilation on Solaris.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/math/psUnaryOp.c

    r10999 r12431  
    3131 *  @author Robert DeSonia, MHPCC
    3232 *
    33  *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
    34  *  @date $Date: 2007-01-09 22:38:53 $
     33 *  @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
     34 *  @date $Date: 2007-03-14 00:39:50 $
    3535 *
    3636 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    4545 ******************************************************************************/
    4646#include <string.h>
    47 #include <complex.h>
    4847#include <math.h>
    4948#include <stdint.h>
     
    123122#define UNARY_TYPE(DIM,OUT,IN,OP) \
    124123switch (IN->type) { \
     124case PS_TYPE_U8: \
     125    DIM(OUT,IN,OP,U8); \
     126    break; \
     127case PS_TYPE_U16: \
     128    DIM(OUT,IN,OP,U16); \
     129    break; \
     130case PS_TYPE_U32: \
     131    DIM(OUT,IN,OP,U32); \
     132    break; \
     133case PS_TYPE_U64: \
     134    DIM(OUT,IN,OP,U64); \
     135    break; \
     136case PS_TYPE_S8: \
     137    DIM(OUT,IN,OP,S8); \
     138    break; \
     139case PS_TYPE_S16: \
     140    DIM(OUT,IN,OP,S16); \
     141    break; \
    125142case PS_TYPE_S32: \
    126143    DIM(OUT,IN,OP,S32); \
    127144    break; \
     145case PS_TYPE_S64: \
     146    DIM(OUT,IN,OP,S64); \
     147    break; \
    128148case PS_TYPE_F32: \
    129149    DIM(OUT,IN,OP,F32); \
     
    131151case PS_TYPE_F64: \
    132152    DIM(OUT,IN,OP,F64); \
    133     break; \
    134 case PS_TYPE_C32: \
    135     DIM(OUT,IN,OP,C32); \
    136     break; \
    137 case PS_TYPE_S8: \
    138     DIM(OUT,IN,OP,C32); \
    139     break; \
    140 case PS_TYPE_U8: \
    141     DIM(OUT,IN,OP,C32); \
    142     break; \
    143 case PS_TYPE_S16: \
    144     DIM(OUT,IN,OP,C32); \
    145     break; \
    146 case PS_TYPE_U16: \
    147     DIM(OUT,IN,OP,C32); \
    148     break; \
    149 case PS_TYPE_U32: \
    150     DIM(OUT,IN,OP,C32); \
    151     break; \
    152 case PS_TYPE_S64: \
    153     DIM(OUT,IN,OP,C32); \
    154     break; \
    155 case PS_TYPE_U64: \
    156     DIM(OUT,IN,OP,C32); \
    157     break; \
    158 case PS_TYPE_C64: \
    159     DIM(OUT,IN,OP,C32); \
    160153    break; \
    161154default: { \
     
    174167#define UNARY_OP(DIM,OUT,IN,OP) \
    175168if(!strncmp(OP, "abs", 3)) { \
    176     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    177         UNARY_TYPE(DIM,OUT,IN,cabs((double complex)*i1)); \
    178     } else { \
    179         UNARY_TYPE(DIM,OUT,IN,fabs((double)*i1)); \
    180     } \
     169    UNARY_TYPE(DIM,OUT,IN,fabs((double)*i1)); \
    181170} else if(!strncmp(OP, "sqrt", 4)) { \
    182     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    183         UNARY_TYPE(DIM,OUT,IN,csqrt((double complex)*i1)); \
    184     } else { \
    185         UNARY_TYPE(DIM,OUT,IN,sqrt((double)*i1)); \
    186     } \
     171    UNARY_TYPE(DIM,OUT,IN,sqrt((double)*i1)); \
    187172} else if(!strncmp(OP, "exp", 3)) { \
    188     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    189         UNARY_TYPE(DIM,OUT,IN,cexp((double complex)*i1)); \
    190     } else { \
    191         UNARY_TYPE(DIM,OUT,IN,exp((double)*i1)); \
    192     } \
     173    UNARY_TYPE(DIM,OUT,IN,exp((double)*i1)); \
    193174} else if(!strncmp(OP, "ln", 2)) { \
    194     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    195         UNARY_TYPE(DIM,OUT,IN,clog((double complex)*i1)); \
    196     } else { \
    197         UNARY_TYPE(DIM,OUT,IN,log((double)*i1)); \
    198     } \
     175    UNARY_TYPE(DIM,OUT,IN,log((double)*i1)); \
    199176} else if(!strncmp(OP, "ten", 3)) { \
    200     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    201         UNARY_TYPE(DIM,OUT,IN,cpow(10.0,(double complex)*i1)); \
    202     } else { \
    203         UNARY_TYPE(DIM,OUT,IN,pow(10.0,(double)*i1)); \
    204     } \
     177    UNARY_TYPE(DIM,OUT,IN,pow(10.0,(double)*i1)); \
    205178} else if(!strncmp(OP, "log", 3)) { \
    206     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    207         UNARY_TYPE(DIM,OUT,IN,clog((double complex)*i1)/log(10.0)); \
    208     } else { \
    209         UNARY_TYPE(DIM,OUT,IN,log10((double)*i1)); \
    210     } \
     179    UNARY_TYPE(DIM,OUT,IN,log10((double)*i1)); \
    211180} else if(!strncmp(OP, "sin", 3)) { \
    212     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    213         UNARY_TYPE(DIM,OUT,IN,csin((double complex)*i1)); \
    214     } else { \
    215         UNARY_TYPE(DIM,OUT,IN,sin((double)*i1)); \
    216     } \
     181    UNARY_TYPE(DIM,OUT,IN,sin((double)*i1)); \
    217182} else if(!strncmp(OP, "dsin", 4)) { \
    218     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    219         UNARY_TYPE(DIM,OUT,IN,csin((double complex)*i1*D2R)); \
    220     } else { \
    221         UNARY_TYPE(DIM,OUT,IN,sin((double)*i1*D2R)); \
    222     } \
     183    UNARY_TYPE(DIM,OUT,IN,sin((double)*i1*D2R)); \
    223184} else if(!strncmp(OP, "cos", 3)) { \
    224     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    225         UNARY_TYPE(DIM,OUT,IN,ccos((double complex)*i1)); \
    226     } else { \
    227         UNARY_TYPE(DIM,OUT,IN,cos((double)*i1)); \
    228     } \
     185    UNARY_TYPE(DIM,OUT,IN,cos((double)*i1)); \
    229186} else if(!strncmp(OP, "dcos", 4)) { \
    230     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    231         UNARY_TYPE(DIM,OUT,IN,ccos((double complex)*i1*D2R)); \
    232     } else { \
    233         UNARY_TYPE(DIM,OUT,IN,cos((double)*i1*D2R)); \
    234     } \
     187    UNARY_TYPE(DIM,OUT,IN,cos((double)*i1*D2R)); \
    235188} else if(!strncmp(OP, "tan", 3)) { \
    236     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    237         UNARY_TYPE(DIM,OUT,IN,ctan((double complex)*i1)); \
    238     } else { \
    239         UNARY_TYPE(DIM,OUT,IN,tan((double)*i1)); \
    240     } \
     189    UNARY_TYPE(DIM,OUT,IN,tan((double)*i1)); \
    241190} else if(!strncmp(OP, "dtan", 4)) { \
    242     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    243         UNARY_TYPE(DIM,OUT,IN,ctan((double complex)*i1*D2R)); \
    244     } else { \
    245         UNARY_TYPE(DIM,OUT,IN,tan((double)*i1*D2R)); \
    246     } \
     191    UNARY_TYPE(DIM,OUT,IN,tan((double)*i1*D2R)); \
    247192} else if(!strncmp(OP, "asin", 4)) { \
    248     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    249         UNARY_TYPE(DIM,OUT,IN,casin((double complex)*i1)); \
    250     } else { \
    251         UNARY_TYPE(DIM,OUT,IN,asin((double)*i1)); \
    252     } \
     193    UNARY_TYPE(DIM,OUT,IN,asin((double)*i1)); \
    253194} else if(!strncmp(OP, "dasin", 5)) { \
    254     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    255         UNARY_TYPE(DIM,OUT,IN,R2D*casin((double complex)*i1)); \
    256     } else { \
    257         UNARY_TYPE(DIM,OUT,IN,(R2D*asin((double)*i1))); \
    258     } \
     195    UNARY_TYPE(DIM,OUT,IN,(R2D*asin((double)*i1))); \
    259196} else if(!strncmp(OP, "acos", 4)) { \
    260     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    261         UNARY_TYPE(DIM,OUT,IN,cacos((double complex)*i1)); \
    262     } else { \
    263         UNARY_TYPE(DIM,OUT,IN,acos((double)*i1)); \
    264     } \
     197    UNARY_TYPE(DIM,OUT,IN,acos((double)*i1)); \
    265198} else if(!strncmp(OP, "dacos", 5)) { \
    266     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    267         UNARY_TYPE(DIM,OUT,IN,R2D*cacos((double complex)*i1)); \
    268     } else { \
    269         UNARY_TYPE(DIM,OUT,IN,R2D*acos((double)*i1)); \
    270     } \
     199    UNARY_TYPE(DIM,OUT,IN,R2D*acos((double)*i1)); \
    271200} else if(!strncmp(OP, "atan", 4)) { \
    272     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    273         UNARY_TYPE(DIM,OUT,IN,catan((double complex)*i1)); \
    274     } else { \
    275         UNARY_TYPE(DIM,OUT,IN,atan((double)*i1)); \
    276     } \
     201    UNARY_TYPE(DIM,OUT,IN,atan((double)*i1)); \
    277202} else if(!strncmp(OP, "datan", 5)) { \
    278     if(PS_IS_PSELEMTYPE_COMPLEX(IN->type)) { \
    279         UNARY_TYPE(DIM,OUT,IN,R2D*catan((double complex)*i1)); \
    280     } else { \
    281         UNARY_TYPE(DIM,OUT,IN,R2D*atan((double)*i1)); \
    282     } \
     203    UNARY_TYPE(DIM,OUT,IN,R2D*atan((double)*i1)); \
    283204} else { \
    284205    psError(PS_ERR_BAD_PARAMETER_VALUE, true, _("Specified operation, %s, is not supported."), OP); \
Note: See TracChangeset for help on using the changeset viewer.