-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add missing operations #324
Milestone
Comments
1 task
ergomorphic
pushed a commit
that referenced
this issue
Dec 19, 2018
* add byteArrayToLong, decodePoint, xorOf parser tests; * add SBoolean.toByte, SOption.map, SCollection.zip, zipWith, flatMap parser tests; * add parser tests for new SBigInt, SNumeric, SGroupElement methods; * add parser tests for HEADERS methods; * add LogicalNot boolean unary op in parser; * add Negation unary op for numeric type in parser; * add BitInversion unary op in parser; * add BinXor binary op in parser; commented out tests for ^ bin op (used for exponentiate); * add BitOp node; add parser test for bitwise AND; * make ^ to parse as method; * add bit-shifted ops to the parser; * add bit collections shift ops handling in parser; add BitRotateLeft, BitRotateLeft handling in parser; * rename parameters, add comments; * update scala to 2.12.8 (sync with ergo); * re-arrange op codes after rebase; * assign | for bit OR for numeric types; * fixed HEADERS parser test; * merged BitRotateLeft and BitRotateRight into BitRotate and renamed params (removed TwoArgumentsOperation); * generalize BitRotate into Rotate to use with collection of any type; * generalize shifts to use with collection of any type;
This was referenced Dec 24, 2018
This was referenced Dec 27, 2018
11 tasks
greenhat
added a commit
that referenced
this issue
Feb 12, 2019
greenhat
added a commit
that referenced
this issue
Feb 18, 2019
greenhat
added a commit
that referenced
this issue
Feb 19, 2019
16 tasks
Moving all unfinished operations to #479 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
New operations in SigmaPredef
See spec
New methods for various objects
See spec
Unary operations (// Testnet2)
Bitwise operations (// Testnet2)
Operation to be replaces/renamed
Existing
Exponentiate
operation use symbol^
which should be used for bitwise XOR instead.See method
SGroupElement.exp
above.Using bitwise operations and zip it is possible to implement existing Xor for collections (symbol
|
)UPDATE(Denys, Feb 12):
Status of the new operations in SigmaPredef:
Implemented in parser:
xorOf
;byteArrayToLong
;substConstants
;executeFromVar
;outerJoin
;Implemented up to the typer:
!
(logical Not);-
(negation);~
(bitwise inversion);^
(logical XOR);|
(bitwise OR for Numeric);&
(bitwise AND for Numeric);^
(bitwise XOR for Numeric);<<
,>>
,>>>
(bit shifts for Numeric);<<
,>>
,>>>
(shifts for Collection); Implement >> and << operations #418Status of the new methods for various objects:
Boolean:
Not implemented:
toByte
.Numeric:
Implemented up to the typer:
toBytes
;toBits
;Not implemented(need to express "same" type):
abs
;compare
;BigInt:
Implemented up to the typer:
Context:
Not implemented (blocked by #350, see comments);
Header and PreHeader:
Not implemented, need to move in underlying types from ergo;
AvlTree:
Not implemented;
Box:
Implemented up to the typer:
tokens
;GroupElement:
Implemented all new methods up to the typer:
exp
;Option:
Implemented all new methods up to the typer:
toColl
;flatMap
;map
,filter
(costing failing, see ignored tests in SigmaCompilerTest and BasicOpsSpec);Coll:
Implemented all new methods up to the typer.
The following new methods are implemented fully(tests in CollectionOpsSpec):
indexOf
;segmentLength
;indexWhere
;lastIndexWhere
;zip
;partition
;patch
;updated
;updatedMany
;The following new methods are failing in evaluation (see ignored tests in CollectionOpsSpec):
flatMap
(output array instantiation error);indices
(method call itself ends up in the cost func graph);The text was updated successfully, but these errors were encountered: