C++ :: Fixed Point Int Min Value
May 14, 2013
I am reading about positive and negative infinity in c++ and i am trying to implement them in a fixed point math arthimethic implementation
I can see that max of a int will be equal to std::numeric_limits<int>::max();
and min value of the int will be equal to std::numeric_limits<int>::min();
in c++
Here as i am defining the int max and int min manually in my fixed point math implementation, my doubt is
int min = -int max; or int min = -int max -1; ?
View 1 Replies
ADVERTISEMENT
Oct 9, 2013
I have been writing a fixed point library the would handle fixed point numbers with an 8:24 whole/fraction ratio. This has been working quite well but since I have a 24 bit fractional part, it should be able to store 2^(-24).
Code:
long long fraction_part = 0;
long long divisor = 1;
while(*string) {
fraction_part *= 10;
fraction_part += *string - '0';
divisor *= 10;
string++;
}
fraction_part <<= 24;
fraction_part /= divisor;
The issue here is that since the smallest possible fraction is 2^(-24) the divisor could end up needing more than 64 bits and so won't work. I'm not quite sure how else I could do this.
View 7 Replies
View Related
Jun 19, 2014
I've come across an interesting question involving a fixed-point arithmetic class.
Suppose I've got a template that implements a fixed-point quantity. It has two characteristics: width and number of fraction bits:
Code:
template <typename RAWTYPE, unsigned int FRACBITS>
class Fixed
{
....
};
So if I want a 32-bit value with 12 bits of fraction I can declare:
Code:
Fixed<int32_t, 12> x;
Suppose I've implemented a freestanding operator+() for fixed values, and I want to be able to add different types together:
Code:
template <typename RAWTYPE1, unsigned int FRACBITS1, typename RAWTYPE2, unsigned int FRACBITS2>
???? operator+(Fixed<RAWTYPE1, FRACBITS1> lhs, Fixed<RAWTYPE2, FRACBITS2> rhs)
{
???
}
What is the result type? Obviously, it's up to me to decide this. As reference, consider the type promotion rules for native types:
Code:
short a;
int b;
int result = a + b; In this case, the short value is promoted to the int value, and the addition happens on int.
It would seem a similar rule (go to the wider type) would be appropriate for fixed point. But there is another dimension to the problem, which is the number of fraction bits. Should you go to the wider type? Or the most precise type? Should you endeavor to minimize the number of bits which are discarded? What's the most intuitive rule?
View 10 Replies
View Related
Apr 25, 2013
I am doing fixed point implementation in c++ which is done by the following code
#ifndef __fixed_point_header_h__
#define __fixed_point_header_h__
#include <boost/assert.hpp>
#include <boost/static_assert.hpp>
#include <boost/operators.hpp>
#include <limits>
[Code] ....
I am getting the error ambiguous overload for âoperator<â in âbeta < ((-5.0e-1) * pi)â
I know the problem the static member function cannot access the members and objects of structs. am i right?
and how to solve this problem, do i need to implement the cossin_cordic function as a non member function.
View 14 Replies
View Related
Jun 26, 2013
I have one code that use MPI broadcast and I want to change it into Asynchronous Point to Point communication. I am newbie in Parallel programming. Looking for implementation of one simple same program in broadcast and P2P ?
View 6 Replies
View Related
May 28, 2013
The input consists of one or more packets followed by a line containing only # that signals the end of the input. Each packet is on a line by itself, does not begin or end with a space, and contains from 1 to 255 characters.
it said 1 to 255 characters
i have to use getline(cin,str);
i tried str[255] but some error happen
View 2 Replies
View Related
Aug 22, 2013
the program has to accept a keypress. It should wait for some fixed amount of time. If a key is pressed within this time, the program should call a function. If a key is not pressed in this time limit the program should continue its normal execution. The problem with getch() is that it essentially requires you to press a key and it does not allow other instructions to execute until the key is pressed.
View 3 Replies
View Related
Sep 19, 2013
how to create an unordered map of fixed size vectors?
Code:
unordered_map<string, vector<int>> x;
x["mumb 5"][7] = 65; // this does not work since my vector size is not set.
View 7 Replies
View Related
Feb 3, 2014
While testing some simple examples with glDrawArrays I noticed switching it to shaders can cut my frame rate by over half (from 600- 300). I know I am using a bunch of deprecated code in GLSL right now but I don't expect it to cause that much of an fps drop. I would say it was just my intel graphics chip but if the FFP can handle it I see no reason shaders can't.
--Windows 7 Premum 64-bit
--Intel Core i3 540
--Intel HD Graphics
//Sending 10,000 quads with GLfloats (So Vertices vector has 80,000 elements, currently no indexing).
//Vertices allocated earlier in code, before main game loop
glBindBuffer(GL_ARRAY_BUFFER, vbo);
glEnableClientState(GL_VERTEX_ARRAY );
glVertexPointer(2, GL_FLOAT, 0, 0);
glDrawArrays(GL_QUADS, 0, Vertices.size() / 2);
[Code] .....
The highest Opengl version I can run is 2.1 so 120 in shaders. I know this is a fairly pointless test right now but it is still surprising to see, anything obvious I am missing?
View 19 Replies
View Related
Oct 31, 2014
I am working on a computer program where I need to generate points on a circle. I am familiar with this kind of algorithm:
for(d=0; d<=2*pi; d+=0.01)
{
x = cos(d)*radius;
y = sin(d)*radius;
}
However, due to the specifics of the program I am writing, I need to iterate through a fixed number of points one at a time, like so:
for ( int x = 0; x < blockSize; x++ )
{
y = ???
}
This essentially "fixes" one axis of the circle, since I can't do: x=rx+sin(d)*r.
I have tried simply: "y = sin(d)*radius;" and I get a curved shape, but it's not a circle.
My question then is, how do I get the value of y in this situation, where the x axis is incrementing by 1 through a range of values? Is it mathematically possible?
View 6 Replies
View Related
Apr 28, 2014
I'm working on a Dijkstra's algorithm with a fixed graph. My question is, how should I go about assign distance values to the graph. The user can start from any node.
View 4 Replies
View Related
Apr 19, 2014
all i want to do is to read a fixed char array sized 4 from user and pass it to Binary File then Print Encrypted content from the the File to the console screen .. but it seems it prints the same input every time .. and i tried everything .. it works fine with integers and strings .. but when it come to char array nothing ..
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
[Code].....
View 6 Replies
View Related
Jun 9, 2013
I want to save the char[8][8] // fixed size 2 dimension array
to a vector
such as
vector<?????> temp;
is there anyway to approach this?
View 4 Replies
View Related
Jan 3, 2015
I don't know why this doesn't work. It doesn't return any errors, but it does the polynomial equation wrong. I tried using "^" instead of "pow" and it still does it wrong. I'm getting results like "-897123897" instead of "3". This is the code:
Code:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
[code]....
View 4 Replies
View Related
Mar 16, 2014
Code:
#include<stdio.h>
#include<conio.h>
void main()
{
float i;
i=0.7;
[Code] ....
If i do run the above program in turbo C/C++ complier, it outputs "h". But,if i change the code as i=0.6 and if (i<0.6), it outputs "w". Even if i change it to i=0.8 and if(i<0.8), then also it outputs "w".
View 4 Replies
View Related
May 8, 2014
Code:
#include<stdio.h>
#include<conio.h>
float square(float);
void main() { clrscr();
float a,b;
printf("ENter a Number");
scanf("%f",&a);
[Code] ....
In the above program, I am calculating the square of float number. But sometimes the number is entered as NAN and sometimes Output is NAN. What is NAN? I am entering floating point number, then y NAN is entered?
SEE the Image attached for the OUTPUT.
View 2 Replies
View Related
Oct 15, 2014
I have to create dynamic array, where each element of it points to some value. I know how to create dynamic array
Code: array_record * record_1 = (array_record*)malloc( (group!/(2!(group!-2)!)) *sizeof(array_record));
But i don't know how i create this case. for example what i want if array elements are:
Code:
index value value
0 01 -> 345
1 02 -> 457
2 03 -> 689
3 21 -> 634
so if i have value somewhere 01 match with 01 in this array it display 345. how i can implement it?
View 1 Replies
View Related
Sep 27, 2014
I'm wondering about the point of pointers to functions. When is it used?I saw the below example. It doesn't make sense to me. I mean we can easily write code that does the same without having to use pointers.
Code:
#include <stdio.h>
int addInt(int a, int b); // Adds 2 integers
int add5to4(int (*function_pointer)(int, int));
int main(void)
{
int sum;
int (*function_pointer)(int, int);
}
[code]....
View 2 Replies
View Related
Apr 1, 2013
now that I can pick a mesh I want to put it in the ground.So I'm looking for the 3d position of my mouse in the ground.this is my code about picking:
D3DXMATRIX p_matProjection, p_matView, p_matWorld, p_matInverse;
pDevice->GetTransform(D3DTS_PROJECTION,&p_matProjection);
pDevice->GetTransform(D3DTS_VIEW, &p_matView);
pDevice->GetTransform(D3DTS_WORLD, &p_matWorld);
// use the mouse coordinates to get the mouse angle
[code].....
View 3 Replies
View Related
Aug 17, 2013
Program which accepts two lines and and determines their intersection point and whether they lie within a circle, also given interactively. I'm racing against time and I've racked my skull to no avail
View 2 Replies
View Related
Jul 9, 2014
I dont see any point of NULL in cstring. The code given below just outputs same as it would have done with NULL. My understanding is if size of char array is less than length of char array then null must be manually added?
#include <iostream>
using namespace std;
int main(){
char chr[0];
cin>>chr;//or if you use cin.getline;
cout<<chr<<endl;
return 0;
}
Enter something: hellowwwww
hellowwwww
Segmentation fault (core dumped)
why? for NULL char or something else?
View 1 Replies
View Related
Mar 28, 2014
if we have a decimal number like c=3.46
And i want to set two number, a and b
now a= static_type<int>(c); so a=3;
and i want b= 46
which is the two numbers after the decimal how can I do that ? how can I set b = 46 ?
P.S: i do not know what c equals to. now it's two number after the floating point but it might be more or less
View 7 Replies
View Related
Apr 15, 2013
I'm developing a short c++ program to scan all devices connected to the system through the USB connections.
I have used libusb to scan them and it really works but this library does not provide me with the mounting point, so I get a list of devices including manufacturer, serial number, etc but not the mounting point.
I have also used libudev library but it seems to happen something similar...
I need to get the mounting point for all USB devices connected to the board, you know: /dev/ttyUSB0 ....
View 1 Replies
View Related
Aug 25, 2013
how can I check if the number is float point number without converting the number to string and then find '.'?
For example, this number (5.0) should not be integer. I found the following way in Python but it didn't work in C++
abs(n - (int)n) < 0.000001
View 9 Replies
View Related
May 13, 2014
So, I have created a class called "point" and i have 4 "point" objects. They only have 2 variables, x and y (their position). The first 3 points form a triangle and now I need to tell if the forth one is inside or outside. I have found some solutions but they involve heavy math (they are based on the sum of the angles or something like that). I want to know if there is any way to solve this only by using the distance between points. I have created a function which takes 2 "point" objects and returns a float value which is their distance.
Here is some code:
#include <iostream>
#include <cstdlib>
#include <math.h>
using namespace std;
[Code]....
View 5 Replies
View Related
May 12, 2014
I am trying to write a basic editor program and one of the parts asks me to "process dot commands that move point in whole line increments"
Earlier it says that a point is interpreted as specifying the location between characters rather than the characters themselves. and i need to use this to implements the following:
< moves point to the beginning of the document. > moves point to the end of the document. p moves point to the beginning of the previous line. n moves point to the beginning of the next line. k deletes the current line and leaves point at the beginning of the following line.
(there was a previous part before this so i already have some code that works) and in this part I'm trying to do a switch case
ie
for
< , >, p , n and k
I guess my question is how do i make this "point" need. Ive been using vectors, so the point needs to be somewhere inside the vector. I don't think ill be able to do what i need to do with out the point.
View 14 Replies
View Related