Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 31 2019 21:02
    LukaJCB commented #758
  • Jan 31 2019 20:29

    tixxit on master

    Fix Polynomial Gen Merge pull request #758 from Lu… (compare)

  • Jan 31 2019 20:29
    tixxit closed #758
  • Jan 31 2019 18:55
    LukaJCB commented #758
  • Jan 31 2019 12:07
    lmazzon starred non/spire
  • Jan 31 2019 03:06
    SethTisue commented #742
  • Jan 30 2019 23:41
    niebloomj starred non/spire
  • Jan 30 2019 21:11
    GusevTimofey starred non/spire
  • Jan 30 2019 15:12
    qsctr starred non/spire
  • Jan 30 2019 14:00
    tusharbihani starred non/spire
  • Jan 28 2019 15:07
    roman0x58 starred non/spire
  • Jan 25 2019 14:56
    invkrh starred non/spire
  • Jan 23 2019 18:00
  • Jan 23 2019 12:20
    cwheikki starred non/spire
  • Jan 23 2019 02:18
  • Jan 22 2019 15:44
    paulhirschi starred non/spire
  • Jan 22 2019 09:46
    shreyanshp starred non/spire
  • Jan 20 2019 12:39
    midnio starred non/spire
  • Jan 20 2019 12:37
    midnio starred non/spire
  • Jan 20 2019 12:34
    midnio starred non/spire
Luka Jacobowitz
@LukaJCB
Any idea why using PolySparse.apply would give me an index out of bounds exception? 🤔
Luka Jacobowitz
@LukaJCB
I’ve minimized the problem
apparently the Eq instance throws exceptions when comparing
Luka Jacobowitz
@LukaJCB
Luka Jacobowitz
@LukaJCB
On another note, is there really no way to get an Algebraic back from an Expression?
Denis Rosset
@denisrosset
No idea on that, I don't know that part of Spire so well. Ask @tixxit maybe?
Luka Jacobowitz
@LukaJCB
I actually got it fixed, thanks :)
Ichoran
@Ichoran
Slightly off topic, but this is the right kind of crowd for this type of stuff: if any of you have ideas about how to get less fraught behavior out of BigDecimal I'd like to hear about it on scala/bug#11152
Mark Tomko
@mtomko
Perhaps we're doing it wrong, but we just ran into an issue building an assembly jar for a project that has spire in its transitive dependencies - it seems that the subprojects of spire each get built with a buildinfo.BuildInfo$ object, from the sbt-buildinfo plugin. On assembly, these are causing a conflict. I can configure the assembly to discard them but that's a little bit scary. Would it be okay if I made a PR that tried to do one of the following:
  1. put a buildinfo class in a module all to itself that the other modules depend on
  1. put the buildinfo objects for each subproject in their own packages
sorry, my enumeration failed there
Jakub Kozłowski
@kubukoz
looks like it wasn't a good idea to put buildinfo into the suggested package
I'd just use a different package
Mark Tomko
@mtomko
that makes the most sense to me
I can take a quick look at it later today and make a PR for it.
Jakub Kozłowski
@kubukoz
it'd be lovely if all BuildInfo stuff was inlined at compile time though...
maybe there's a way to do that in sbt-buildinfo and fix everything in one go
changing all vals in it to macros would be a start
Mark Tomko
@mtomko
I'm not sure I'm following you.
I think the BuildInfo class is generated at compile time, it should be an object full of vals
Jakub Kozłowski
@kubukoz
it is
but maybe a better solution than having a class generated at compile time would be inlining the vals from that into the code that uses them
Mark Tomko
@mtomko
oh, I see.
Jakub Kozłowski
@kubukoz
e.g. if you have version in your buildinfo object, maybe all usages of BuildInfo.version could just be inlined to 0.0.1 or whatever that is
Mark Tomko
@mtomko
That's above my pay grade :)
But I agree that it's appealing
Denis Rosset
@denisrosset
@kubukoz I have no idea about this BuildInfo stuff -- any doc I can read?
Jakub Kozłowski
@kubukoz
all I know
so it basically generates an object with some vals... I think it might be possible to replace them with macros (and eliminate the BuildInfo object from runtime)
actually, why does spire have BuildInfo in the jar?
I used it in https://github.com/kubukoz/sup but only in the microsite
sounds to me like it wouldn't be very useful to the users of the library anyway
Mark Tomko
@mtomko
I don't like to think I'm a representative sample of spire users in any way, but I can't think of a reason I'd want that information programmatically.
For us it's been handy for deployed applications, but not for libraries
Jakub Kozłowski
@kubukoz
exactly
Mark Tomko
@mtomko
And there are other ways of dealing with debugging version conflicts or classpath problems - sbt can usually show that kind of thing, especially with the dependency graph plugin
ag --scala BuildInfo doesn't return any results in a clean checkout of the spire code
Mark Tomko
@mtomko
hmm, I'm not sure that's a good test based on how the build works, so we should discount that evidence
 ✘  /opt/mtomko/spire   master  ag -a --scala BuildInfo
platform/js/target/streams/compile/buildInfo/$global/streams/sbt-buildinfo/BuildInfo.scala
6:case object BuildInfo {

platform/js/target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala
6:case object BuildInfo {

platform/jvm/target/streams/compile/buildInfo/$global/streams/sbt-buildinfo/BuildInfo.scala
6:case object BuildInfo {

platform/jvm/target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala
6:case object BuildInfo {
 /opt/mtomko/spire   master 
I think that's better, I missed the -a
So now we at least find the generated BuildInfo files
moritz bust
@busti
Would you recommend using spire to do linear algebra in a computer graphics context?
I basically just have to move some elements around the screen in scala-js and maybe rotate them from time to time, but I would like to avoid using (Double, Double) allover the place.
Denis Rosset
@denisrosset
Spire does not have support for concrete linear algebra (yet), except that it provides typeclasses and laws for vector spaces. That would be only helpful for tests -- and marginally so, because you are using imprecise types that are difficult to test exactly.
@Busti thus: if you are writing a linear algebra library, sure, base it on Spire. If it's just a single use project, just use a tuple. Note that Tuple2 is specialized, so you won't allocate too many objects; but still, every computation will allocate a new tuple.
If you need performance, you'll probably have to work with arrays of doubles.
moritz bust
@busti
@denisrosset Thank you for replying. I will probably continue using a tuple then.
The reason behind my question just that I would like to avoid implementing a bunch of classes like Vec2, Vec3, Mat2, Mat3, Mat4.
Other languages, especially those commonly used for game dev, usually already have some libraries for that purpose, but I cannot really find anything in scala.
Spire already has a lot of implementations, that I could really use, like VectorSpace or Quaternion, however given the scientific nature of the library, it might not be the best choice to use them in a realtime graphics environment.
Luka Jacobowitz
@LukaJCB
I think spire is pretty well optimized for performance, so I don't see why it wouldn't be a good choice :)