Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Charles B

An Open Source pro math lib (2)

This topic is 5188 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

In the buisiness forum : An Open Source pro math lib . Please discuss more technical stuff here. Ask for precisions if you want. [edited by - Charles B on March 5, 2004 12:27:19 AM]

Share this post


Link to post
Share on other sites
Advertisement
Guest Anonymous Poster
I wold like to chek your current implementation, is it aviable for downloading at the moment? Or any tech document about it?

Any way if you want that your library gets used as standar, I think a zlib like license sould be necesary.

Share this post


Link to post
Share on other sites
No sorry it is not public now because there are still some questions concerning what we will be set as Open Source and what we may keep for us.

For instance we could make the lowest level (the virtual SIMD layer and a bit more) Open Source and we could keep some geometric, col. det. routines for ourself at least for a while.

But we will start a web site very soon. However we need to have a first feedback from the community.

To give you an idea, some code sample that reflects the current state of the technology :

// {x,y,z,w} vectors and AoS (array of structures) style :
// The same code for ANSI, 586, 3DNOW, SSE, Altivec, etc...
// High perfs and less efforts.

vDecl(A,B,C); // Declare these vectors as registers
vLoad(A, *pInp1);
vLoad(B, *pInp2);
vCross(C,A,B); // Higher level than SSE here.
...
vStore(*pOut, C);


// SoA (structures of arrays) and C++ style :
// 1(ANSI), 2(3DNOW), or 4(SSE, Altivec) channels
mfloat Nx,Ny,Nz,Lx,Ly,Lz, Diffuse;
Nx=...; Ny=...; Nz=...;
Diffuse = mfPow(Nx*Lx+Ny*Ly+Nz*Lz, 32); // Lighting eq.

// Note this class is similar to F32Vec
// of the Intel compiler.

With this last example, on SSE or Altivec you'll get an output (asm) code of perfect quality , while the same source code will still work on non SSE capable hardware.


[edited by - Charles B on March 8, 2004 5:12:21 PM]

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!