quakeforge/ruamoko/gatest/multivector.h
Bill Currie c1c77bd64a [gatest] Add basic geometric algebra test
This is for developing methods of implementing geometric algebra and
eventually playing with it visually.
2023-05-19 00:34:05 +09:00

28 lines
844 B
Objective-C

#ifndef __multivector_h
#define __multivector_h
#include <Object.h>
@class Algebra;
@class BasisLayout;
@interface MultiVector : Object
{
double *components;
Algebra *algebra;
BasisLayout *layout;
int num_components;
}
+(MultiVector *) new:(Algebra *) algebra;
// NOTE: values must have the same layout as algebra
+(MultiVector *) new:(Algebra *) algebra values:(double *) values;
+(MultiVector *) new:(Algebra *) algebra group:(BasisGroup *) group;
// NOTE: values must have the same layout as group
+(MultiVector *) new:(Algebra *) algebra group:(BasisGroup *) group values:(double *) values;
+(MultiVector *) copy:(MultiVector *) src;
-(MultiVector *) product:(MultiVector *) rhs;
-(MultiVector *) wedge:(MultiVector *) rhs;
-(MultiVector *) dot:(MultiVector *) rhs;
-(MultiVector *) dual;
@end
#endif//__multivector_h