Colin Stearns / Mbed 2 deprecated dgps

Dependencies:   mbed

Committer:
dylanembed123
Date:
Thu Apr 03 16:27:23 2014 +0000
Revision:
6:f0248eb6714d
Parent:
5:eef5ea6a9916
Fix compile errors;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dylanembed123 6:f0248eb6714d 1 #include "dataLocation.h"
dylanembed123 4:c75d5e5e6bfc 2
dylanembed123 5:eef5ea6a9916 3 DataLocation* LocHolder::get(LHType type){
dylanembed123 5:eef5ea6a9916 4 if(type==LHType_locs){
dylanembed123 5:eef5ea6a9916 5 return locs;
dylanembed123 5:eef5ea6a9916 6 }else if(type==LHType_targ){
dylanembed123 5:eef5ea6a9916 7 return targ;
dylanembed123 5:eef5ea6a9916 8 }else if(type==LHType_base){
dylanembed123 5:eef5ea6a9916 9 return base;
dylanembed123 5:eef5ea6a9916 10 }
dylanembed123 6:f0248eb6714d 11 return base;
dylanembed123 4:c75d5e5e6bfc 12 }
dylanembed123 4:c75d5e5e6bfc 13
dylanembed123 6:f0248eb6714d 14 unsigned int LocHolder::getRealIndex(LHType type,int index,int offset,bool useSize){
dylanembed123 6:f0248eb6714d 15 return (index+offset)%(useSize?getI(type,LHIType_size):MAXNUMLOCS);
dylanembed123 4:c75d5e5e6bfc 16 }
dylanembed123 5:eef5ea6a9916 17
dylanembed123 6:f0248eb6714d 18 DataLocation& LocHolder::getC(LHType type,int offset){
dylanembed123 6:f0248eb6714d 19 return get(type)[getRealIndex(type,offset)];
dylanembed123 6:f0248eb6714d 20 }
dylanembed123 6:f0248eb6714d 21
dylanembed123 6:f0248eb6714d 22 unsigned int& LocHolder::getI(LHType type,LHIType indexType){
dylanembed123 5:eef5ea6a9916 23 if(indexType==LHIType_head){
dylanembed123 5:eef5ea6a9916 24 // Grab proper header
dylanembed123 5:eef5ea6a9916 25 if(type==LHType_locs){return headLocs;}else if(type==LHType_targ){return headTarg;}else if(type==LHType_base){return headBase;}
dylanembed123 5:eef5ea6a9916 26 }else if(indexType==LHIType_size){
dylanembed123 5:eef5ea6a9916 27 // Grab proper size
dylanembed123 5:eef5ea6a9916 28 if(type==LHType_locs){return sizeLocs;}else if(type==LHType_targ){return sizeTarg;}else if(type==LHType_base){return sizeBase;}
dylanembed123 5:eef5ea6a9916 29 }
dylanembed123 6:f0248eb6714d 30 return headLocs;
dylanembed123 4:c75d5e5e6bfc 31 }
dylanembed123 5:eef5ea6a9916 32
dylanembed123 6:f0248eb6714d 33 void LocHolder::inc(LHType type,int amount,bool abs){
dylanembed123 5:eef5ea6a9916 34 unsigned int& index=getI(type);
dylanembed123 6:f0248eb6714d 35 index=getRealIndex(type,(abs?0:index),amount);//((abs?0:index)+amount)%getI(type,LHIType_size);
dylanembed123 5:eef5ea6a9916 36 getI(type)=index;
dylanembed123 6:f0248eb6714d 37 }
dylanembed123 6:f0248eb6714d 38
dylanembed123 6:f0248eb6714d 39 void LocHolder::add(LHType type,DataLocation newLoc){
dylanembed123 6:f0248eb6714d 40 getI(type)=getI(type,LHIType_size);
dylanembed123 6:f0248eb6714d 41 getI(type,LHIType_size)++;
dylanembed123 6:f0248eb6714d 42 getC(type)=newLoc;
dylanembed123 5:eef5ea6a9916 43 }