# pdiff

Return the positive difference between `x` and `y`.

## Usage

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

#### pdiff( x, y )

Returns the positive difference between `x` and `y` if `x < y`; otherwise, returns `0`.

``````var v = pdiff( 4.2, 3.14 );
// returns 1.06

v = pdiff( 3.14, 4.2 );
// returns +0.0

v = pdiff( -0.0, +0.0 );
// returns +0.0
``````

If any argument is `NaN`, the function returns `NaN`.

``````var v = pdiff( 4.2, NaN );
// returns NaN

v = pdiff( NaN, 3.14 );
// returns NaN

v = pdiff( NaN, NaN );
// returns NaN
``````

## Examples

``````var minstd = require( '@stdlib/random/base/minstd-shuffle' );
var pdiff = require( '@stdlib/math/base/special/pdiff' );

var x;
var y;
var v;
var i;

for ( i = 0; i < 100; i++ ) {
x = minstd();
y = minstd();
v = pdiff( x, y );
console.log( 'pdiff(%d,%d) = %d', x, y, v );
}
``````

## C APIs

### Usage

``````#include "stdlib/math/base/special/pdiff.h
``````

#### stdlib_base_pdiff( x, y )

Returns the positive difference between `x` and `y`.

``````double v = stdlib_base_pdiff( 4.0, 3.0 );
// returns 1.0
``````

The function accepts the following arguments:

• x: `[in] double` input value.
• y: `[in] double` input value.
``````double stdlib_base_pdiff( const double x, const double y );
``````

### Examples

``````#include "stdlib/math/base/special/pdiff.h"
#include <stdio.h>

int main() {
double x[] = { 3.0, 4.0, 6.0, 5.0 };

double y;
int i;
for ( i = 0; i < 4; i += 2 ) {
y = stdlib_base_pdiff( x[ i ], x[ i+1 ] );
printf( "pdiff(%lf, %lf) = %lf\n", x[ i ], x[ i+1 ], y );
}
}
``````