Modular C
C◼complex◼float◼FMA: symbols inserted from C◼snippet◼fma.
+ Collaboration diagram for C◼complex◼float◼FMA: symbols inserted from C◼snippet◼fma.:
C◼complex◼complex8 C◼complex◼float◼fma (C◼complex◼complex8 x, C◼complex◼complex8 y, C◼complex◼complex8 z)
 
C◼complex◼complex8 C◼complex◼float◼fma—fast (C◼complex◼complex8 x, C◼complex◼complex8 y, C◼complex◼complex8 z)
 
C◼real◼real4 C◼complex◼float◼abs2 (C◼complex◼complex8 z)
 
C◼real◼real4 C◼complex◼float◼real C◼snippet◼fma◼_Ign (C◼complex◼complex8 z)
 
#define C◼complex◼float◼real(Z)   ((_Intern◼_MzZDno3q◼C◼complex◼float◼FMA◼overlay){ .c = (Z) }.p[0])
 
#define C◼complex◼float◼imag(Z)   ((_Intern◼_MzZDno3q◼C◼complex◼float◼FMA◼overlay){ .c = (Z) }.p[1])
 
#define C◼complex◼float◼conj(Z)   ((_Intern◼_MzZDno3q◼C◼complex◼float◼FMA◼overlay){ .p = { [0] = C◼complex◼float◼real(Z), [1] = -C◼complex◼float◼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◼real4
C◼snippet◼fma◼CC◼complex◼complex8
C◼snippet◼fma◼rfuncC◼real◼float◼fma
C◼snippet◼fma◼rfastC◼real◼float◼fma—fast

Macro Definition Documentation

§ C◼complex◼float◼conj

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

Definition at line 633 of file C-complex-float.c.

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

§ C◼complex◼float◼imag

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

§ C◼complex◼float◼real

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

Function Documentation

§ C◼complex◼float◼abs2()

C◼real◼real4 C◼complex◼float◼abs2 ( C◼complex◼complex8  z)
inline

Definition at line 665 of file C-complex-float.c.

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

665  {
666 #line 57 "/home/gustedt/build/cmod/C/C-snippet-fma.X"
669  return r*r + i*i;
670 }
#define C◼complex◼float◼imag(Z)
float C◼real◼real4
Definition: C-real.c:158
#define C◼complex◼float◼real(Z)

§ C◼complex◼float◼fma()

Definition at line 636 of file C-complex-float.c.

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

636  {
637 #line 32 "/home/gustedt/build/cmod/C/C-snippet-fma.X"
642  return C◼complex◼float◼CMPLX(retr, reti);
643 }
float C◼real◼float◼fma(float x, float y, float z)
Definition: C-real-float.c:817
#define C◼complex◼float◼CMPLX(x, y)
This copies platform define CMPLXF.
#define C◼complex◼float◼imag(Z)
float C◼real◼real4
Definition: C-real.c:158
#define C◼complex◼float◼real(Z)
+ Here is the call graph for this function:

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

C◼complex◼complex8 C◼complex◼float◼fma—fast ( C◼complex◼complex8  x,
C◼complex◼complex8  y,
C◼complex◼complex8  z 
)
inline

Definition at line 646 of file C-complex-float.c.

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

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

§ C◼snippet◼fma◼_Ign()

Definition at line 677 of file C-complex-float.c.

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

677  {
678 #line 68 "/home/gustedt/build/cmod/C/C-snippet-fma.X"
679  return C◼complex◼float◼real(z);
680 }
#define C◼complex◼float◼real(Z)