Modular C
C◼complex◼ldouble◼FMA: symbols inserted from C◼snippet◼fma.
+ Collaboration diagram for C◼complex◼ldouble◼FMA: symbols inserted from C◼snippet◼fma.:
C◼complex◼complexX C◼complex◼ldouble◼fma (C◼complex◼complexX x, C◼complex◼complexX y, C◼complex◼complexX z)
 
C◼complex◼complexX C◼complex◼ldouble◼fma—fast (C◼complex◼complexX x, C◼complex◼complexX y, C◼complex◼complexX z)
 
C◼real◼realX C◼complex◼ldouble◼abs2 (C◼complex◼complexX z)
 
C◼real◼realX C◼complex◼ldouble◼real C◼snippet◼fma◼_Ign (C◼complex◼complexX z)
 
#define C◼complex◼ldouble◼real(Z)   ((_Intern◼_CvFspbVH◼C◼complex◼ldouble◼FMA◼overlay){ .c = (Z) }.p[0])
 
#define C◼complex◼ldouble◼imag(Z)   ((_Intern◼_CvFspbVH◼C◼complex◼ldouble◼FMA◼overlay){ .c = (Z) }.p[1])
 
#define C◼complex◼ldouble◼conj(Z)   ((_Intern◼_CvFspbVH◼C◼complex◼ldouble◼FMA◼overlay){ .p = { [0] = C◼complex◼ldouble◼real(Z), [1] = -C◼complex◼ldouble◼imag(Z), }}.c)
 

Detailed Description

See also
C◼snippet◼fma snippet: identifiers inserted directly to an importer for details
This import uses the following slot(s)
slotreplacement
C◼snippet◼fma◼RC◼real◼realX
C◼snippet◼fma◼CC◼complex◼complexX
C◼snippet◼fma◼rfuncC◼real◼ldouble◼fma
C◼snippet◼fma◼rfastC◼real◼ldouble◼fma—fast

Macro Definition Documentation

§ C◼complex◼ldouble◼conj

#define C◼complex◼ldouble◼conj (   Z)    ((_Intern◼_CvFspbVH◼C◼complex◼ldouble◼FMA◼overlay){ .p = { [0] = C◼complex◼ldouble◼real(Z), [1] = -C◼complex◼ldouble◼imag(Z), }}.c)

Definition at line 632 of file C-complex-ldouble.c.

Referenced by C◼snippet◼fma◼_Ign().

§ C◼complex◼ldouble◼imag

#define C◼complex◼ldouble◼imag (   Z)    ((_Intern◼_CvFspbVH◼C◼complex◼ldouble◼FMA◼overlay){ .c = (Z) }.p[1])

§ C◼complex◼ldouble◼real

#define C◼complex◼ldouble◼real (   Z)    ((_Intern◼_CvFspbVH◼C◼complex◼ldouble◼FMA◼overlay){ .c = (Z) }.p[0])

Function Documentation

§ C◼complex◼ldouble◼abs2()

C◼real◼realX C◼complex◼ldouble◼abs2 ( C◼complex◼complexX  z)
inline

Definition at line 664 of file C-complex-ldouble.c.

References C◼complex◼ldouble◼imag, and C◼complex◼ldouble◼real.

664  {
665 #line 57 "/home/gustedt/build/cmod/C/C-snippet-fma.X"
668  return r*r + i*i;
669 }
#define C◼complex◼ldouble◼real(Z)
long double C◼real◼realX
Definition: C-real.c:160
#define C◼complex◼ldouble◼imag(Z)

§ C◼complex◼ldouble◼fma()

C◼complex◼complexX C◼complex◼ldouble◼fma ( C◼complex◼complexX  x,
C◼complex◼complexX  y,
C◼complex◼complexX  z 
)
inline

Definition at line 635 of file C-complex-ldouble.c.

References C◼complex◼ldouble◼CMPLX, C◼complex◼ldouble◼imag, C◼complex◼ldouble◼real, and C◼real◼ldouble◼fma().

635  {
636 #line 32 "/home/gustedt/build/cmod/C/C-snippet-fma.X"
641  return C◼complex◼ldouble◼CMPLX(retr, reti);
642 }
long double C◼real◼ldouble◼fma(long double x, long double y, long double z)
#define C◼complex◼ldouble◼real(Z)
long double C◼real◼realX
Definition: C-real.c:160
#define C◼complex◼ldouble◼imag(Z)
#define C◼complex◼ldouble◼CMPLX(x, y)
This copies platform define CMPLXL.
+ Here is the call graph for this function:

§ C◼complex◼ldouble◼fma—fast()

C◼complex◼complexX C◼complex◼ldouble◼fma—fast ( C◼complex◼complexX  x,
C◼complex◼complexX  y,
C◼complex◼complexX  z 
)
inline

Definition at line 645 of file C-complex-ldouble.c.

References C◼real◼ldouble◼fma—fast().

645  {
646 #line 41 "/home/gustedt/build/cmod/C/C-snippet-fma.X"
647  _Intern◼_CvFspbVH◼C◼complex◼ldouble◼FMA◼overlay X = { .c = x, };
648  _Intern◼_CvFspbVH◼C◼complex◼ldouble◼FMA◼overlay Y = { .c = y, };
649  _Intern◼_CvFspbVH◼C◼complex◼ldouble◼FMA◼overlay Z = { .c = z, };
650  for (unsigned i = 0; i < 2; ++i) {
651 #line 45 "/home/gustedt/build/cmod/C/C-snippet-fma.X"
652  Z.p[i] = C◼real◼ldouble◼fma—fast(X.p[0], Y.p[i], Z.p[i]);
653  }
654  Z.p[0] = -Z.p[0];
655  for (unsigned i = 0; i < 2; ++i) {
656 #line 49 "/home/gustedt/build/cmod/C/C-snippet-fma.X"
657  Z.p[i] = C◼real◼ldouble◼fma—fast(X.p[1], Y.p[1-i], Z.p[i]);
658  }
659  Z.p[0] = -Z.p[0];
660  return Z.c;
661 }
long double C◼real◼ldouble◼fma—fast(long double x, long double y, long double z)
+ Here is the call graph for this function:

§ C◼snippet◼fma◼_Ign()

Definition at line 676 of file C-complex-ldouble.c.

References C◼complex◼ldouble◼conj, C◼complex◼ldouble◼imag, and C◼complex◼ldouble◼real.

676  {
677 #line 68 "/home/gustedt/build/cmod/C/C-snippet-fma.X"
679 }
#define C◼complex◼ldouble◼real(Z)