BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
PSEUDO_F32vec4.h File Reference
#include "vec_arithmetic.h"
#include <cmath>
#include <iostream>
Include dependency graph for PSEUDO_F32vec4.h:

Go to the source code of this file.

Classes

class  F32vec4
struct  nsL1::vector< T >
struct  nsL1vector< T >

Namespaces

namespace  nsL1

Macros

#define _f2(A, B, F)
#define _f1(A, F)
#define _op(A, B, O)
#define NotEmpty(a)
#define Empty(a)
#define _fvecalignment

Functions

float min (float x, float y)
float max (float x, float y)
float asgnb (float x, float y)
float rsqrt (float x)
float rcp (float x)
float sgn (float x)
class F32vec4 __attribute__ ((aligned(16)))
float & operator[] (int i)
 F32vec4 ()
 F32vec4 (const F32vec4 &a)
 F32vec4 (const float &a)
 F32vec4 (const float &f0, const float &f1, const float &f2, const float &f3)
F32vec4 operator+ (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator- (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator* (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator/ (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator< (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator<= (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator> (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator>= (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator& (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator| (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator|| (const F32vec4 &a, const F32vec4 &b)
F32vec4 operator! (const F32vec4 &a)
F32vec4 if3 (const F32vec4 &a, const F32vec4 &b, const F32vec4 &c)
F32vec4 bool2int (const F32vec4 &a)
F32vec4 min (const F32vec4 &a, const F32vec4 &b)
F32vec4 max (const F32vec4 &a, const F32vec4 &b)
F32vec4 asgnb (const F32vec4 &a, const F32vec4 &b)
F32vec4 sqrt (const F32vec4 &a)
F32vec4 rsqrt (const F32vec4 &a)
F32vec4 rcp (const F32vec4 &a)
F32vec4 fabs (const F32vec4 &a)
F32vec4 sgn (const F32vec4 &a)
F32vec4 exp (const F32vec4 &a)
F32vec4 log (const F32vec4 &a)
F32vec4 sin (const F32vec4 &a)
F32vec4 cos (const F32vec4 &a)
 vec_arithmetic (F32vec4, float)
ostream & operator<< (ostream &strm, const F32vec4 &a)
istream & operator>> (istream &strm, F32vec4 &a)

Variables

float v [4]
const int fvecLen = 4
nsL1vector __attribute__

Macro Definition Documentation

◆ _f1

#define _f1 ( A,
F )
Value:
F32vec4 z; \
z.v[0] = F(A.v[0]); \
z.v[1] = F(A.v[1]); \
z.v[2] = F(A.v[2]); \
z.v[3] = F(A.v[3]); \
return z;

Definition at line 62 of file PSEUDO_F32vec4.h.

Referenced by F32vec4::acos, F32vec4::cos, F32vec4::exp, F32vec4::fabs, F32vec4::log, F32vec4::rcp, F32vec4::rsqrt, F32vec4::sgn, F32vec4::sin, and F32vec4::sqrt.

◆ _f2

#define _f2 ( A,
B,
F )
Value:
F32vec4 z; \
z.v[0] = F(A.v[0], B.v[0]); \
z.v[1] = F(A.v[1], B.v[1]); \
z.v[2] = F(A.v[2], B.v[2]); \
z.v[3] = F(A.v[3], B.v[3]); \
return z;

Definition at line 55 of file PSEUDO_F32vec4.h.

Referenced by F32vec4::asgnb, F32vec4::max, and F32vec4::min.

◆ _fvecalignment

#define _fvecalignment

Definition at line 175 of file PSEUDO_F32vec4.h.

◆ _op

#define _op ( A,
B,
O )
Value:
F32vec4 z; \
z.v[0] = A.v[0] O B.v[0]; \
z.v[1] = A.v[1] O B.v[1]; \
z.v[2] = A.v[2] O B.v[2]; \
z.v[3] = A.v[3] O B.v[3]; \
return z;

Definition at line 69 of file PSEUDO_F32vec4.h.

Referenced by F32vec4::operator&, F32vec4::operator*, F32vec4::operator+, F32vec4::operator-, F32vec4::operator/, F32vec4::operator<, F32vec4::operator<=, F32vec4::operator>, F32vec4::operator>=, F32vec4::operator|, and F32vec4::operator||.

◆ Empty

#define Empty ( a)
Value:
!(bool((a)[0]) | bool((a)[1]) | bool((a)[2]) | bool((a)[3]))

Definition at line 117 of file PSEUDO_F32vec4.h.

◆ NotEmpty

#define NotEmpty ( a)
Value:
bool((a)[0]) | bool((a)[1]) | bool((a)[2]) | bool((a)[3])

Definition at line 116 of file PSEUDO_F32vec4.h.

Function Documentation

◆ __attribute__()

class F32vec4 __attribute__ ( (aligned(16)) )

References x.

◆ asgnb() [1/2]

friend F32vec4 __attribute__::asgnb ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 111 of file PSEUDO_F32vec4.h.

References z.

◆ asgnb() [2/2]

float asgnb ( float x,
float y )

Definition at line 104 of file PSEUDO_F32vec4.h.

◆ bool2int()

friend F32vec4 __attribute__::bool2int ( const F32vec4 & a)

Definition at line 96 of file PSEUDO_F32vec4.h.

References z.

◆ cos()

friend F32vec4 __attribute__::cos ( const F32vec4 & a)

Definition at line 120 of file PSEUDO_F32vec4.h.

◆ exp()

friend F32vec4 __attribute__::exp ( const F32vec4 & a)

Definition at line 117 of file PSEUDO_F32vec4.h.

◆ F32vec4() [1/4]

__attribute__::F32vec4 ( )

Definition at line 7 of file PSEUDO_F32vec4.h.

◆ F32vec4() [2/4]

__attribute__::F32vec4 ( const F32vec4 & a)

Definition at line 8 of file PSEUDO_F32vec4.h.

◆ F32vec4() [3/4]

__attribute__::F32vec4 ( const float & a)

Definition at line 15 of file PSEUDO_F32vec4.h.

References x, and y.

◆ F32vec4() [4/4]

__attribute__::F32vec4 ( const float & f0,
const float & f1,
const float & f2,
const float & f3 )

Definition at line 23 of file PSEUDO_F32vec4.h.

◆ fabs()

friend F32vec4 __attribute__::fabs ( const F32vec4 & a)

Definition at line 115 of file PSEUDO_F32vec4.h.

◆ if3()

friend F32vec4 __attribute__::if3 ( const F32vec4 & a,
const F32vec4 & b,
const F32vec4 & c )

Definition at line 81 of file PSEUDO_F32vec4.h.

◆ log()

friend F32vec4 __attribute__::log ( const F32vec4 & a)

Definition at line 118 of file PSEUDO_F32vec4.h.

◆ max() [1/2]

friend F32vec4 __attribute__::max ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 110 of file PSEUDO_F32vec4.h.

References z.

◆ max() [2/2]

float max ( float x,
float y )

Definition at line 103 of file PSEUDO_F32vec4.h.

◆ min() [1/2]

friend F32vec4 __attribute__::min ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 109 of file PSEUDO_F32vec4.h.

References z.

◆ min() [2/2]

float min ( float x,
float y )

Definition at line 102 of file PSEUDO_F32vec4.h.

References z.

◆ operator!()

friend F32vec4 __attribute__::operator! ( const F32vec4 & a)

Definition at line 70 of file PSEUDO_F32vec4.h.

◆ operator&()

friend F32vec4 __attribute__::operator& ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 66 of file PSEUDO_F32vec4.h.

◆ operator*()

friend F32vec4 __attribute__::operator* ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 56 of file PSEUDO_F32vec4.h.

◆ operator+()

friend F32vec4 __attribute__::operator+ ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 54 of file PSEUDO_F32vec4.h.

◆ operator-()

friend F32vec4 __attribute__::operator- ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 55 of file PSEUDO_F32vec4.h.

◆ operator/()

friend F32vec4 __attribute__::operator/ ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 57 of file PSEUDO_F32vec4.h.

◆ operator<()

friend F32vec4 __attribute__::operator< ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 60 of file PSEUDO_F32vec4.h.

◆ operator<<()

friend ostream & __attribute__::operator<< ( ostream & strm,
const F32vec4 & a )

Definition at line 129 of file PSEUDO_F32vec4.h.

◆ operator<=()

friend F32vec4 __attribute__::operator<= ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 61 of file PSEUDO_F32vec4.h.

◆ operator>()

friend F32vec4 __attribute__::operator> ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 62 of file PSEUDO_F32vec4.h.

◆ operator>=()

friend F32vec4 __attribute__::operator>= ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 63 of file PSEUDO_F32vec4.h.

◆ operator>>()

friend istream & __attribute__::operator>> ( istream & strm,
F32vec4 & a )

Definition at line 135 of file PSEUDO_F32vec4.h.

◆ operator[]()

float & __attribute__::operator[] ( int i)

Definition at line 4 of file PSEUDO_F32vec4.h.

◆ operator|()

friend F32vec4 __attribute__::operator| ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 67 of file PSEUDO_F32vec4.h.

◆ operator||()

friend F32vec4 __attribute__::operator|| ( const F32vec4 & a,
const F32vec4 & b )

Definition at line 68 of file PSEUDO_F32vec4.h.

◆ rcp() [1/2]

friend F32vec4 __attribute__::rcp ( const F32vec4 & a)

Definition at line 114 of file PSEUDO_F32vec4.h.

◆ rcp() [2/2]

float rcp ( float x)

Definition at line 106 of file PSEUDO_F32vec4.h.

◆ rsqrt() [1/2]

friend F32vec4 __attribute__::rsqrt ( const F32vec4 & a)

Definition at line 113 of file PSEUDO_F32vec4.h.

References z.

◆ rsqrt() [2/2]

float rsqrt ( float x)

Definition at line 105 of file PSEUDO_F32vec4.h.

◆ sgn() [1/2]

friend F32vec4 __attribute__::sgn ( const F32vec4 & a)

Definition at line 116 of file PSEUDO_F32vec4.h.

◆ sgn() [2/2]

float sgn ( float x)

Definition at line 107 of file PSEUDO_F32vec4.h.

References z.

◆ sin()

friend F32vec4 __attribute__::sin ( const F32vec4 & a)

Definition at line 119 of file PSEUDO_F32vec4.h.

◆ sqrt()

friend F32vec4 __attribute__::sqrt ( const F32vec4 & a)

Definition at line 112 of file PSEUDO_F32vec4.h.

◆ vec_arithmetic()

__attribute__::vec_arithmetic ( F32vec4 ,
float  )

Variable Documentation

◆ __attribute__

nsL1vector __attribute__

◆ fvecLen

const int fvecLen = 4

Definition at line 172 of file PSEUDO_F32vec4.h.

◆ v

float v[4]

Definition at line 2 of file PSEUDO_F32vec4.h.