Skip to content

EXP(N) != M_E ** N #8314

@REGZ-PL

Description

@REGZ-PL

Description

The following code:

<?PHP

	FUNCTION _EXP($N) { RETURN M_E ** $N; }

	ECHO ' EXP(1) = '. EXP(1) . '<br>';
	ECHO '_EXP(1) = '. _EXP(1) . '<br><br>';

	ECHO '(EXP(1) == _EXP(1)) = ' . (EXP(1) == _EXP(1) ? 'TRUE' : 'FALSE') . '<br><br>';

	ECHO ' EXP(2) = '. EXP(2) . '<br>';
	ECHO '_EXP(2) = '. _EXP(2) . '<br><br>';

	ECHO '(EXP(2) == _EXP(2)) = ' . (EXP(2) == _EXP(2) ? 'TRUE' : 'FALSE') . '<br><br>';

	ECHO ' EXP(3) = '. EXP(3) . '<br>';
	ECHO '_EXP(3) = '. _EXP(3) . '<br><br>';

	ECHO '(EXP(3) == _EXP(3)) = ' . (EXP(3) == _EXP(3) ? 'TRUE' : 'FALSE') . '<br><br>';

	ECHO ' EXP(4) = '. EXP(4) . '<br>';
	ECHO '_EXP(4) = '. _EXP(4) . '<br><br>';

	ECHO '(EXP(4) == _EXP(4)) = ' . (EXP(4) == _EXP(4) ? 'TRUE' : 'FALSE') . '<br><br>';

Resulted in this output:

EXP(1) = 2.718281828459
_EXP(1) = 2.718281828459

(EXP(1) == _EXP(1)) = TRUE

EXP(2) = 7.3890560989307
_EXP(2) = 7.3890560989306

(EXP(2) == _EXP(2)) = FALSE

EXP(3) = 20.085536923188
_EXP(3) = 20.085536923188

(EXP(3) == _EXP(3)) = FALSE

EXP(4) = 54.598150033144
_EXP(4) = 54.598150033144

(EXP(4) == _EXP(4)) = FALSE

But I expected this output instead:

EXP(1) = 2.718281828459
_EXP(1) = 2.718281828459

(EXP(1) == _EXP(1)) = TRUE

EXP(2) = 7.3890560989307
_EXP(2) = 7.3890560989307

(EXP(2) == _EXP(2)) = TRUE

EXP(3) = 20.085536923188
_EXP(3) = 20.085536923188

(EXP(3) == _EXP(3)) = TRUE

EXP(4) = 54.598150033144
_EXP(4) = 54.598150033144

(EXP(4) == _EXP(4)) = TRUE

PHP Version

PHP 8

Operating System

All

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions