# pdifff
> Return the positive difference between `x` and `y`.
## Usage
```javascript
var pdifff = require( '@stdlib/math/base/special/pdifff' );
```
#### pdifff( x, y )
Returns the positive difference between `x` and `y` if `x < y`; otherwise, returns `0`.
```javascript
var v = pdifff( 4.15, 3.15 );
// returns 1.0
v = pdifff( 3.14, 4.2 );
// returns +0.0
v = pdifff( -0.0, +0.0 );
// returns +0.0
```
If any argument is `NaN`, the function returns `NaN`.
```javascript
var v = pdifff( 4.2, NaN );
// returns NaN
v = pdifff( NaN, 3.14 );
// returns NaN
v = pdifff( NaN, NaN );
// returns NaN
```
## Notes
- This function is the equivalent of [`fdimf`][fdim] in the C/C++ standard library.
## Examples
```javascript
var minstd = require( '@stdlib/random/base/minstd-shuffle' );
var pdifff = require( '@stdlib/math/base/special/pdifff' );
var x;
var y;
var v;
var i;
for ( i = 0; i < 100; i++ ) {
x = minstd();
y = minstd();
v = pdifff( x, y );
console.log( 'pdifff(%d,%d) = %d', x, y, v );
}
```
* * *
## C APIs
### Usage
```c
#include "stdlib/math/base/special/pdifff.h
```
#### stdlib_base_pdifff( x, y )
Returns the positive difference between `x` and `y` (single-precision).
```c
float v = stdlib_base_pdifff( 4.0f, 3.0f );
// returns 1.0f
```
The function accepts the following arguments:
- **x**: `[in] float` input value.
- **y**: `[in] float` input value.
```c
float stdlib_base_pdifff( const float x, const float y );
```
### Examples
```c
#include "stdlib/math/base/special/pdifff.h"
#include
int main() {
float x[] = { 3.0f, 4.0f, 6.0f, 5.0f };
float y;
int i;
for ( i = 0; i < 4; i += 2 ) {
y = stdlib_base_pdifff( x[ i ], x[ i+1 ] );
printf( "pdifff(%f, %f) = %f\n", x[ i ], x[ i+1 ], y );
}
}
```
[fdim]: http://en.cppreference.com/w/cpp/numeric/math/fdim