jsonpiler 0.10.2

a Json syntax programming language for Windows
Documentation
# Arithmetic operations

## abs

```jspl
abs(Int) -> Int
abs(Float) -> Float
```

Returns the absolute value of `Int` or `Float`.
If the value is `0x8000000000000000` (the smallest 64-bit signed integer),
the result is unchanged due to two's complement representation.

```jspl
abs(-5) => 5
```

## +

```jspl
Int + Int... -> Int
Float + Float... -> Float
Str + Str... -> Str
```

Returns the sum of all operands.
If the operands are strings, they are concatenated.

```jspl
1 + 5 + 4 + 6 => 16
"Hello" + "World" => "HelloWorld"
```

## -

```jspl
-(Int)
-(Float)
Int - Int... -> Int
Float - Float... -> Float
```

Subtracts each subsequent operand from the first.
With one argument, the sign is inverted.

```jspl
30 - 5 - { 4 + 6 }
  => 15
```

## \*

```jspl
Int * Int... -> Int
Float * Float... -> Float
```

Multiplies all operands.

```jspl
30 * 5 * { 4 + 6 } => 1500
```

## /

```jspl
Int / Int... -> Int
Float / Float... -> Float
```

Divides the first operand by each subsequent operand.
If any divisor is zero, an error is generated at runtime or compile time.

```jspl
30 / 5 / 6 => 1
```

## %

```jspl
Int % Int -> Int
```

Computes the remainder of the first operand divided by the second.

```jspl
30 % 7 => 2
```

## Int

```jspl
Int(Float) -> Int
```

Converts `Float` to `Int` by discarding the fractional part.

```jspl
Int(1.5) => 1
```

## Float

```jspl
Float(Int) -> Float
```

Converts `Int` to `Float` by adding .0

```jspl
Float(1) => 1.0
```

## random

```jspl
random() -> Int
```

Returns a pseudo-random 64-bit integer.
Not suitable for cryptographic purposes.

```jspl
{"random": []} => 1234567890
```

## <<

```jspl
Int << Int -> Int
```

Performs a left bitwise shift.

```jspl
1 << 3 => 8
```

## >>

```jspl
Int >> Int -> Int
```

Performs a right bitwise shift.

## sqrt

```jspl
sqrt(Float) -> Float
```

Returns the square root of `Float`.

```jspl
sqrt(2.0) => 1.414...
```