kopia lustrzana https://github.com/backface/turtlestitch
moved bitwise operators into standard extensions
rodzic
25e11171a7
commit
8d8c685527
|
@ -28,6 +28,7 @@
|
||||||
* fixed the comment in "remove duplicates" in the list utilities library to reflect that the last match is kept
|
* fixed the comment in "remove duplicates" in the list utilities library to reflect that the last match is kept
|
||||||
* fixed "do in parallel" block in parallelization library
|
* fixed "do in parallel" block in parallelization library
|
||||||
* new bitwise operators library, thanks, Bernat!
|
* new bitwise operators library, thanks, Bernat!
|
||||||
|
* moved bitwise operators into standard extensions
|
||||||
|
|
||||||
### 2022-02-07
|
### 2022-02-07
|
||||||
* lists: fixed JSON encoding for nested lists
|
* lists: fixed JSON encoding for nested lists
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
SnapExtensions.primitives.set(
|
|
||||||
'bit_and(a, b)',
|
|
||||||
function (a, b) {
|
|
||||||
return a & b;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
SnapExtensions.primitives.set(
|
|
||||||
'bit_or(a, b)',
|
|
||||||
function (a, b) {
|
|
||||||
return a | b;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
SnapExtensions.primitives.set(
|
|
||||||
'bit_xor(a, b)',
|
|
||||||
function (a, b) {
|
|
||||||
return a ^ b;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
SnapExtensions.primitives.set(
|
|
||||||
'bit_not(a)',
|
|
||||||
function (a) {
|
|
||||||
return ~ a;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
SnapExtensions.primitives.set(
|
|
||||||
'bit_left_shift(a, b)',
|
|
||||||
function (a, b) {
|
|
||||||
return a << b;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
SnapExtensions.primitives.set(
|
|
||||||
'bit_right_shift(a, b)',
|
|
||||||
function (a, b) {
|
|
||||||
return a >> b;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
SnapExtensions.primitives.set(
|
|
||||||
'bit_unsigned_right_shift(a, b)',
|
|
||||||
function (a, b) {
|
|
||||||
return a >>> b;
|
|
||||||
}
|
|
||||||
);
|
|
|
@ -1 +1 @@
|
||||||
<blocks app="Snap! 7, https://snap.berkeley.edu" version="2"><block-definition s="¬ %'a'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/bitwise.js</l></list></block><block s="doReport"><block s="reportApplyExtension"><l>bit_not(a)</l><list><block var="a"/></list></block></block></script></block-definition><block-definition s="%'a' ∧ %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/bitwise.js</l></list></block><block s="doReport"><block s="reportApplyExtension"><l>bit_and(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' ∨ %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/bitwise.js</l></list></block><block s="doReport"><block s="reportApplyExtension"><l>bit_or(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' ⊻ %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/bitwise.js</l></list></block><block s="doReport"><block s="reportApplyExtension"><l>bit_xor(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' << %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/bitwise.js</l></list></block><block s="doReport"><block s="reportApplyExtension"><l>bit_left_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' >> %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/bitwise.js</l></list></block><block s="doReport"><block s="reportApplyExtension"><l>bit_right_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' >>> %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/bitwise.js</l></list></block><block s="doReport"><block s="reportApplyExtension"><l>bit_unsigned_right_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition></blocks>
|
<blocks app="Snap! 7, https://snap.berkeley.edu" version="2"><block-definition s="¬ %'a'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_not(a)</l><list><block var="a"/></list></block></block></script></block-definition><block-definition s="%'a' ∧ %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_and(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' ∨ %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_or(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' ⊻ %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_xor(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' << %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_left_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' >> %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_right_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%'a' >>> %'b'" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_unsigned_right_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition></blocks>
|
|
@ -28,7 +28,7 @@
|
||||||
<script src="src/sketch.js?version=2021-11-03"></script>
|
<script src="src/sketch.js?version=2021-11-03"></script>
|
||||||
<script src="src/video.js?version=2019-06-27"></script>
|
<script src="src/video.js?version=2019-06-27"></script>
|
||||||
<script src="src/maps.js?version=2021-06-15"></script>
|
<script src="src/maps.js?version=2021-06-15"></script>
|
||||||
<script src="src/extensions.js?version=2022-02-07"></script>
|
<script src="src/extensions.js?version=2022-02-08"></script>
|
||||||
<script src="src/xml.js?version=2021-07-05"></script>
|
<script src="src/xml.js?version=2021-07-05"></script>
|
||||||
<script src="src/store.js?version=2022-01-02"></script>
|
<script src="src/store.js?version=2022-01-02"></script>
|
||||||
<script src="src/locale.js?version=2022-01-31"></script>
|
<script src="src/locale.js?version=2022-01-31"></script>
|
||||||
|
|
|
@ -31,9 +31,9 @@
|
||||||
IDE_Morph, CamSnapshotDialogMorph, SoundRecorderDialogMorph, isSnapObject, nop,
|
IDE_Morph, CamSnapshotDialogMorph, SoundRecorderDialogMorph, isSnapObject, nop,
|
||||||
Color, Process, contains*/
|
Color, Process, contains*/
|
||||||
|
|
||||||
/*jshint esversion: 11*/
|
/*jshint esversion: 11, bitwise: false*/
|
||||||
|
|
||||||
modules.extensions = '2022-February-07';
|
modules.extensions = '2022-February-08';
|
||||||
|
|
||||||
// Global stuff
|
// Global stuff
|
||||||
|
|
||||||
|
@ -259,6 +259,57 @@ SnapExtensions.primitives.set(
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// bitwise operations
|
||||||
|
|
||||||
|
SnapExtensions.primitives.set(
|
||||||
|
'bit_and(a, b)',
|
||||||
|
function (a, b) {
|
||||||
|
return a & b;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
SnapExtensions.primitives.set(
|
||||||
|
'bit_or(a, b)',
|
||||||
|
function (a, b) {
|
||||||
|
return a | b;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
SnapExtensions.primitives.set(
|
||||||
|
'bit_xor(a, b)',
|
||||||
|
function (a, b) {
|
||||||
|
return a ^ b;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
SnapExtensions.primitives.set(
|
||||||
|
'bit_not(a)',
|
||||||
|
function (a) {
|
||||||
|
return ~ a;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
SnapExtensions.primitives.set(
|
||||||
|
'bit_left_shift(a, b)',
|
||||||
|
function (a, b) {
|
||||||
|
return a << b;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
SnapExtensions.primitives.set(
|
||||||
|
'bit_right_shift(a, b)',
|
||||||
|
function (a, b) {
|
||||||
|
return a >> b;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
SnapExtensions.primitives.set(
|
||||||
|
'bit_unsigned_right_shift(a, b)',
|
||||||
|
function (a, b) {
|
||||||
|
return a >>> b;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
// data sciene & frequency distribution analysis (dta_):
|
// data sciene & frequency distribution analysis (dta_):
|
||||||
|
|
||||||
SnapExtensions.primitives.set(
|
SnapExtensions.primitives.set(
|
||||||
|
|
Ładowanie…
Reference in New Issue