fi.sum increases bitlength although fimath is set to KeepMSB
    6 views (last 30 days)
  
       Show older comments
    
    Lennart
 on 1 Jul 2015
  
    
    
    
    
    Commented: Walter Roberson
      
      
 on 2 Jul 2015
            Hi there,
I was wondering why the sum function increases the length of my fixed point variable.
Here is a little example:
fimath('SumMode','KeepMSB')
x = fi(1:100,true,8,0)
.
.
.
y = sum(x)
y = 5050
            DataTypeMode: Fixed-point: binary point scaling
              Signedness: Signed
              WordLength: 15
          FractionLength: 0
I actually expected y to be 39, which is the decimal representation of 00100111 (the first 8 bit of y). It seams that the sum function just works with FullPrecision anyways?! Am I doing something wrong here?
Any help is highly appreciated.
Regards,
Len
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 1 Jul 2015
        You did not specify SumWordLength in your fimath() object.
2 Comments
  Walter Roberson
      
      
 on 2 Jul 2015
				I think you might need to assign the fimath object to a variable to get it to work, so that the object exists in the workspace. When you do not assign it, the object would get discarded at the end of the line.
More Answers (0)
See Also
Categories
				Find more on Fixed-Point Math Functions in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
