Skip to content

Commit

Permalink
Defined invscalv, invscalm, invscald operations. (#661)
Browse files Browse the repository at this point in the history
Details:
- Defined invert-scale (invscal) operation on vectors (level-1v),
  matrices (level-1m), and diagonals (level-1d).
- Added test modules for invscalv and invscalm to the testsuite.
- Updated BLISObjectAPI.md and BLISTypedAPI.md API documentation to
  reflect the new operations. Also updated KernelsHowTo.md accordingly.
- Renamed 'beta' to 'alpha' in scalv and scalm testsuite modules (and
  input.operations files) so that the parameter name matches the
  parameter used in the documentation.
  • Loading branch information
fgvanzee authored Sep 8, 2022
1 parent a87eae2 commit 4afe0cf
Show file tree
Hide file tree
Showing 50 changed files with 1,070 additions and 88 deletions.
55 changes: 52 additions & 3 deletions docs/BLISObjectAPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@
This index provides a quick way to jump directly to the description for each operation discussed later in the [Computational function reference](BLISObjectAPI.md#computational-function-reference) section:

* **[Level-1v](BLISObjectAPI.md#level-1v-operations)**: Operations on vectors:
* [addv](BLISObjectAPI.md#addv), [amaxv](BLISObjectAPI.md#amaxv), [axpyv](BLISObjectAPI.md#axpyv), [axpbyv](BLISObjectAPI.md#axpbyv), [copyv](BLISObjectAPI.md#copyv), [dotv](BLISObjectAPI.md#dotv), [dotxv](BLISObjectAPI.md#dotxv), [invertv](BLISObjectAPI.md#invertv), [scal2v](BLISObjectAPI.md#scal2v), [scalv](BLISObjectAPI.md#scalv), [setv](BLISObjectAPI.md#setv), [setrv](BLISObjectAPI.md#setrv), [setiv](BLISObjectAPI.md#setiv), [subv](BLISObjectAPI.md#subv), [swapv](BLISObjectAPI.md#swapv), [xpbyv](BLISObjectAPI.md#xpbyv)
* [addv](BLISObjectAPI.md#addv), [amaxv](BLISObjectAPI.md#amaxv), [axpyv](BLISObjectAPI.md#axpyv), [axpbyv](BLISObjectAPI.md#axpbyv), [copyv](BLISObjectAPI.md#copyv), [dotv](BLISObjectAPI.md#dotv), [dotxv](BLISObjectAPI.md#dotxv), [invertv](BLISObjectAPI.md#invertv), [invscalv](BLISObjectAPI.md#invscalv), [scalv](BLISObjectAPI.md#scalv), [scal2v](BLISObjectAPI.md#scal2v), [setv](BLISObjectAPI.md#setv), [setrv](BLISObjectAPI.md#setrv), [setiv](BLISObjectAPI.md#setiv), [subv](BLISObjectAPI.md#subv), [swapv](BLISObjectAPI.md#swapv), [xpbyv](BLISObjectAPI.md#xpbyv)
* **[Level-1d](BLISObjectAPI.md#level-1d-operations)**: Element-wise operations on matrix diagonals:
* [addd](BLISObjectAPI.md#addd), [axpyd](BLISObjectAPI.md#axpyd), [copyd](BLISObjectAPI.md#copyd), [invertd](BLISObjectAPI.md#invertd), [scald](BLISObjectAPI.md#scald), [scal2d](BLISObjectAPI.md#scal2d), [setd](BLISObjectAPI.md#setd), [setid](BLISObjectAPI.md#setid), [shiftd](BLISObjectAPI.md#shiftd), [subd](BLISObjectAPI.md#subd), [xpbyd](BLISObjectAPI.md#xpbyd)
* [addd](BLISObjectAPI.md#addd), [axpyd](BLISObjectAPI.md#axpyd), [copyd](BLISObjectAPI.md#copyd), [invertd](BLISObjectAPI.md#invertd), [invscald](BLISObjectAPI.md#invscald), [scald](BLISObjectAPI.md#scald), [scal2d](BLISObjectAPI.md#scal2d), [setd](BLISObjectAPI.md#setd), [setid](BLISObjectAPI.md#setid), [shiftd](BLISObjectAPI.md#shiftd), [subd](BLISObjectAPI.md#subd), [xpbyd](BLISObjectAPI.md#xpbyd)
* **[Level-1m](BLISObjectAPI.md#level-1m-operations)**: Element-wise operations on matrices:
* [addm](BLISObjectAPI.md#addm), [axpym](BLISObjectAPI.md#axpym), [copym](BLISObjectAPI.md#copym), [scalm](BLISObjectAPI.md#scalm), [scal2m](BLISObjectAPI.md#scal2m), [setm](BLISObjectAPI.md#setm), [setrm](BLISObjectAPI.md#setrm), [setim](BLISObjectAPI.md#setim), [subm](BLISObjectAPI.md#subm)
* [addm](BLISObjectAPI.md#addm), [axpym](BLISObjectAPI.md#axpym), [copym](BLISObjectAPI.md#copym), [invscalm](BLISObjectAPI.md#invscalm), [scalm](BLISObjectAPI.md#scalm), [scal2m](BLISObjectAPI.md#scal2m), [setm](BLISObjectAPI.md#setm), [setrm](BLISObjectAPI.md#setrm), [setim](BLISObjectAPI.md#setim), [subm](BLISObjectAPI.md#subm)
* **[Level-1f](BLISObjectAPI.md#level-1f-operations)**: Fused operations on multiple vectors:
* [axpy2v](BLISObjectAPI.md#axpy2v), [dotaxpyv](BLISObjectAPI.md#dotaxpyv), [axpyf](BLISObjectAPI.md#axpyf), [dotxf](BLISObjectAPI.md#dotxf), [dotxaxpyf](BLISObjectAPI.md#dotxaxpyf)
* **[Level-2](BLISObjectAPI.md#level-2-operations)**: Operations with one matrix and (at least) one vector operand:
Expand Down Expand Up @@ -845,6 +845,24 @@ Invert all elements of an _n_-length vector `x`.

---

#### invscalv
```c
void bli_invscalv
(
obj_t* alpha,
obj_t* x
);
```
Perform
```
x := ( 1.0 / conj?(alpha) ) * x
```
where `x` is a vector of length _n_, and `alpha` is a scalar.

Observed object properties: `conj?(alpha)`.

---

#### scalv
```c
void bli_scalv
Expand Down Expand Up @@ -1049,6 +1067,19 @@ Observed object properties: `diagoff(A)`.

---

#### invscald
```c
void bli_invscald
(
obj_t* alpha,
obj_t* a
);
```

Observed object properties: `conj?(alpha)`, `diagoff(A)`.

---

#### scald
```c
void bli_scald
Expand Down Expand Up @@ -1213,6 +1244,24 @@ Observed object properties: `diagoff(A)`, `diag(A)`, `uplo(A)`, `trans?(A)`.

---

#### invscalm
```c
void bli_invscalm
(
obj_t* alpha,
obj_t* a
);
```
Perform
```
A := ( 1.0 / conj?(alpha) ) * A
```
where `A` is an _m x n_ matrix stored as a dense matrix, or lower- or upper-triangular/trapezoidal matrix with arbitrary diagonal offset. If `uplo(A)` indicates lower or upper storage, only that part of matrix `A` will be updated.

Observed object properties: `conj?(alpha)`, `diagoff(A)`, `uplo(A)`.

---

#### scalm
```c
void bli_scalm
Expand Down
60 changes: 57 additions & 3 deletions docs/BLISTypedAPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@
This index provides a quick way to jump directly to the description for each operation discussed later in the [Computational function reference](BLISTypedAPI.md#computational-function-reference) section:

* **[Level-1v](BLISTypedAPI.md#level-1v-operations)**: Operations on vectors:
* [addv](BLISTypedAPI.md#addv), [amaxv](BLISTypedAPI.md#amaxv), [axpyv](BLISTypedAPI.md#axpyv), [axpbyv](BLISTypedAPI.md#axpbyv), [copyv](BLISTypedAPI.md#copyv), [dotv](BLISTypedAPI.md#dotv), [dotxv](BLISTypedAPI.md#dotxv), [invertv](BLISTypedAPI.md#invertv), [scal2v](BLISTypedAPI.md#scal2v), [scalv](BLISTypedAPI.md#scalv), [setv](BLISTypedAPI.md#setv), [subv](BLISTypedAPI.md#subv), [swapv](BLISTypedAPI.md#swapv), [xpbyv](BLISTypedAPI.md#xpbyv)
* [addv](BLISTypedAPI.md#addv), [amaxv](BLISTypedAPI.md#amaxv), [axpyv](BLISTypedAPI.md#axpyv), [axpbyv](BLISTypedAPI.md#axpbyv), [copyv](BLISTypedAPI.md#copyv), [dotv](BLISTypedAPI.md#dotv), [dotxv](BLISTypedAPI.md#dotxv), [invertv](BLISTypedAPI.md#invertv), [invscalv](BLISTypedAPI.md#invscalv), [scalv](BLISTypedAPI.md#scalv), [scal2v](BLISTypedAPI.md#scal2v), [setv](BLISTypedAPI.md#setv), [subv](BLISTypedAPI.md#subv), [swapv](BLISTypedAPI.md#swapv), [xpbyv](BLISTypedAPI.md#xpbyv)
* **[Level-1d](BLISTypedAPI.md#level-1d-operations)**: Element-wise operations on matrix diagonals:
* [addd](BLISTypedAPI.md#addd), [axpyd](BLISTypedAPI.md#axpyd), [copyd](BLISTypedAPI.md#copyd), [invertd](BLISTypedAPI.md#invertd), [scald](BLISTypedAPI.md#scald), [scal2d](BLISTypedAPI.md#scal2d), [setd](BLISTypedAPI.md#setd), [setid](BLISTypedAPI.md#setid), [shiftd](BLISTypedAPI.md#shiftd), [subd](BLISTypedAPI.md#subd), [xpbyd](BLISTypedAPI.md#xpbyd)
* [addd](BLISTypedAPI.md#addd), [axpyd](BLISTypedAPI.md#axpyd), [copyd](BLISTypedAPI.md#copyd), [invertd](BLISTypedAPI.md#invertd), [invscald](BLISTypedAPI.md#invscald), [scald](BLISTypedAPI.md#scald), [scal2d](BLISTypedAPI.md#scal2d), [setd](BLISTypedAPI.md#setd), [setid](BLISTypedAPI.md#setid), [shiftd](BLISTypedAPI.md#shiftd), [subd](BLISTypedAPI.md#subd), [xpbyd](BLISTypedAPI.md#xpbyd)
* **[Level-1m](BLISTypedAPI.md#level-1m-operations)**: Element-wise operations on matrices:
* [addm](BLISTypedAPI.md#addm), [axpym](BLISTypedAPI.md#axpym), [copym](BLISTypedAPI.md#copym), [scalm](BLISTypedAPI.md#scalm), [scal2m](BLISTypedAPI.md#scal2m), [setm](BLISTypedAPI.md#setm), [subm](BLISTypedAPI.md#subm)
* [addm](BLISTypedAPI.md#addm), [axpym](BLISTypedAPI.md#axpym), [copym](BLISTypedAPI.md#copym), [invscalm](BLISTypedAPI.md#invscalm), [scalm](BLISTypedAPI.md#scalm), [scal2m](BLISTypedAPI.md#scal2m), [setm](BLISTypedAPI.md#setm), [subm](BLISTypedAPI.md#subm)
* **[Level-1f](BLISTypedAPI.md#level-1f-operations)**: Fused operations on multiple vectors:
* [axpy2v](BLISTypedAPI.md#axpy2v), [dotaxpyv](BLISTypedAPI.md#dotaxpyv), [axpyf](BLISTypedAPI.md#axpyf), [dotxf](BLISTypedAPI.md#dotxf), [dotxaxpyf](BLISTypedAPI.md#dotxaxpyf)
* **[Level-2](BLISTypedAPI.md#level-2-operations)**: Operations with one matrix and (at least) one vector operand:
Expand Down Expand Up @@ -369,6 +369,24 @@ Invert all elements of an _n_-length vector `x`.

---

#### invscalv
```c
void bli_?invscalv
(
conj_t conjalpha,
dim_t n,
ctype* alpha,
ctype* x, inc_t incx
);
```
Perform
```
x := ( 1.0 / conjalpha(alpha) ) * x
```
where `x` is a vector of length _n_, and `alpha` is a scalar.

---

#### scalv
```c
void bli_?scalv
Expand Down Expand Up @@ -548,6 +566,21 @@ void bli_?invertd

---

#### invscald
```c
void bli_?invscald
(
conj_t conjalpha,
doff_t diagoffa,
dim_t m,
dim_t n,
ctype* alpha,
ctype* a, inc_t rsa, inc_t csa
);
```

---

#### scald
```c
void bli_?scald
Expand Down Expand Up @@ -737,6 +770,27 @@ where `B` is an _m x n_ matrix, `A` is stored as a dense matrix, or lower- or up

---

#### invscalm
```c
void bli_?invscalm
(
conj_t conjalpha,
doff_t diagoffa,
uplo_t uploa,
dim_t m,
dim_t n,
ctype* alpha,
ctype* a, inc_t rsa, inc_t csa
);
```
Perform
```
A := ( 1.0 / conjalpha(alpha) ) * A
```
where `A` is an _m x n_ matrix stored as a dense matrix, or lower- or upper-triangular/trapezoidal matrix, as specified by `uploa`, with the diagonal offset of `A` specified by `diagoffa`. If `uploa` indicates lower or upper storage, only that part of matrix `A` will be updated.

---

#### scalm
```c
void bli_?scalm
Expand Down
28 changes: 25 additions & 3 deletions docs/KernelsHowTo.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ One of the primary features of BLIS is that it provides a large set of dense lin

Presently, BLIS supports several groups of operations:
* **[Level-1v](BLISTypedAPI.md#level-1v-operations)**: Operations on vectors:
* [addv](BLISTypedAPI.md#addv), [amaxv](BLISTypedAPI.md#amaxv), [axpyv](BLISTypedAPI.md#axpyv), [copyv](BLISTypedAPI.md#copyv), [dotv](BLISTypedAPI.md#dotv), [dotxv](BLISTypedAPI.md#dotxv), [invertv](BLISTypedAPI.md#invertv), [scal2v](BLISTypedAPI.md#scal2v), [scalv](BLISTypedAPI.md#scalv), [setv](BLISTypedAPI.md#setv), [subv](BLISTypedAPI.md#subv), [swapv](BLISTypedAPI.md#swapv)
* [addv](BLISTypedAPI.md#addv), [amaxv](BLISTypedAPI.md#amaxv), [axpyv](BLISTypedAPI.md#axpyv), [copyv](BLISTypedAPI.md#copyv), [dotv](BLISTypedAPI.md#dotv), [dotxv](BLISTypedAPI.md#dotxv), [invertv](BLISTypedAPI.md#invertv), [invscalv](BLISTypedAPI.md#invscalv), [scalv](BLISTypedAPI.md#scalv), [scal2v](BLISTypedAPI.md#scal2v), [setv](BLISTypedAPI.md#setv), [subv](BLISTypedAPI.md#subv), [swapv](BLISTypedAPI.md#swapv)
* **[Level-1d](BLISTypedAPI.md#level-1d-operations)**: Element-wise operations on matrix diagonals:
* [addd](BLISTypedAPI.md#addd), [axpyd](BLISTypedAPI.md#axpyd), [copyd](BLISTypedAPI.md#copyd), [invertd](BLISTypedAPI.md#invertd), [scald](BLISTypedAPI.md#scald), [scal2d](BLISTypedAPI.md#scal2d), [setd](BLISTypedAPI.md#setd), [setid](BLISTypedAPI.md#setid), [subd](BLISTypedAPI.md#subd)
* [addd](BLISTypedAPI.md#addd), [axpyd](BLISTypedAPI.md#axpyd), [copyd](BLISTypedAPI.md#copyd), [invertd](BLISTypedAPI.md#invertd), [invscald](BLISTypedAPI.md#invscald), [scald](BLISTypedAPI.md#scald), [scal2d](BLISTypedAPI.md#scal2d), [setd](BLISTypedAPI.md#setd), [setid](BLISTypedAPI.md#setid), [subd](BLISTypedAPI.md#subd)
* **[Level-1m](BLISTypedAPI.md#level-1m-operations)**: Element-wise operations on matrices:
* [addm](BLISTypedAPI.md#addm), [axpym](BLISTypedAPI.md#axpym), [copym](BLISTypedAPI.md#copym), [scalm](BLISTypedAPI.md#scalm), [scal2m](BLISTypedAPI.md#scal2m), [setm](BLISTypedAPI.md#setm), [subm](BLISTypedAPI.md#subm)
* [addm](BLISTypedAPI.md#addm), [axpym](BLISTypedAPI.md#axpym), [copym](BLISTypedAPI.md#copym), [invscalm](BLISTypedAPI.md#invscalm), [scalm](BLISTypedAPI.md#scalm), [scal2m](BLISTypedAPI.md#scal2m), [setm](BLISTypedAPI.md#setm), [subm](BLISTypedAPI.md#subm)
* **[Level-1f](BLISTypedAPI.md#level-1f-operations)**: Fused operations on multiple vectors:
* [axpy2v](BLISTypedAPI.md#axpy2v), [dotaxpyv](BLISTypedAPI.md#dotaxpyv), [axpyf](BLISTypedAPI.md#axpyf), [dotxf](BLISTypedAPI.md#dotxf), [dotxaxpyf](BLISTypedAPI.md#dotxaxpyf)
* **[Level-2](BLISTypedAPI.md#level-2-operations)**: Operations with one matrix and (at least) one vector operand:
Expand Down Expand Up @@ -81,6 +81,7 @@ BLIS supports the following 14 level-1v kernels. These kernels are used primaril
* **dotv**: Performs a [dot product](BLISTypedAPI.md#dotv) where the output scalar is overwritten.
* **dotxv**: Performs an [extended dot product](BLISTypedAPI.md#dotxv) operation where the dot product is first scaled and then accumulated into a scaled output scalar.
* **invertv**: Performs an [element-wise vector inversion](BLISTypedAPI.md#invertv) operation.
* **invscalv**: Performs an [in-place (destructive) vector inverse-scaling](BLISTypedAPI.md#invscalv) operation.
* **scalv**: Performs an [in-place (destructive) vector scaling](BLISTypedAPI.md#scalv) operation.
* **scal2v**: Performs an [out-of-place (non-destructive) vector scaling](BLISTypedAPI.md#scal2v) operation.
* **setv**: Performs a [vector broadcast](BLISTypedAPI.md#setv) operation.
Expand Down Expand Up @@ -184,6 +185,7 @@ datatype characters.
| copyv | `BLIS_COPYV_KER` | `?copyv_ft` |
| dotxv | `BLIS_DOTXV_KER` | `?dotxv_ft` |
| invertv | `BLIS_INVERTV_KER` | `?invertv_ft` |
| invscalv | `BLIS_INVSCALV_KER` | `?invscalv_ft` |
| scalv | `BLIS_SCALV_KER` | `?scalv_ft` |
| scal2v | `BLIS_SCAL2V_KER` | `?scal2v_ft` |
| setv | `BLIS_SETV_KER` | `?setv_ft` |
Expand Down Expand Up @@ -220,6 +222,7 @@ This section seeks to provide developers with a complete reference for each of t
* [dotv](KernelsHowTo.md#dotv-kernel)
* [dotxv](KernelsHowTo.md#dotxv-kernel)
* [invertv](KernelsHowTo.md#invertv-kernel)
* [invscalv](KernelsHowTo.md#invscalv-kernel)
* [scalv](KernelsHowTo.md#scalv-kernel)
* [scal2v](KernelsHowTo.md#scal2v-kernel)
* [setv](KernelsHowTo.md#setv-kernel)
Expand Down Expand Up @@ -929,6 +932,25 @@ This kernel inverts all elements of an _n_-length vector `x`.

---

#### invscalv kernel
```c
void bli_?invscalv_<suffix>
(
conj_t conjalpha,
dim_t n,
ctype* restrict alpha,
ctype* restrict x, inc_t incx,
cntx_t* restrict cntx
)
```
This kernel performs the following operation:
```
x := ( 1.0 / conjalpha(alpha) ) * x
```
where `x` is a vector of length _n_ stored with stride `incx` and `alpha` is a scalar.

---

#### scalv kernel
```c
void bli_?scalv_<suffix>
Expand Down
1 change: 1 addition & 0 deletions frame/1/bli_l1v_check.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ void PASTEMAC(opname,_check) \
bli_l1v_ax_check( alpha, x ); \
}

GENFRONT( invscalv )
GENFRONT( scalv )
GENFRONT( setv )

Expand Down
1 change: 1 addition & 0 deletions frame/1/bli_l1v_check.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ void PASTEMAC(opname,_check) \
const obj_t* x \
);

GENTPROT( invscalv )
GENTPROT( scalv )
GENTPROT( setv )

Expand Down
1 change: 1 addition & 0 deletions frame/1/bli_l1v_fpa.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ GENFRONT( scal2v )
GENFRONT( dotv )
GENFRONT( dotxv )
GENFRONT( invertv )
GENFRONT( invscalv )
GENFRONT( scalv )
GENFRONT( setv )
GENFRONT( swapv )
Expand Down
1 change: 1 addition & 0 deletions frame/1/bli_l1v_fpa.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ GENPROT( scal2v )
GENPROT( dotv )
GENPROT( dotxv )
GENPROT( invertv )
GENPROT( invscalv )
GENPROT( scalv )
GENPROT( setv )
GENPROT( swapv )
Expand Down
3 changes: 2 additions & 1 deletion frame/1/bli_l1v_ft.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ typedef void (*PASTECH3(ch,opname,EX_SUF,tsuf)) \

INSERT_GENTDEF( invertv )

// scalv, setv
// invscalv, scalv, setv

#undef GENTDEF
#define GENTDEF( ctype, ch, opname, tsuf ) \
Expand All @@ -172,6 +172,7 @@ typedef void (*PASTECH3(ch,opname,EX_SUF,tsuf)) \
BLIS_TAPI_EX_PARAMS \
);

INSERT_GENTDEF( invscalv )
INSERT_GENTDEF( scalv )
INSERT_GENTDEF( setv )

Expand Down
3 changes: 2 additions & 1 deletion frame/1/bli_l1v_ft_ker.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ typedef void (*PASTECH3(ch,opname,_ker,tsuf)) \

INSERT_GENTDEF( invertv )

// scalv, setv
// invscalv, scalv, setv

#undef GENTDEF
#define GENTDEF( ctype, ch, opname, tsuf ) \
Expand All @@ -175,6 +175,7 @@ typedef void (*PASTECH3(ch,opname,_ker,tsuf)) \
cntx_t* cntx \
);

INSERT_GENTDEF( invscalv )
INSERT_GENTDEF( scalv )
INSERT_GENTDEF( setv )

Expand Down
6 changes: 6 additions & 0 deletions frame/1/bli_l1v_ker.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,12 @@ INSERT_GENTPROT_BASIC0( dotxv_ker_name )
INSERT_GENTPROT_BASIC0( invertv_ker_name )


#undef GENTPROT
#define GENTPROT INVSCALV_KER_PROT

INSERT_GENTPROT_BASIC0( invscalv_ker_name )


#undef GENTPROT
#define GENTPROT SCALV_KER_PROT

Expand Down
12 changes: 12 additions & 0 deletions frame/1/bli_l1v_ker_prot.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,18 @@ void PASTEMAC(ch,opname) \
); \


#define INVSCALV_KER_PROT( ctype, ch, opname ) \
\
void PASTEMAC(ch,opname) \
( \
conj_t conjalpha, \
dim_t n, \
ctype* restrict alpha, \
ctype* restrict x, inc_t incx, \
cntx_t* cntx \
); \


#define SCALV_KER_PROT( ctype, ch, opname ) \
\
void PASTEMAC(ch,opname) \
Expand Down
1 change: 1 addition & 0 deletions frame/1/bli_l1v_oapi.c
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,7 @@ void PASTEMAC(opname,EX_SUF) \
); \
}

GENFRONT( invscalv )
GENFRONT( scalv )
GENFRONT( setv )

Expand Down
1 change: 1 addition & 0 deletions frame/1/bli_l1v_oapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ BLIS_EXPORT_BLIS void PASTEMAC(opname,EX_SUF) \
BLIS_OAPI_EX_PARAMS \
);

GENTPROT( invscalv )
GENTPROT( scalv )
GENTPROT( setv )

Expand Down
1 change: 1 addition & 0 deletions frame/1/bli_l1v_tapi.c
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,7 @@ void PASTEMAC2(ch,opname,EX_SUF) \
); \
}

INSERT_GENTFUNC_BASIC( invscalv, BLIS_INVSCALV_KER )
INSERT_GENTFUNC_BASIC( scalv, BLIS_SCALV_KER )
INSERT_GENTFUNC_BASIC( setv, BLIS_SETV_KER )

Expand Down
1 change: 1 addition & 0 deletions frame/1/bli_l1v_tapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ BLIS_EXPORT_BLIS void PASTEMAC2(ch,opname,EX_SUF) \
BLIS_TAPI_EX_PARAMS \
); \

INSERT_GENTPROT_BASIC0( invscalv )
INSERT_GENTPROT_BASIC0( scalv )
INSERT_GENTPROT_BASIC0( setv )

Expand Down
1 change: 1 addition & 0 deletions frame/1d/bli_l1d_check.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ void PASTEMAC(opname,_check) \
bli_l1d_ax_check( alpha, x ); \
}

GENFRONT( invscald )
GENFRONT( scald )
GENFRONT( setd )
GENFRONT( setid )
Expand Down
1 change: 1 addition & 0 deletions frame/1d/bli_l1d_check.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ void PASTEMAC(opname,_check) \
const obj_t* x \
);

GENTPROT( invscald )
GENTPROT( scald )
GENTPROT( setd )
GENTPROT( setid )
Expand Down
1 change: 1 addition & 0 deletions frame/1d/bli_l1d_fpa.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ GENFRONT( subd )
GENFRONT( axpyd )
GENFRONT( scal2d )
GENFRONT( invertd )
GENFRONT( invscald )
GENFRONT( scald )
GENFRONT( setd )
GENFRONT( setid )
Expand Down
Loading

0 comments on commit 4afe0cf

Please sign in to comment.