8 unstable releases (3 breaking)

0.4.2 Jun 4, 2023
0.4.1 May 31, 2023
0.3.0 Jan 25, 2023
0.2.0 Jan 25, 2023
0.1.2 Jan 25, 2023

#1557 in Command line utilities

MIT license

18KB
68 lines

fEval Build

Fast EVALuator

Simple command line tool, that helps you to fastly evaluate expressions. Based on evalexpr crate.

Installation

cargo install feval

Operators

Supported binary operators:

Operator Precedence Description
^ 120 Exponentiation
* 100 Product
/ 100 Division (integer if both arguments are integers, otherwise float)
% 100 Modulo (integer if both arguments are integers, otherwise float)
+ 95 Sum or String Concatenation
- 95 Difference
< 80 Lower than
> 80 Greater than
<= 80 Lower than or equal
>= 80 Greater than or equal
== 80 Equal
!= 80 Not equal
&& 75 Logical and
|| 70 Logical or
= 50 Assignment
+= 50 Sum-Assignment or String-Concatenation-Assignment
-= 50 Difference-Assignment
*= 50 Product-Assignment
/= 50 Division-Assignment
%= 50 Modulo-Assignment
^= 50 Exponentiation-Assignment
&&= 50 Logical-And-Assignment
||= 50 Logical-Or-Assignment
, 40 Aggregation
; 0 Expression Chaining

Supported unary operators:

Operator Precedence Description
- 110 Negation
! 110 Logical not

Functions

Identifier Argument Amount Argument Types Description
min >= 1 Numeric Returns the minimum of the arguments
max >= 1 Numeric Returns the maximum of the arguments
len 1 String/Tuple Returns the character length of a string, or the amount of elements in a tuple (not recursively)
floor 1 Numeric Returns the largest integer less than or equal to a number
round 1 Numeric Returns the nearest integer to a number. Rounds half-way cases away from 0.0
ceil 1 Numeric Returns the smallest integer greater than or equal to a number
if 3 Boolean, Any, Any If the first argument is true, returns the second argument, otherwise, returns the third
typeof 1 Any returns "string", "float", "int", "boolean", "tuple", or "empty" depending on the type of the argument
math::is_nan 1 Numeric Returns true if the argument is the floating-point value NaN, false if it is another floating-point value, and throws an error if it is not a number
math::is_finite 1 Numeric Returns true if the argument is a finite floating-point number, false otherwise
math::is_infinite 1 Numeric Returns true if the argument is an infinite floating-point number, false otherwise
math::is_normal 1 Numeric Returns true if the argument is a floating-point number that is neither zero, infinite, subnormal, or NaN, false otherwise
math::ln 1 Numeric Returns the natural logarithm of the number
math::log 2 Numeric, Numeric Returns the logarithm of the number with respect to an arbitrary base
math::log2 1 Numeric Returns the base 2 logarithm of the number
math::log10 1 Numeric Returns the base 10 logarithm of the number
math::exp 1 Numeric Returns e^(number), (the exponential function)
math::exp2 1 Numeric Returns 2^(number)
math::pow 2 Numeric, Numeric Raises a number to the power of the other number
math::cos 1 Numeric Computes the cosine of a number (in radians)
math::acos 1 Numeric Computes the arccosine of a number. The return value is in radians in the range [0, pi] or NaN if the number is outside the range [-1, 1]
math::cosh 1 Numeric Hyperbolic cosine function
math::acosh 1 Numeric Inverse hyperbolic cosine function
math::sin 1 Numeric Computes the sine of a number (in radians)
math::asin 1 Numeric Computes the arcsine of a number. The return value is in radians in the range [-pi/2, pi/2] or NaN if the number is outside the range [-1, 1]
math::sinh 1 Numeric Hyperbolic sine function
math::asinh 1 Numeric Inverse hyperbolic sine function
math::tan 1 Numeric Computes the tangent of a number (in radians)
math::atan 1 Numeric Computes the arctangent of a number. The return value is in radians in the range [-pi/2, pi/2]
math::atan2 2 Numeric, Numeric Computes the four quadrant arctangent in radians
math::tanh 1 Numeric Hyperbolic tangent function
math::atanh 1 Numeric Inverse hyperbolic tangent function.
math::sqrt 1 Numeric Returns the square root of a number. Returns NaN for a negative number
math::cbrt 1 Numeric Returns the cube root of a number
math::hypot 2 Numeric Calculates the length of the hypotenuse of a right-angle triangle given legs of length given by the two arguments
str::to_lowercase 1 String Returns the lower-case version of the string
str::to_uppercase 1 String Returns the upper-case version of the string
str::trim 1 String Strips whitespace from the start and the end of the string
str::from >= 0 Any Returns passed value as string
bitand 2 Int Computes the bitwise and of the given integers
bitor 2 Int Computes the bitwise or of the given integers
bitxor 2 Int Computes the bitwise xor of the given integers
bitnot 1 Int Computes the bitwise not of the given integer
shl 2 Int Computes the given integer bitwise shifted left by the other given integer
shr 2 Int Computes the given integer bitwise shifted right by the other given integer
exit 0 None Exits

Constants

Identifier Value Description
math::pi 3.141592653589793 (std::f64::consts::PI) Pi
math::e 2.718281828459045 (std::f64::consts::E) Euler's number

License

This project is primarily distributed under the terms of the MIT license.

Dependencies

~6.5MB
~129K SLoC