承接 nsfisis/next-after 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nsfisis/next-after

最新稳定版本:1.1.0

Composer 安装命令:

composer require nsfisis/next-after

包简介

PHP port of java.lang.Math.nextAfter() family

关键字:

README 文档

README

Packagist Test

A PHP library that provides a port of Java's Math.nextAfter() family of functions.

Overview

This library implements IEEE 754 floating-point manipulation functions that return the next representable floating-point number in a given direction:

  • nextAfter($x, $y) - Returns the adjacent float in the direction of another value
  • nextUp($x) - Returns the next float toward positive infinity
  • nextDown($x) - Returns the next float toward negative infinity

Requirements

  • PHP 8.4 or higher
  • Little-endian 64-bit integers
  • IEEE 754 double-precision floats (binary64)

The library performs runtime assertions to verify these constraints are met on the current system.

Installation

$ composer require nsfisis/next-after

Exapmles

use Nsfisis\NextAfter\NextAfter;

// Get the next representable float after 1.0.
$next = NextAfter::nextAfter(1.0, 2.0); // => 1.0000000000000002

// Get the next float toward positive infinity.
$up = NextAfter::nextUp(1.0); // => 1.0000000000000002

// Get the next float toward negative infinity.
$down = NextAfter::nextDown(1.0); // => 0.9999999999999999

API Reference

nextAfter(float $x, float $y): float

Returns the floating-point number adjacent to $x in the direction of $y. If $x equals y, returns y.

Special Cases

  • If either argument is NaN, the result is NaN
  • If both arguments equal, $y is returned as it is
  • If $x is minValue() and $y is greater than $x, the result is positive zero
  • If $x is -minValue() and $y is less than $x, the result is negative zero
  • If $x is infinity and $y is not, PHP_FLOAT_MAX is returned
  • If $x is negative infinity and $y is not, -PHP_FLOAT_MAX is returned
  • If $x is PHP_FLOAT_MAX and $y is infinity, infinity is returned
  • If $x is -PHP_FLOAT_MAX and $y is negative infinity, negative infinity is returned

nextUp(float $x): float

Returns the floating-point number adjacent to $x in the direction of positive infinity.

This is semantically equivalent to nextAfter($x, INF).

Special Cases

  • If $x is NaN, the result is NaN
  • If $x is positive infinity, the result is positive infinity
  • If $x is zero, the result is minValue()
  • If $x is -minValue(), the result is negative zero
  • If $x is PHP_FLOAT_MAX, infinity is returned

nextDown(float $x): float

Returns the floating-point number adjacent to $x in the direction of negative infinity.

This is semantically equivalent to nextAfter($x, -INF).

Special Cases

  • If $x is NaN, the result is NaN
  • If $x is negative infinity, the result is negative infinity
  • If $x is zero, the result is -minValue()
  • If $x is minValue(), the result is positive zero
  • If $x is -PHP_FLOAT_MAX, negative infinity is returned

minValue(): float

Returns the minimum representable non-zero floating-point number. Note that this is a subnormal number and is not the same as PHP_FLOAT_MIN, which is the smallest normal number.

License

See the LICENSE file.

Credits

This library is a PHP port of Java's java.lang.Math.nextAfter(), nextUp(), and nextDown() methods.

Reference: Java Math Documentation

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-10-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固