Extending arithmetic

Per Bergqvist <>
Sat Feb 8 07:21:51 CET 2003


Yes and if this is not only implmented as syntactic sugar this would  
give the emulator a chance to use SIMD instructions (MMX, SIMD, SIMD2,
VIS, MVI etc) to get killer performance.                              
This sounds like a nice little Björn or Tony hack.                    
                                                                      
/Per                                                                  
                                                                      
>                                                                     
> On fredag, feb 7, 2003, at 17:59 Europe/Stockholm, James Hague      
wrote:                                                                
>                                                                     
> > In graphics work vector math comes up a lot, and it occurred to me
                                                                      
> > that much                                                         
> > of this can be done in Erlang without changing the syntax at all. 
                                                                      
> > Rather                                                            
> > than simply allowing "number + number -> number," allow the       
following:                                                            
> >                                                                   
> > tuple + number -> tuple                                           
> > ex: {1,2,3} + 4 -> {4,6,7}                                        
> >                                                                   
> > tuple + tuple -> tuple                                            
> > ex: {1,2,3} + {4,5,6} -> {5,7,9}                                  
> >                                                                   
> > -tuple -> tuple                                                   
> > -{1,2,3} - {-1,-2,-3}                                             
> >                                                                   
> ....                                                                
> > I don't expect this to be taken seriously, but I think it's an    
> > interesting                                                       
> > idea.                                                             
>                                                                     
> Why not also add support for matrixes (when we are already          
overloading                                                           
> +, -, / and *), so that we can do things like this:                 
>                                                                     
> X = ... % current x coordinate                                      
> Y = ... % current x coordinate                                      
> Dy = ... % move along y axis                                        
> Dx = ... % move along x axis                                        
>                                                                     
> % Translated_along_X_and_Y                                          
> {X2, Y2, 1} =                                                       
> {{1,0,Dx},                                                          
> {0,1,Dy},                                                           
> {0,0,1}} * {X,Y,1}                                                  
>                                                                     
> I would assume that applications like Wings could benefit from this.
>                                                                     
=========================================================             
Per Bergqvist                                                         
Synapse Systems AB                                                    
Phone: +46 709 686 685                                                
Email:                                                    



More information about the erlang-questions mailing list