@@ -362,7 +362,11 @@ NPY_INPLACE npy_longdouble npy_heavisidel(npy_longdouble x, npy_longdouble h0);
362
362
363
363
static inline double npy_creal (const npy_cdouble z )
364
364
{
365
+ #if defined(__cplusplus )
365
366
return ((double * ) & z )[0 ];
367
+ #else
368
+ return creal (z );
369
+ #endif
366
370
}
367
371
368
372
static inline void npy_csetreal (npy_cdouble * z , const double r )
@@ -372,7 +376,11 @@ static inline void npy_csetreal(npy_cdouble *z, const double r)
372
376
373
377
static inline double npy_cimag (const npy_cdouble z )
374
378
{
379
+ #if defined(__cplusplus )
375
380
return ((double * ) & z )[1 ];
381
+ #else
382
+ return cimag (z );
383
+ #endif
376
384
}
377
385
378
386
static inline void npy_csetimag (npy_cdouble * z , const double i )
@@ -382,7 +390,11 @@ static inline void npy_csetimag(npy_cdouble *z, const double i)
382
390
383
391
static inline float npy_crealf (const npy_cfloat z )
384
392
{
393
+ #if defined(__cplusplus )
385
394
return ((float * ) & z )[0 ];
395
+ #else
396
+ return crealf (z );
397
+ #endif
386
398
}
387
399
388
400
static inline void npy_csetrealf (npy_cfloat * z , const float r )
@@ -392,7 +404,11 @@ static inline void npy_csetrealf(npy_cfloat *z, const float r)
392
404
393
405
static inline float npy_cimagf (const npy_cfloat z )
394
406
{
407
+ #if defined(__cplusplus )
395
408
return ((float * ) & z )[1 ];
409
+ #else
410
+ return cimagf (z );
411
+ #endif
396
412
}
397
413
398
414
static inline void npy_csetimagf (npy_cfloat * z , const float i )
@@ -402,7 +418,11 @@ static inline void npy_csetimagf(npy_cfloat *z, const float i)
402
418
403
419
static inline npy_longdouble npy_creall (const npy_clongdouble z )
404
420
{
421
+ #if defined(__cplusplus )
405
422
return ((longdouble_t * ) & z )[0 ];
423
+ #else
424
+ return creall (z );
425
+ #endif
406
426
}
407
427
408
428
static inline void npy_csetreall (npy_clongdouble * z , const longdouble_t r )
@@ -412,7 +432,11 @@ static inline void npy_csetreall(npy_clongdouble *z, const longdouble_t r)
412
432
413
433
static inline npy_longdouble npy_cimagl (const npy_clongdouble z )
414
434
{
435
+ #if defined(__cplusplus )
415
436
return ((longdouble_t * ) & z )[1 ];
437
+ #else
438
+ return cimagl (z );
439
+ #endif
416
440
}
417
441
418
442
static inline void npy_csetimagl (npy_clongdouble * z , const longdouble_t i )
0 commit comments