Ejemplo n.º 1
0
 /**
 * разбираем комбинацию
 * Документ 36
 //      4     int     кол-во коэффициентов
 //      8     double  коэффициенты
 //      Сначала идут коэффициенты для загружений,
 //      потом для комбинаций
 *
 * @param String $s
 * @return Array
 */
 function get_from_spr($s)
 {
     $pos = 0;
     //кол-во коэффициентов в комбинации
     $koef_count = bytes2un_int(substr($s, $pos, 4));
     $pos += 4;
     $this->factors = array();
     for ($i = 1; $i <= $koef_count; $i++) {
         $this->factors[$i] = bytes2double(substr($s, $pos, 8), 1, 0);
         $pos += 8;
     }
 }
Ejemplo n.º 2
0
 $rsu->view = $view;
 ###### F22 #######
 //читаем 4 байта - количество загружений в данной формуле
 $L_count = bytes2un_int(fread($fk, 4));
 //8 байт - значение критерия
 $rsu->criterion_value = sprintf("%01.2f", bytes2double(fread($fk, 8), 1, 0));
 //        echo "RSU->criterion_value = ". $rsu->criterion_value ."<br/>";
 //для каждого загружения в формуле читаем номер и значение множителя
 //записываем в массив
 $L_name_mas = array();
 for ($k = 1; $k <= $L_count; $k++) {
     $L_name_mas[] = bytes2un_int(fread($fk, 4));
 }
 $L_koef_mas = array();
 for ($k = 1; $k <= $L_count; $k++) {
     $L_koef_mas[] = bytes2double(fread($fk, 8), 1, 0);
 }
 //        echo "L_name_mas = ";print_r($L_name_mas);echo '<br/>';
 //        echo "L_koef_mas = ";print_r($L_koef_mas);echo '<br/>';
 for ($k = 0; $k < $L_count; $k++) {
     if ($L_koef_mas[$k] >= 0 && $k > 0) {
         $rsu->formula .= '+';
     }
     if (abs($L_koef_mas[$k] - 1) > 0.001) {
         $rsu->formula .= $L_koef_mas[$k] . '*';
     }
     $rsu->formula .= 'L' . $L_name_mas[$k];
 }
 //заменяем в L1-1*L2 (-1*) на (-)
 $rsu->formula = str_replace('-1*', '-', $rsu->formula);
 //        echo "RSU->Formula = ". $rsu->formula ."<br/>";