Skip to content
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 (part 2) #479

Open
26 tasks
greenhat opened this issue Apr 28, 2019 · 2 comments
Open
26 tasks

Add missing operations (part 2) #479

greenhat opened this issue Apr 28, 2019 · 2 comments
Labels
soft-fork Implementation requires soft-fork
Milestone

Comments

@greenhat
Copy link
Member

greenhat commented Apr 28, 2019

Leftovers from #324 that are not covered in existing issues.

SBoolean:

  • toByte

SNumeric:

  • abs
  • compare

SBigInt:

  • modQ; (soft fork)
  • plusModQ; (soft fork)
  • minusModQ; (soft fork)
  • multModQ; (soft fork)

SGroupElement:

  • isIdentity; (soft fork) // special.sigma.GroupElement.isInfinity should be renamed

SOption:

  • isEmpty (add rule to OptionCoster); (soft fork)
  • toColl (add rule to OptionCoster); (soft fork)
  • flatMap (add rule to OptionCoster); (soft fork)
  • fold (add rule to OptionCoster); (soft fork)

SCollection: (all via soft fork)

  • flatMap;
  • find;
  • mapReduce;
  • groupBy;
  • groupByProjecting;
  • unionSets;
  • diff;
  • intersect;
  • sum;
  • prefixLength;
  • lastIndexOf;
  • distinct;
  • startsWith;
  • endsWith;
@greenhat greenhat added this to the Mainnet milestone Apr 28, 2019
@aslesarenko aslesarenko added the soft-fork Implementation requires soft-fork label May 7, 2019
@aslesarenko aslesarenko modified the milestones: Mainnet, After Mainnet May 7, 2019
@aslesarenko
Copy link
Member

[by kushti in Discord]
if we're going to rename "isInfinity" to "isIdentity" , it makes sense to rename "negate" to "inverse" as well (negate is inverse in additive notation, and we're using multiplicative)

@kushti
Copy link
Member

kushti commented Jun 10, 2024

Collection and Numeric methods are moved to #1004 and #1006 , correspondingly

SBigInt methods are not actual, will be replaced with new datatype from #997

SOption.empty already done in the frontend compiler. Other Soption methods can be done with one-liners

SBoolean.toByte can be done with one-liner

isIdentity can be done by simple comparison with encoded identity value (do a test for that and then the issue can be closed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
soft-fork Implementation requires soft-fork
Projects
None yet
Development

No branches or pull requests

3 participants