My Scopes library for GA

I just found this forum and thought, some people here might be interested in this:

Some time ago, I wrote a library for GA using the Scopes programming language.
Most important features already work.

Main advantages:

  • the multivector types use vector types as representation, so addition should be very efficient
  • all types and functions are computed at compile time:
    • better compile time optimization
    • better compile time error checking
    • only uses the memory really needed
    • custom functions can also return the most minimal result type
  • Scopes can also run on the GPU, so the same types and functions can be used on the CPU and GPU without problems
  • versor tracking: the type info also stores if a type is a versor
    • call optimized versions of some methods on versors
    • forbid some methods on non-versors
    • define custom methods, which know if a multivector is a versor
  • support for any element type (floats, integers, custom types like fixed point numbers)

Known missing features:

  • support for custom metrics (every vector squares to 1 currently)
  • some of the more advanced math on multivectors (a simple version of exp exists)
1 Like