| | |
Calculating Entropy of a file and coding it using Hamming
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: May 2008
Posts: 31
Reputation:
Solved Threads: 0
Hello there!
I am trying to solve a problem for a project i took and i am in the final
part of it...(view below for my until now code)
Well the aim is to calculate the entropy of a file and then to use
Hamming to code it. I managed to make both parts based on what I learned
from the class and read in the book. (Please if you are familiar with the
object tell me if it is correct
)
So, my problem is that I am not able to merge those two parts below (you
dont need to read the theory for it).. like finding the entropy and then
continue for the coding of that file.
Any help, advice, anything is appreciate.
Thank you!
Entropy Calculation
Hamming Coding
I am trying to solve a problem for a project i took and i am in the final
part of it...(view below for my until now code)
Well the aim is to calculate the entropy of a file and then to use
Hamming to code it. I managed to make both parts based on what I learned
from the class and read in the book. (Please if you are familiar with the
object tell me if it is correct
)So, my problem is that I am not able to merge those two parts below (you
dont need to read the theory for it).. like finding the entropy and then
continue for the coding of that file.
Any help, advice, anything is appreciate.
Thank you!
Entropy Calculation
C++ Syntax (Toggle Plain Text)
#include "BufferedNode.h" #include "Buffer.h" #include "Vector.h" #include <strstream> #include <math.h> #ifdef HAVE_VALUES_H #include <values.h> #endif #ifdef HAVE_FLOAT_H #include <float.h> #endif class Entropy; DECLARE_NODE(Entropy) /*Node * * @name Entropy * @category DSP:Misc * @description Calculates the entropy of a vector * * @input_name INPUT * @input_type Vector<float> * @input_description Input vector * * @output_name OUTPUT * @output_type Vector<float> * @output_description Entropy value (vector of 1) * END*/ class Entropy : public BufferedNode { int inputID; int outputID; public: Entropy(string nodeName, ParameterSet params) : BufferedNode(nodeName, params) { inputID = addInput("INPUT"); outputID = addOutput("OUTPUT"); } void calculate(int output_id, int count, Buffer &out) { ObjectRef inputValue = getInput(inputID, count); const Vector<float> &in = object_cast<Vector<float> > (inputValue); int inputLength = in.size(); Vector<float> &output = *Vector<float>::alloc(1); out[count] = &output; float s2=0; float entr=0; for (int i=0;i<inputLength;i++) { s2+=in[i]*in[i]; } s2 = 1/s2; for (int i=0;i<inputLength;i++) { if (in[i] != 0) entr -= s2*in[i]*in[i] * log(s2*in[i]*in[i]); } //cout << entr << endl; output[0] = entr; } };
Hamming Coding
C++ Syntax (Toggle Plain Text)
#include<iostream.h> #include<math.h> void hanming() { int i,n,k=2; int h[20]; for(i=0;i<20;i++)h[i]=0; cout<<"bla bla"<<endl; cin="">>n; while(pow(2,k)<n+k+1)k++; cout=""><<"bla bla"<<endl; for(i="1;i<=n+k;i++){" if(i!="1&&i!=2&&i!=4&&i!=8)cin">>h[i]; } h[1]=(h[3]+h[5]+h[7]+h[9]+h[11]+h[13]+h[15])%2; h[2]=(h[3]+h[6]+h[7]+h[10]+h[11]+h[14]+h[15])%2; h[4]=(h[5]+h[6]+h[7]+h[12]+h[13]+h[14]+h[15])%2; h[8]=(h[9]+h[10]+h[11]+h[12]+h[13]+h[14]+h[15])%2; for(i=1;i<=n+k;i++)cout<<h[i]; jiaoyan(int="" a[],int="" n)="" {="" i,p1,p2,p4,p8,m;="" int="" h[20];="" for(i="0;i<n;i++)h [i+1]=a[i];" k="2;" p1="(h[1]+h[3])%2;" p2="(h[2]+h[3])%2;" m="2*p2+p1;" return="" m;="" }="" if(n="=3){">=5&&n<=7){ // k=3; p1=(h[1]+h[3]+h[5]+h[7])%2; p2=(h[2]+h[3]+h[6]+h[7])%2; p4=(h[4]+h[5]+h[6]+h[7])%2; m=4*p4+2*p2+p1; return m; } if(n>=9&&n<=15){ //k=4; p1=(h[1]+h[3]+h[5]+h[7]+h[9]+h[11]+h[13]+h[15])%2; p2=(h[2]+h[3]+h[6]+h[7]+h[10]+h[11]+h[14]+h[15])%2; p4=(h[4]+h[5]+h[6]+h[7]+h[12]+h[13]+h[14]+h[15])%2; p8=(h[8]+h[9]+h[10]+h[11]+h[12]+h[13]+h[14]+h[15])%2; m=8*p8+4*p4+2*p2+p1; return m; } else{ cout<<"bla bla"<<endl; return="" -1;="" }="" ����="" void="" main()="" {="" hanming();="" coco;="" int="" i,n,m,h[20];="" cout=""><<endl; cout=""><<"bla bla"<<endl; cin="">>n; cout<<"bla bla"<<endl; for(i="0;i<n;i++)cin">>h[i]; m=jiaoyan(h,n); if(m==0)cout<<"bla bla"<<endl; if(m!="0)cout<<"bla bla"<<m;" cout=""><<endl; cin="">>coco; }
Last edited by Punkis448; Jun 19th, 2009 at 6:05 am.
First, read this excellent info and migrate your code to be more standard 
(Especially read 2.3, and when you've some time left, than it might be a good idea to read the whole guide)

(Especially read 2.3, and when you've some time left, than it might be a good idea to read the whole guide)
Last edited by tux4life; Jun 19th, 2009 at 6:48 am.
"Never argue with idiots, they just drag you down to their level and then beat you with experience."
Hey I think that you will be getting a load of errors,
I am still unable to understand what the words ENTROPY and HAMMING CODE mean (to this code) even after reading some Wiki's about it.
inputID is declared as an Int, And there is no addInput Function presented in the code.
I really would like to have some more information to work with, Maybe If you can explain what your code has to do , and what is it currently doing
Some Sample Input values etc,
I am still unable to understand what the words ENTROPY and HAMMING CODE mean (to this code) even after reading some Wiki's about it.
C++ Syntax (Toggle Plain Text)
inputID = addInput("INPUT");
I really would like to have some more information to work with, Maybe If you can explain what your code has to do , and what is it currently doing
Some Sample Input values etc,
Entropy is just the measure of change/randomness in a system. And I suppose he's trying to check the correctness of the bits in a system. Maybe? idk
"Jedenfalls bin ich überzeugt, daß der Alte nicht würfelt."
"I became very sensitive to what will happen to all this and all of us." -Two geniuses named Albert
"I became very sensitive to what will happen to all this and all of us." -Two geniuses named Albert
i notice your function is called: "hanming" ...but i imagine you would easily figure out a compile time error such as that.
otherwise, i dont really have fooking clue as to what "calculating entropy of a file and coding it using hamming" means. To be honest, I was thinking of the Second Law of Thermodynamics and DSP Hamming Filters, so I was all like WTF???
I did find your other posts here and here, to be of some interest.
.
otherwise, i dont really have fooking clue as to what "calculating entropy of a file and coding it using hamming" means. To be honest, I was thinking of the Second Law of Thermodynamics and DSP Hamming Filters, so I was all like WTF???

I did find your other posts here and here, to be of some interest.
.
Last edited by jephthah; Jun 19th, 2009 at 7:14 pm.
Why do they use the same words for different things?
I always thought Entropy S:

and

Edit: The second formula is from Statistical Thermodynamics.
I always thought Entropy S:
and
Edit: The second formula is from Statistical Thermodynamics.
Last edited by siddhant3s; Jun 19th, 2009 at 7:28 pm.
Siddhant Sanyam
(Not posting much)
Migrate to Standard C++ :When to tell your C++ Code is Non-Standard.
Please Read before posting: How To Ask Questions The Smart Way
(Not posting much)
Migrate to Standard C++ :When to tell your C++ Code is Non-Standard.
Please Read before posting: How To Ask Questions The Smart Way
> I did find your other posts here and here, to be of some interest.
Aww man, you beat me
I could only find one other cross-post
Aww man, you beat me

I could only find one other cross-post
![]() |
Similar Threads
- Struct: Having trouble reading into my file (C++)
- Changing drive for a video file. (Visual Basic 4 / 5 / 6)
- How to retrieve data from one form to another/ through Data Base (VB.NET)
- How to import excel file data to mysql database (ASP.NET)
- create pdf or word file from within c# (C#)
- Coding in vb for importing illustrator (Visual Basic 4 / 5 / 6)
- We look for coding partners (HTML and CSS)
- Setting a static page file (virtual memory) (Windows tips 'n' tweaks)
- conversion of text file into data base file (Visual Basic 4 / 5 / 6)
Other Threads in the C++ Forum
- Previous Thread: structures
- Next Thread: Syntax Prob: using string.insert
| Thread Tools | Search this Thread |
api array based binary c++ c/c++ calculator char char* class classes code coding compile console conversion count database delete deploy desktop developer directshow dll download dynamic dynamiccharacterarray email encryption error file forms fstream function functions game givemetehcodez google graph gui homeworkhelp iamthwee ifstream input int integer java lib linkedlist linker linux list loop looping loops map math matrix memory multiple news number numbertoword output pointer problem program programming project python random read recursion recursive reference return rpg sorting string strings struct temperature template templates test text text-file tree unix url variable vector video visual visualstudio win32 windows winsock wordfrequency wxwidgets






