bmstu-rk6 / libgod

Global Optimization Data Library
BSD 3-Clause "New" or "Revised" License
6 stars 2 forks source link

wrong output when use setparameters and setcriteria functions #5

Closed krouk closed 12 years ago

krouk commented 12 years ago

Если я пишу вот такой код

    //input.union2: Union with 2 sets each has 2 points
    libgod::Union un2(5,3);

    double parameters[] = {1.2, -0.9, 6.7, 1.209, 4.731};
    double criteria[] = {0.99, 0.76, 0.12};

    for (int i=0; i<un2.size(); i++) {
        libgod::Set& s = un2.add();
        for (int j=0; j<2; j++) {
            libgod::Point& p = s.add();
            p.setParameters(parameters);
            p.setCriteria(criteria);
        }
    }

    libgod::Storage st2("input.union2");
    st2.write(un2);
    st2.dump(std::cout, un2);

то dump() выводит:

1
5 3 0

Да и input.union2 получается подозрительно маленький -rw-r--r-- 1 artyom artyom 22 Июл 8 01:38 input.union2

theirix commented 12 years ago

Ну да, я ридер ещё не писал :)

theirix commented 12 years ago

Десерилизация Union добавлена в a7687adb648e47b7ce54ea7f9da43cf78b486a4b

krouk commented 12 years ago

тут ридер не причем. тут проблема в том, что если я использую функции setParameters(parameters) и setCriteria(criteria), то он на самом деле ничего не сохраняет в union. В распечатке видно, что он выводит только метрику, а между тегами union пусто, то есть ни одного Set добавлено не было.

krouk commented 12 years ago

понял баг у себя в тесте.