mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-01-19 23:40:51 +00:00
008a64ee9b
This makes it much easier to create vectors of a specific grade or grouping. It even found some mistakes in the multivector product implementations.
34 lines
686 B
Objective-C
34 lines
686 B
Objective-C
#ifndef __algebra_h
|
|
#define __algebra_h
|
|
|
|
#include "Object.h"
|
|
|
|
@class Metric;
|
|
@class BasisGroup;
|
|
@class BasisLayout;
|
|
@class MultiVector;
|
|
|
|
@interface Algebra : Object
|
|
{
|
|
Metric *metric;
|
|
BasisGroup **grades;
|
|
BasisLayout *layout;
|
|
int num_components;
|
|
int dimension;
|
|
}
|
|
+(Algebra *) R:(int)p, int m, int z;
|
|
+(Algebra *) PGA:(int)n;
|
|
-(void) print;
|
|
-(BasisGroup *)grade:(int)k;
|
|
-(BasisLayout *)layout;
|
|
-(Metric *) metric;
|
|
-(int)count;
|
|
-(int)dimension;
|
|
|
|
-(MultiVector *) group:(int)group;
|
|
-(MultiVector *) group:(int)group values:(double *)values;
|
|
-(MultiVector *) ofGrade:(int)grade;
|
|
-(MultiVector *) ofGrade:(int)grade values:(double *)values;
|
|
@end
|
|
|
|
#endif//__algebra_h
|