time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

repl.txt (3418B)


      1 
      2 {{alias}}( N, alpha, x, strideX, y, strideY )
      3     Multiplies `x` by a constant `alpha` and adds the result to `y`.
      4 
      5     The `N` and `stride` parameters determine which elements in `x` and `y` are
      6     accessed at runtime.
      7 
      8     Indexing is relative to the first index. To introduce an offset, use typed
      9     array views.
     10 
     11     If `N <= 0` or `alpha == 0`, the function returns `y` unchanged.
     12 
     13     Parameters
     14     ----------
     15     N: integer
     16         Number of indexed elements.
     17 
     18     alpha: number
     19         Constant.
     20 
     21     x: Array<number>|TypedArray
     22         Input array.
     23 
     24     strideX: integer
     25         Index increment for `x`.
     26 
     27     y: Array<number>|TypedArray
     28         Destination array.
     29 
     30     strideY: integer
     31         Index increment for `y`.
     32 
     33     Returns
     34     -------
     35     y: Array<number>|TypedArray
     36         Input array `y`.
     37 
     38     Examples
     39     --------
     40     // Standard usage:
     41     > var x = [ 1.0, 2.0, 3.0, 4.0, 5.0 ];
     42     > var y = [ 1.0, 1.0, 1.0, 1.0, 1.0 ];
     43     > var alpha = 5.0;
     44     > {{alias}}( x.length, alpha, x, 1, y, 1 )
     45     [ 6.0, 11.0, 16.0, 21.0, 26.0 ]
     46 
     47     // Using `N` and `stride` parameters:
     48     > x = [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ];
     49     > y = [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ];
     50     > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
     51     > {{alias}}( N, alpha, x, 2, y, -1 )
     52     [ 26.0, 16.0, 6.0, 1.0, 1.0, 1.0 ]
     53 
     54     // Using view offsets:
     55     > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
     56     > var y0 = new {{alias:@stdlib/array/float64}}( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
     57     > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
     58     > var y1 = new {{alias:@stdlib/array/float64}}( y0.buffer, y0.BYTES_PER_ELEMENT*3 );
     59     > N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 );
     60     > {{alias}}( N, 5.0, x1, -2, y1, 1 )
     61     <Float64Array>[ 40.0, 31.0, 22.0 ]
     62     > y0
     63     <Float64Array>[ 7.0, 8.0, 9.0, 40.0, 31.0, 22.0 ]
     64 
     65 
     66 {{alias}}.ndarray( N, alpha, x, strideX, offsetX, y, strideY, offsetY )
     67     Multiplies `x` by a constant `alpha` and adds the result to `y`, with
     68     alternative indexing semantics.
     69 
     70     While typed array views mandate a view offset based on the underlying
     71     buffer, the `offsetX` and `offsetY` parameters support indexing semantics
     72     based on starting indices.
     73 
     74     Parameters
     75     ----------
     76     N: integer
     77         Number of indexed elements.
     78 
     79     alpha: number
     80         Constant.
     81 
     82     x: Array<number>|TypedArray
     83         Input array.
     84 
     85     strideX: integer
     86         Index increment for `x`.
     87 
     88     offsetX: integer
     89         Starting index for `x`.
     90 
     91     y: Array<number>|TypedArray
     92         Destination array.
     93 
     94     strideY: integer
     95         Index increment for `y`.
     96 
     97     offsetY: integer
     98         Starting index for `y`.
     99 
    100     Returns
    101     -------
    102     y: Array<number>|TypedArray
    103         Input array `y`.
    104 
    105     Examples
    106     --------
    107     // Standard usage:
    108     > var x = [ 1.0, 2.0, 3.0, 4.0, 5.0 ];
    109     > var y = [ 1.0, 1.0, 1.0, 1.0, 1.0 ];
    110     > var alpha = 5.0;
    111     > {{alias}}.ndarray( x.length, alpha, x, 1, 0, y, 1, 0 )
    112     [ 6.0, 11.0, 16.0, 21.0, 26.0 ]
    113 
    114     // Advanced indexing:
    115     > x = [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ];
    116     > y = [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ];
    117     > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
    118     > {{alias}}.ndarray( N, alpha, x, 2, 1, y, -1, y.length-1 )
    119     [ 7.0, 8.0, 9.0, 40.0, 31.0, 22.0 ]
    120 
    121     See Also
    122     --------
    123