Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

sici

Compute the sine and cosine integrals.

The sine integral is defined as

$$\int_0^x \frac{\sin t}{t}\; dt$$

and the cosine integral is defined as

$$\gamma + \log( x ) + \int_0^x \frac{\cos t - 1}{t}\; dt$$

where γ is the Euler-Mascheroni constant.

Usage

var sici = require( '@stdlib/math/base/special/sici' );

sici( x )

Computes the sine and cosine integrals.

var v = sici( 3.0 );
// returns [ ~1.849, ~0.12 ]

v = sici( 0.0 );
// returns [ 0.0, -Infinity ]

v = sici( -9.0 );
// returns [ ~-1.665, ~0.055 ]

v = sici( NaN );
// returns [ NaN, NaN ]

sici.assign( x, out, stride, offset )

Computes the sine and cosine integrals and assigns results to a provided output array.

var Float64Array = require( '@stdlib/array/float64' );

var out = new Float64Array( 2 );

var v = sici.assign( 3.0, out, 1, 0 );
// returns <Float64Array>[ ~1.849, ~0.12 ]

var bool = ( v === out );
// returns true

Examples

var randu = require( '@stdlib/random/base/randu' );
var sici = require( '@stdlib/math/base/special/sici' );

var x;
var y;
var i;

for ( i = 0; i < 100; i++ ) {
    x = randu() * 100.0;
    y = sici( x );
    console.log( 'si(%d) = %d, ci(%d) = %d', x, y[ 0 ], x, y[ 1 ] );
}