Include vector aspect of operators

This commit is contained in:
Mateusz Piątkowski 2022-09-19 23:34:25 +02:00
parent 691d4d84ac
commit f900647c76

View File

@ -9,8 +9,12 @@
5 5
> (1/3) + (1/4) > (1/3) + (1/4)
7/12 7/12
> 1 + (up 10)
[1; 2; 3; 4; 5; 6; 7; 8; 9; 10]
``` ```
- inkrementacji zmiennej (liczby lub akordu, w tym w szczególności pojedynczeń nuty): - inkrementacji zmiennej (liczby lub akordu, w tym w szczególności pojedynczeń nuty):
``` ```
> c + 1 > c + 1
c# c#
@ -27,15 +31,19 @@ chord[d; f#]
10 10
> (1/3) * (1/4) > (1/3) * (1/4)
1/12 1/12
> 2 * (up 10)
[0; 2; 4; 6; 8; 10; 12; 14; 16; 18]
``` ```
- powtarzania zwraca określoną liczbę powtórzeń danego dźwięku: - powtarzania zwraca określoną liczbę powtórzeń danego dźwięku:
```
> a * 4 > a * 4
[a; a; a; a] [a; a; a; a]
> a3 * 4 > a3 * 4
[chord[a; c]; chord[a; c]; chord[a; c]; chord[a; c]] [chord[a; c]; chord[a; c]; chord[a; c]; chord[a; c]]
``` ```
- `/` operator dzielenia: - `/` operator dzielenia *wektor może być wyłącznie dzielną*:
``` ```
> 4 / 2 > 4 / 2
2 2
@ -43,39 +51,60 @@ chord[d; f#]
5/7 5/7
> (2/3) / (3/5) > (2/3) / (3/5)
10/9 10/9
> (up 10) / 2
[0; 1/2; 1; 3/2; 2; 5/2; 3; 7/2; 4; 9/2]
``` ```
- `%` operator działania modulo (wynikiem jest reszta z dzielenia) *nie działa dla ułamków*:
- `%` operator działania modulo (wynikiem jest reszta z dzielenia) *nie działa dla ułamków*, *wektor może być wyłącznie dzielną*:
``` ```
> 3 % 3 > 3 % 3
0 0
> 6 % 5 > 6 % 5
1 1
> (up 10) % 2
[0; 1; 0; 1; 0; 1; 0; 1; 0; 1]
``` ```
- `**` operator potęgowania *wykładnikiem nie może być ułamek*: - `**` operator potęgowania *wykładnikiem nie może być ułamek*:
``` ```
> 2 ** 8 > 2 ** 8
256 256
> (2/3) ** 3 > (2/3) ** 3
8/27 8/27
> (up 10) ** 2
[0; 1; 4; 9; 16; 25; 36; 49; 64; 81]
> 2 ** (up 10)
[1; 2; 4; 8; 16; 32; 64; 128; 256; 512]
``` ```
## Operatory porównawcze ## Operatory porównawcze
- `!=` operator "nie równa się": - `!=` operator "nie równa się":
``` ```
> 2 != 3 > 2 != 3
true true
> a != a > a != a
false false
> 3 != (up 5)
[true; true; true; false; true]
``` ```
- `<` operator "mniejsze niż": - `<` operator "mniejsze niż":
``` ```
> 2 < 3 > 2 < 3
true true
> a < a > a < a
false false
> 3 < (up 5)
[true; true; true; false; false]
``` ```
- `<=` operator "mniejsze lub równe": - `<=` operator "mniejsze lub równe":
``` ```
> 2 <= 3 > 2 <= 3
true true
@ -83,22 +112,34 @@ true
true true
> 3 <= 2 > 3 <= 2
false false
> 3 <= (up 5)
[true; true; true; true; false]
``` ```
- `==` operator "równe": - `==` operator "równe":
``` ```
> 2 == 3 > 2 == 3
false false
> a == a > a == a
true true
> 3 == (up 5)
[false; false; false; true; false]
``` ```
- `>` operator "większe niż": - `>` operator "większe niż":
``` ```
> 2 > 3 > 2 > 3
false false
> a > a > a > a
true true
> 3 > (up 5)
[false; false; false; false; true]
``` ```
- `>=` operator "większe lub równe": - `>=` operator "większe lub równe":
``` ```
> 2 >= 3 > 2 >= 3
false false
@ -106,20 +147,29 @@ false
true true
> 3 >= 2 > 3 >= 2
true true
> 3 >= (up 5)
[false; false; false; true; true]
``` ```
## Pozostałe operatory ## Pozostałe operatory
- `.` operator indeksu (zwraca wskazany element, liczone od 0): - `.` operator indeksu (zwraca wskazany element, liczone od 0):
``` ```
> A:=[1; 3; 5] > A:=[1; 3; 5]
> A . 1 > A . 1
3 3
> (up 7).4
3
``` ```
- indeksu
- `&` operator łączenia: - `&` operator łączenia:
``` ```
> c & a > c & a
chord[c; a] chord[c; a]
> [1;3;5] & [2;4;6] > [1;3;5] & [2;4;6]
[1; 3; 5; 2; 4; 6] [1; 3; 5; 2; 4; 6]
> (up 7) & (down 9)
[0; 1; 2; 3; 4; 5; 6; 8; 7; 6; 5; 4; 3; 2; 1; 0]
``` ```