Generating HashCodes for Array of Doubles

I have an arraylist of double values, say like this
attr1 attr2 attr3 attr4
1.0 2.0 3.0 2.5
2.0 3.0 1.0 2.5
I want to generate different hashcodes , so that I can insert in this hashtabe using the hashcode.
Thanks,
kalyan

Ideally , I want to be able to bin the attribute values,
say attribute1 into say 32 bins ,
,then again attribute2 into 32 bins
and for the rest of attributes and t
hen design a hash function which can map from all these bins into a hashtable with a correct index.
I hope this is clear.
-kalyan

Similar Messages

  • HashCode for Arrays

    I am using an Array as a Key to a HashMap. I need to override the equals() & hashCode() methods. what is the best way to override the hashCode method for an array?

    tiasen24 wrote:
    OK, let me explain the problem. I have a class Description. I may use various attributes to obatin a Value from a Map. For example age & name is enough to get the first Name. But if we dont have Last Name, if use
    age, Height & weight as Key.
    Age, Last Name -> First Name
    Age,Height, Weight -> First Name
    In short : the Description Object may have any number of attributes.
    So i thought I would make an Array in the Description Object and pass that Object to the Map.
    But how do i override the HashCode for it?So a Description is a Set of Attributes? have you defined a class Description and a class Attribute ? And what is the real type for the values in this Map? Person?

  • Can't generate setters for array or collection classes with JAXB

    I am trying to use JAXB to generate the required setters for Spring beans. Although according to the book Java & XML Data Binding
    Chapter 3 page 42 by Brett McLaughlin it was possible with DTD's using
    <?xml version="1.0"?>
    <xml-java-binding-schema version="1.0-ea">
    <options package="javajaxb.generated.movies" default-reference-collection-type="array" />
    <element name="movies" type="class" root="true"/>
    </xml-java-binding-schema>
    to generate an array as in
    public Movie[] getMovie( ) {
    // implementation
    public void setMovie(Movie[] _Movie) {
    it doesn't look like that capability exists with JAXB 2.0 and XML Schemas. In their wisdom they just generate getters on Lists and tell you:
    <p>
    * This accessor method returns a reference to the live list,
    * not a snapshot. Therefore any modification you make to the
    * returned list will be present inside the JAXB object.
    * This is why there is not a <CODE>set</CODE> method for the filingForm property.
    * <p>
    * For example, to add a new item, do as follows:
    * <pre>
    * getFilingForm().add(newItem);
    * </pre>
    Of course this doesn't work for Spring injection where setters are needed.
    Does anyone know different or is there a way of getting around this ?
    I've tried constructor injection in Spring but it's not as convenient and involves extensive coding of generated code (not nice).
    Edited by: user3806112 on Mar 15, 2011 11:13 AM

    Oh I found it on this post
    http://cxf.547215.n5.nabble.com/NPE-in-generated-setter-method-when-collectionType-quot-indexed-quot-and-a-null-array-is-used-td3323012.html
    collectionType="indexed" in the globalBindings-tag
    it works in schema internal global bindings as well
    <jaxb:globalBindings collectionType="indexed" >

  • HashCode() of arrays

    Hi,
    I want to put some vectors into a set, so I wrote the following code:
    Set<double[]> set = new HashSet<double[]>();
    double[] x = new double[] { 1., 2., 3. },
             y = x.clone();
    set.add(x);
    set.add(y);
    System.out.println(set.size()); // prints "2"The problem is that the standard hashCode() implementation of java arrays does not take into account the array values. That's why the vectors x and y hash differently. My question: How can I change this behaviour? The only way I see would be to encapsulate the array into its own class and override the hashCode() method, e.g. using Arrays.hashCode(double[] x).
    I think that's pretty ugly :-( Is there a better way to do this?
    Thanks!
    gogo_

    Yes, indeed, the Arrays class might be helpful, as I pointed out in my original posting.
    I would like to know how to change the default hashCode() for arrays. The Arrays class just gives me one possible way to compute a different hash value, but this function will not be used when I put the array into a HashSet.
    For example, when sorting a collection, it is always possible to provide the sort method with a different comparator then the default one. That's what I am looking for here. The only solution I found is the code below. Really ugly. Especially when you have more than one array type, this code needs to be duplicated again and again. You cannot even use Generics because it's an array of primitive types!
    It can't be that hard!! I have added some extra duke stars.
    Thanks for your time
    gogo_
    import java.util.Arrays;
    import java.util.HashSet;
    import java.util.Set;
    public class Test {
        private static class DoubleArray {
            double[] x;
            DoubleArray(double[] x) {
                this.x = x;
            @Override
            public boolean equals(Object obj) {
                if (obj == null)
                    return false;
                if (getClass() != obj.getClass())
                    return false;
                final DoubleArray other = (DoubleArray) obj;
                return Arrays.equals(x, other.x);
            @Override
            public int hashCode() {
                return Arrays.hashCode(x);
        public static void main(String[] ignored) {
            DoubleArray x = new DoubleArray(new double[] { 1., 2., 3. }),
                        y = new DoubleArray(new double[] { 1., 2., 3. });
            Set<DoubleArray> set = new HashSet<DoubleArray>();
            set.add(x);
            set.add(y);
            System.out.println(set.size()); // prints "1"
    }

  • Converting array of Double Precision values to U16 for MODBUS

    Hello,
    I am trying to send over pressure and temperature information via the Input Register array in MODBUS TCP.  My question is, how to I properly send over an array of double precision values without loosing my data?
    For example, my array of data looks like:
    12.0001
    32.001
    0.00051234
    0.0014838
    1.02
    12.0232
    31.920
    Thanks so much.

    Thank you Ravens Fan for replying.
    I missed one extra point of data.  Below is what I'd like to send:
    12.0001
    32.001
    0.00051234
    0.0014838
    1.02
    12.0232
    31.920
    2046
    The array above is an array of double precision values.  I will convert that array to an array of single precision floating data to reduce data size.
    Since I have eight pieces of single precision floating point data now, I will need to write to 16 registers correct?  What is the best method to split up each piece of data into two consecutive registers?
    Attached is a Slave Send Data.VI that I want to send this data through.  The end goal is to have a Master PC (not using labview, but a MODBUS utility) to read my MODBUS TCP message from the "Slave Send Data.vi" 
    Thanks
    Attachments:
    Slave Send Data.vi ‏15 KB

  • For dynamically allocated double arrays, sizeof() does not work

    For a typical double array, if you need to get the size, you would use
    numElems=(sizeof(myArray)/sizeof(myArray[0]));
    However, for dynamically allocated double arrays (see here for example) this no longer works.
    For the example above, sizeof(myArray) returns 4, and sizeof(myArray[0]) returns 8.
    Solved!
    Go to Solution.

    That's because sizeof(myArray) is the size of the pointer to the dynamically allocated array.
    sizeof(myArray[0]) is the size of a double (8 bytes).
    If you know the size you malloc'd then just use this instead of the sizeof(myArray) function.
    Array size (for use in bounds checking for example) is a compile-time thing in C89 (though CVI will hack in run-time bounds checking for you in a debug compile).  So even if you cast a malloc'd buffer pointer to an array type, the compiler's out of the picture at run time when the buffer gets established to a (potentially) run-time determined size, so it can't help you.  More modern languages (e.g. Java, C#) all get around this problem.  C99 allows variable length arrays to be declared but I'm not sure NI implemented this in their C99 upgrades.

  • How to generate XML for following?

    Hello Everyone,
    I have following snippet of PLSQL code with for loops and record type arrays. Each loop can return separate number of rows and iterate that many times. For e.g. the for loop tab_rec may fetch 50 rows where as the for loop sql_rec may return 80 rows.
    I need to acoomodate all of these record arrays into a single xml file. Each for loop will repreesent one data set. Something like this.
    <dataset>
    <set value = tab_rec(kounter).tvalue >
    <set value = ?
    </dataset>
    Questions:
    1) How can I dynamically generate just one single XML file for all for loops metnioend below in this message?
    2) How can I dynamically generate tags for e.g. <set> tag above if I put XMLELEMENT() under a for loop kounter. To explain this in a better way consider pseudo code example below.
    for i in 1..kounter loop
    <dataset>
    <set value = tab_rec(i).tvalue >
    *<set value = *?*   -- How do i generate these <set> tags when tebrec(i).value will return many rows?*_
    </dataset>
    Thanks for reading this post. Again, the exmple for loops to generate one single XML file is given below.
    For loops in the issue are mentioned below
    FOR a IN tab_recc
    LOOP
    tab_rec (tab_kounter).tsegment := a.ebs_table;
    tab_rec (tab_kounter).tbytes := a.sizemb;
    tab_kounter := tab_kounter + 1;
    END LOOP;
    FOR b IN sql_recc
    LOOP
    sql_rec (sql_kounter).thash := b.hash_value;
    sql_rec (sql_kounter).texecution_read := b.reads_per_execution;
    sql_kounter := sql_kounter + 1;
    END LOOP;
    FOR c IN sess_recc
    LOOP
    sess_rec (session_kounter).tsid := c.SID;
    sess_rec (session_kounter).tvalue := c.VALUE;
    session_kounter := session_kounter + 1;
    END LOOP;
    FOR d IN user_recc
    LOOP
    user_rec (dbuser_kounter).tphysical_reads := d.physical_reads;
    user_rec (dbuser_kounter).tuser := d.username;
    dbuser_kounter := dbuser_kounter + 1;
    END LOOP;
    FOR e IN ebs_user
    LOOP
    ebs_rec (ebs_kounter).tuser := e.user_name;
    ebs_rec (ebs_kounter).ttime := e.rtime;
    ebs_kounter := ebs_kounter + 1;
    END LOOP;

    Sorry for delay in response.
    I have pasted the complete code that will show the relation ship between data and XML. What I am trying to do here is to prepare smal packets of XML through XML element and then roll it up to a final grand CLOB variable. and pass that through XML creation. I have used DBMS_JAVA package to append clobs.
    The issue now I am running into, it generates JUNK in xml. pure junk and nothing else Thanks R,
    FOR a IN tab_recc
    LOOP
    tab_rec (tab_kounter).tsegment := a.ebs_table;
    tab_rec (tab_kounter).tbytes := a.sizemb;
    tab_kounter := tab_kounter + 1;
    END LOOP;
    FOR b IN sql_recc
    LOOP
    sql_rec (sql_kounter).thash := b.hash_value;
    sql_rec (sql_kounter).texecution_read := b.reads_per_execution;
    sql_kounter := sql_kounter + 1;
    END LOOP;
    FOR c IN sess_recc
    LOOP
    sess_rec (session_kounter).tsid := c.SID;
    sess_rec (session_kounter).tvalue := c.VALUE;
    session_kounter := session_kounter + 1;
    END LOOP;
    FOR d IN user_recc
    LOOP
    user_rec (dbuser_kounter).tphysical_reads := d.physical_reads;
    user_rec (dbuser_kounter).tuser := d.username;
    dbuser_kounter := dbuser_kounter + 1;
    END LOOP;
    FOR e IN ebs_user
    LOOP
    ebs_rec (ebs_kounter).tuser := e.user_name;
    ebs_rec (ebs_kounter).ttime := e.rtime;
    ebs_kounter := ebs_kounter + 1;
    END LOOP;
    FOR aa IN 1 .. tab_kounter
    LOOP
    if aa = 1 then
    SELECT XMLELEMENT
    ("dataset",
    xmlattributes (v_top50id1 AS "Id"),
    XMLELEMENT ("set",
    xmlattributes (aa AS "Id",
    tab_rec (aa).tsegment AS "value"
    ).getclobval ()
    INTO tablob --clob type
    FROM DUAL;
    end if;
    END LOOP;
    FOR bb IN 1 .. sql_kounter
    LOOP
    if bb = 1 then
    SELECT XMLELEMENT
    ("dataset",
    xmlattributes (v_top50id2 AS "Id"),
    XMLELEMENT ("set",
    xmlattributes (bb AS "Id",
    sql_rec (bb).thash AS "value"
    ).getclobval ()
    INTO sqlob --clob type
    FROM DUAL;
    end if;
    END LOOP;
    FOR cc IN 1 .. session_kounter
    LOOP
    if cc= 1 then
    SELECT XMLELEMENT
    ("dataset",
    xmlattributes (v_top50id3 AS "Id"),
    XMLELEMENT ("set",
    xmlattributes (cc AS "Id",
    sess_rec (cc).tsid AS "value"
    ).getclobval ()
    INTO sesslob --clob type
    FROM DUAL;
    end if;
    END LOOP;
    FOR dd IN 1 .. dbuser_kounter
    LOOP
    if dd = 1 then
    SELECT XMLELEMENT
    ("dataset",
    xmlattributes (v_top50id4 AS "Id"),
    XMLELEMENT ("set",
    xmlattributes (dd AS "Id",
    user_rec (dd).tuser AS "value"
    ).getclobval ()
    INTO dbulob --clob type
    FROM DUAL;
    end if;
    END LOOP;
    FOR ee IN 1 .. ebs_kounter
    LOOP
    if ee = 1 then
    SELECT XMLELEMENT
    ("dataset",
    xmlattributes (v_top50id5 AS "Id"),
    XMLELEMENT ("set",
    xmlattributes (ee AS "Id",
    ebs_rec (ee).tuser AS "value"
    ).getclobval ()
    INTO ebslob --clob type
    FROM DUAL;
    end if;
    END LOOP;
    SELECT XMLELEMENT
    ("Chart",
    xmlattributes (v_caption AS "caption",
    v_subcaption AS "shownames",
    v_xaxisname AS "showvalues",
    v_yaxisname AS "decimals"
    XMLELEMENT ("categories",
    XMLELEMENT ("category",
    xmlattributes (v_label1 AS "label")
    XMLELEMENT ("category",
    xmlattributes (v_label2 AS "label")
    XMLELEMENT ("category",
    xmlattributes (v_label3 AS "label")
    XMLELEMENT ("category",
    xmlattributes (v_label4 AS "label")
    XMLELEMENT ("category",
    xmlattributes (v_label5 AS "label")
    XMLELEMENT ("category",
    xmlattributes (v_label6 AS "label")
    tablob, --clob type
    sqlob, --clob type
    sesslob, --clob type
    dbulob, --clob type
    ebslob --clob type
    ).getclobval ()
    INTO v_top50 --clob type
    FROM DUAL;
    DBMS_LOB.append (v_xmlmessage, v_top50); --both are clob type
    v_filename := 'Top50.xml';
    writexml (p_dir_path => v_dir_path,
    p_filename => v_filename,
    p_xml => v_xmlmessage
    );

  • Reading arrays of double from S7 with OPC & Datasocket

    Hi friends:
    We are developing an application with a S7-315-2DP PLC and a PC with a PCI1500PFB. We use the OPC server from Applicom. We read the data very quickly with the datasocket (arrays of boolean, arrays of doubles ...and so on, and a very big amount of data over 100 ms) but when we try to write arrays datasocket faield and we have to write item on item and the speed decrease. For intance, if we try to write doubles ( 50 items) the refresh period is over 5 seconds ( some times more since we launch the data and we read the same data on the PC). Perhaps we failed configuring the OPC but there isn´t many things to configure, perhaps the problem is the board configuration .. I don´t know.
    We
    try to find some examples that write an array of doubles on one time but..
    Thank you for yours answers.
    Javi

    Hi Javi,
    I'm not aware of any known issues writing to the Applicom OPC server. In LabVIEW there isn't anything special you need to configure to be able to write arrays of doubles through DataSocket. You can test this by using the DataSocket Server Manager, make a new member that is an array of doubles, and try reading and writing to that member. You may also want to check to make sure the data member the OPC server is expecting is an arry of doubles and not an array of singles or integers.

  • User event for array of waveforms with attribute

    I have been transferring data in a Producer/Consumer architecture via User Events.  The data consisted of an array of waveforms. When I added an attribute to the waveforms the code breaks with two errors about Create User Event: User event data type is unnamed or has elements with no names or duplicate names, and Contains unwired or bad terminal.
    From reading the help on user events it is not clear that arrays are even allowed: "user event data type is a cluster of elements or an individual element whose data type and label define the data type and name of the user event."
    From experimentation it seems that arrays of numerics and arrays of wavefroms without attributes work. A single waveform with an attribute can also be used. But an array of the same waveform with attribute leads to a broken run arrow. It also appears that I can put the array of waveforms with attributes inside a cluster and then create the user event.
    Is this a bug, an undocumented corner case, or some "feature" that I do not understand?
    Searching for User Event for Array of Waveforms generates some interesting, but mostly irrelevant results.
    Lynn

    tst wrote:
    Another option would be typecasting, but it looks like you can't typecast a waveform. Variant to Data or Coerce to Type might also work, but I haven't tried.
    I have also done the Flatten To String and Unflatten From String to send data around.  It would be preferable to not need to do that though.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Transfering elements to new array and doubling values.

    Hi my problem is that I need to ask a user to enter 5 integers that stores them in an array. Transfer them to a new array by doubling the values when trasferred.
    Please help I have 3 errors.
    class arrays
         public static void main (String[] args)
              int numbers[] = new int [5];
              byte array1Size = 0;
              int input = 0;
              char goon = 'y';
                   //create and initialise an array of 5 integers
                   int array1[] = new int [5];
                   // loop and fill each element
                   for (int x = 0; x < array1.length; x++)
                        System.out.println("Enter a number: ");
                        array1[x] = EasyIn.getInt();
                        // Filling array
                        if (array1Size >= array1.length)
                             //Make a new array doubling the values od the integers
                             int array2 [] = new int [2 * array1.length]; // 10 integers
                             //Copying integers
                             System.arrayCopy (array1, 0, array2, 0, array1.length);
                             //Make old reference point to new array
                             array1 = array2;
                        else
                             //normal
                             do
                                  System.out.print("Enter an integer: ");
                                  input = EasyIn.getInt();
                                  anotherArray[anotherArraySize] = input;
                                  anotherArraySize++;
                                  System.out.print ("Another number? Enter Y or N: ");
                                  goon = EasyIn.getChar();
                             }     while(goon = = 'y' | goon = = 'Y');
    the errros >>>
    G:\Java\Practical 7\Practical74.java:33: '.class' expected
                             int array2 [] = new int [2 * array1.length]; // 10 integers
    ^
    G:\Java\Practical 7\Practical74.java:33: not a statement
                             int array2 [] = new int [2 * array1.length]; // 10 integers
    ^
    G:\Java\Practical 7\Practical74.java:41: 'else' without 'if'
                        else
    ^
    3 errors
    Tool completed with exit code 1
    Thanks

    Hi,
    it seems you forgot the curly braces in the if-else statement:
    if (array1Size >= array1.length){
    //Make a new array doubling the values od the integers
    int array2 [] = new int [2 * array1.length]; // 10 integers
    //Copying integers
    System.arrayCopy (array1, 0, array2, 0, array1.length);
    //Make old reference point to new array
    array1 = array2;
    else{
    //normal
    do
    System.out.print("Enter an integer: ");
    input = EasyIn.getInt();
    anotherArray[anotherArraySize] = input;
    anotherArraySize++;
    System.out.print ("Another number? Enter Y or N: ");
    goon = EasyIn.getChar();
    } while(goon = = 'y' | goon = = 'Y');
    }

  • I need to display an array of doubles on a table and I am loosing my percision

    Hello,
    I need to display an array of doubles on a table but I am losing my decimal precision. I am converting the array to a string in order to display it on the table with a number to decimal function. This is where I lose my precision since that control converts the double into an integer and then into the string. What control do I need to use instead of that in order to preserve my decimal precision all the way to the table? I have attached my VI. Thanks in advance!
    Gregory Osenbach, CLA
    Fluke
    Attachments:
    canalyzer_prototype_1.vi ‏52 KB

    Thank you both for the quick response. Its just the info I needed!
    Gregory Osenbach, CLA
    Fluke

  • Index data types for Arrays

    Is Java still limited to no long integers for index values?
    If you know, what is the reason for that limit? Thanks in advance.

    Only asked if index values were still limited to int.
    In other words, is long now allowed or not?No, long is not allowed. Only unsigned int is allowed. This means your arrays are limited to 2 billion elements. So if you have the 64-bit version of Java and more than 64 GB of memory, this might be of concern. If not int, should be fine.
    I realize that indexes have to be positive. That was
    not the question. There doesn't seem to be any good
    reason for limiting index values to a little over 2
    trillion however absurdly large that might seem to2 billion. 2^31, because this is the size of an int, The limit could have been mad eto be long but this would have wasted memory for every array, to allow a limit which is still not possible except with the largest computers. Even, then there is no current practice use for such a large array.
    most. And I realize that most of the time it will not be an issue.Not even of use.
    To answer my own question, I wrote a simple program
    defining an index value as long in a "for"
    statement's initialization and when I tried to
    compile it I got the error message, "found : long /
    required: int" (using JCreator with most recent
    version of JDK. Perhaps long was not the best choise. Try int for a loop counter.
    In addition to int, I found that "byte" and "short"
    work. I was amused to find that "char" also works.These can all be converted to int without loosing precision.
    Of course, "boolean", "float" and "double" do not work. And "long" does not work.These cannot be converted to int as simply.
    So, clearly the limit against using long still exists, but why?You have to pick a limit. Why make long a limit when BigInteger could be used for arrays larger than 2^63 elements.
    So my question is simply: Why does this limit still exist? Is there some "problem" that is being avoided? If so, what?Because there is no practical use for an array larger than 2 biilion elements.
    Unless you have the 64-bit version of the JDK, you could would hit an address limit in any case.

  • How to search for array in another array ?

    i want to search for array in another and when i got this array i want to take the next 5 bits  EX: array1 [ 4 8 7] , array2 [ 9 1 4 8 7 6 3 2 ] , output array [ 6 3 2 9 1]
    Thanks  

    I know we should be encouraging others to help them selves, but I had a solution that I think is what the user wants.  Attached is a VI that searches for a subarray in an array, and will return the index it is found at.  It will also return the input array, filtered if a match is found.  This VI just handles the double data type.
    Most of the code comes from an old post by Altenbach that I can't seem to find at the moment, but I saved a copy a while ago.  Props to him for posting it.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.
    Attachments:
    Filter Subarray - DBL.vi ‏18 KB

  • How to write a 2-D Array of Doubles to a binary file in LabView 8.5?

    Okay, this is driving me nuts. I got a program that worked fine in LabView 8.0 but refused to write any data after my institute upgraded to LabView 8.5. The data is stored in a 2-D array of doubles and is supposed to be written to a binary file, that has been correctly opened and got a header written to it containing some meta-data of the measurement. But when the doubles from the array should be written to the file, nothing happens. All I get is an (except for the header) empty file of 786 kB. I found out that writing works if I convert the data from the array to singles right before wiring them to the "write to binary file" VI, but for several reasons I need the data as doubles. Can anyone help me? I've tried everything anyone has written here about writing to binary files and more.
    Remember, it worked perfectly fine with an older version of LabView. Any ideas?

    It is possible that you run into a known memory optimization bug.
    Try to place an "always copy" primitive as discussed here.
    Message Edited by altenbach on 11-18-2008 09:11 AM
    LabVIEW Champion . Do more with less code and in less time .

  • Best storage method for 288,000 doubles.

    I need to store an "array" of doubles that will always be 8 columns by 36,000 rows. I need to calculate the numbers and use them for plotting a curve in a JPanel via .paintComponent(). By best, I guess I really mean fast. Memory requirement is secondary...for now.
    Thanks

    Since you know exactly how many elements there are and they are all the same datatype, the Vector or ArrayList would not be the wisest choice. A multidimensional array does not have the overhead that is required by any of the Collection classes so it is clearly the best choice. A List (Vector, ArrayList, etc.) is best used when the list is dynamic in nature (size is not known until runtime or varies during runtime). A File is the worst choice as IO causes too many Interrupts and is the slowest in performance. Best to keep it in memory. :)
    tajenkins

Maybe you are looking for

  • Is there a way of downloading and using a movie that is in an .exe format?

    Can I download and use an .exe file on my macbook pro?

  • How to implement reading data from a mat file on a cRIO?

    Hi all! I am not even sure, this is plausible, but I'd rather ask before i start complicating. So far, I have not found any helpful info about reading in data to a RT device from a file (kind of a simulation test - the data is simulated).  I have the

  • Analysing sine wave

    Dear members. First I want to say I've learned alot on this forum. There are a lot of members with good knowledge about Labview. I like this forum very much and want to thank you for your help you are giving members. Please keep up the good work! My

  • Translations - Adobe Forms in SAP

    Dear All. Hope my message finds you well. So this is a Q that I have for all you experts. Has anyone coordinated the Transaltions effort with Forms in SAP. I am basically seeking help with the format that will be best suited to have forms transated i

  • MSI RS480M2-IL audio problem

    Hi, i just set up my new pc with the MSI RS480M2-IL mobo and i am having some serious problems with the sound. i installed the ac97 codec from the msi driver page and here is what happens, the sound works only when i switch it to 4 channel mode or hi