mcn@lanl.gov (Michael C. Neuman) (12/22/90)
I have the following set of code which just refuses to compile under 'ncs' for the Connection Machine: [...] typedef struct {double hlong,hlat,hrad;} polar; typedef struct {double x,y,z;} cart; cart polarconv(what) polar what; { [...] It gives me a syntax error on the line "cart polarconv(what)". Also, this same code compiles just fine using 'cc' on a Sun. WHY? :-) Also, the compiler doesn't seem to like code like this: #define RADDEG 57.29 [...] double x; x=cos(180/RADDEG); /* math.h included */ [...] Can anyone tell me what I'm doing wrong? Thanks! -- ******************************************************************************* * Mike Neuman * "Well, I dunno, but I guess the Cray will have to suffice."* * mcn@lanl.gov * - When one can't run a program on a Connection Machine * *******************************************************************************
prk@planet.bt.co.uk (KnightRider) (12/24/90)
mcn@lanl.gov (Michael C. Neuman) writes: >I have the following set of code which just refuses to compile under >'ncs' for the Connection Machine: >[...] >typedef struct {double hlong,hlat,hrad;} polar; >typedef struct {double x,y,z;} cart; >cart polarconv(what) This line tells the compiler you want to return a whole struct from this function call. Some compilers will allow this, others won't. >polar what; >{ >[...] > It gives me a syntax error on the line "cart polarconv(what)". Also, >this same code compiles just fine using 'cc' on a Sun. WHY? :-) See above > Also, the compiler doesn't seem to like code like this: >#define RADDEG 57.29 If you use this constant, your result will be off by about 100ppm, doesn't sound like a lot but it accumulates... (This is one of the less well known parts of Murphy's law: Randon errors add up in a single direction.. Try const double raddeg = 45.0/ atan (1.0); >[...] >double x; >x=cos(180/RADDEG); /* math.h included */ >[...] 180 is an integer constant, not a double one. Try substituting 180.0 > Can anyone tell me what I'm doing wrong? Thanks! >-- >******************************************************************************* >* Mike Neuman * "Well, I dunno, but I guess the Cray will have to suffice."* >* mcn@lanl.gov * - When one can't run a program on a Connection Machine * >******************************************************************************* Peter Knight BT Research #include <std.disclaimer>