예제 #1
0
파일: 6mAndDown.cs 프로젝트: JI1LDG/LogSoft
            private void CheckRcn()
            {
                if (!Callsign.IsJACallsign(log.Callsign))
                {
                    log.Point = 0;
                    ErrorReason.Set(listErr, Reason.OmakuniNonJA.ToString());
                    return;
                }
                if (Contestno.HasPower(log.ReceivedCn) == false)
                {
                    ErrorReason.Set(listErr, Reason.InvalidReceivedCn.ToString());
                }

                var hasStroke     = Callsign.HasStroke(log.Callsign);
                var areano        = Contestno.GetAreano(log);
                var stationAreano = Areano.GetNoFromStation(station, SubSelecter ? listMainArea : listSubArea);
                var suggests      = Areano.GetSuggestFromStation(station, SubSelecter ? listMainArea : listSubArea);

                if (!Freq.IsBeen(log.Freq))
                {
                    ErrorReason.Set(listErr, Reason.InvalidFreq.ToString());
                }
                if (Contestno.GetRegion(Contestno.GetPrefno(log, SubSelecter ? false : true)) != Callsign.GetRegion(log.Callsign, hasStroke))
                {
                    ErrorReason.Set(listErr, Reason.RegionUnmatches.ToString());
                }
                if (!Station.IsMatched(areano, stationAreano) && station != null && !hasStroke)
                {
                    ErrorReason.Set(listErr, Reason.AddressUnmatches.ToString(), Utils.ConvTostrarrFromList(suggests));
                }
                if (!Areano.IsBeen(SubSelecter ? listMainArea : listSubArea, areano))
                {
                    ErrorReason.Set(listErr, Reason.ReceivedCnUnexists.ToString(), Utils.ConvTostrarrFromList(Areano.GetFromList(Station.GetList(station), listMainArea)));
                }
            }
예제 #2
0
        public bool UpdateFreq(Freq freq)
        {
            //TODO : create save freq SQL query
            //String updateQuery = "UPDATE TableFreqs SET Frequency = '2222',Name = 'Malakia Updated' WHERE Id = 1";
            //String updateQuery = "UPDATE TableFreqs(Name) VALUES (@pName) WHERE Id = @pId ;";
            //String updateQuery = "UPDATE TableFreqs SET Name = @pName WHERE Id = @pId";
            //String updateQuery = "UPDATE TableFreqs SET Frequency = @pFrequency,Name = @pName WHERE Id = @pId";

            String updateQuery = "UPDATE TableFreqs SET " +
                                 TABLEFREQS_CLM_FREQUENCY + " = " + TABLEFREQS_PARAM_FREQUENCY + "," +
                                 TABLEFREQS_CLM_NAME + " = " + TABLEFREQS_PARAM_NAME + "," +
                                 TABLEFREQS_CLM_PARENTID + " = " + TABLEFREQS_PARAM_PARENTID + "," +
                                 TABLEFREQS_CLM_MODULATION + " = " + TABLEFREQS_PARAM_MODULATION + "," +
                                 TABLEFREQS_CLM_MODULATIONTYPE + " = " + TABLEFREQS_PARAM_MODULATIONTYPE + "," +
                                 TABLEFREQS_CLM_PROTOCOL + " = " + TABLEFREQS_PARAM_PROTOCOL + "," +
                                 TABLEFREQS_CLM_BANDWIDTH + " = " + TABLEFREQS_PARAM_BANDWIDTH + "," +
                                 TABLEFREQS_CLM_COUNTRY + " = " + TABLEFREQS_PARAM_COUNTRY + "," +
                                 TABLEFREQS_CLM_SERVICE + " = " + TABLEFREQS_PARAM_SERVICE + "," +
                                 TABLEFREQS_CLM_DESCRIPTION + " = " + TABLEFREQS_PARAM_DESCRIPTION + "," +
                                 TABLEFREQS_CLM_URLS + " = " + TABLEFREQS_PARAM_URLS + "," +
                                 TABLEFREQS_CLM_QSL + " = " + TABLEFREQS_PARAM_QSL + "," +
                                 TABLEFREQS_CLM_COORDINATES + " = " + TABLEFREQS_PARAM_COORDINATES +
                                 " WHERE " +
                                 TABLEFREQS_CLM_ID + " = " + TABLEFREQS_PARAM_ID;


            SqlCommand cmd = new SqlCommand(updateQuery, _SqlConnection);

            cmd.Parameters.Add(TABLEFREQS_PARAM_ID, SqlDbType.Int).Value          = freq.Id;
            cmd.Parameters.Add(TABLEFREQS_PARAM_FREQUENCY, SqlDbType.Float).Value = freq.Frequency;
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_NAME, freq.Name);
            cmd.Parameters.Add(TABLEFREQS_PARAM_PARENTID, SqlDbType.Int).Value = freq.ParentId;
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_MODULATION, freq.Modulation);
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_MODULATIONTYPE, freq.ModulationType);
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_PROTOCOL, freq.Protocol);
            cmd.Parameters.Add(TABLEFREQS_PARAM_BANDWIDTH, SqlDbType.Float).Value = freq.Bandwidth;
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_COUNTRY, freq.Country);
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_SERVICE, freq.Service);
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_DESCRIPTION, freq.Description);
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_URLS, freq.URLs);
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_QSL, freq.QSL);
            cmd.Parameters.AddWithValue(TABLEFREQS_PARAM_COORDINATES, freq.Coordinates);

            Debug.WriteLine("CommandText = " + cmd.CommandText);

            int rows = 0;

            try
            {
                rows = cmd.ExecuteNonQuery();
            }
            catch (Exception expt)
            {
                Debug.WriteLine("Rows affected = " + rows.ToString() + " Expt: " + expt.Message);
                return(false);
            }

            Debug.WriteLine("Rows affected = " + rows.ToString());
            return(true);
        }
예제 #3
0
        public bool DeleteFreq(Freq freq)
        {
            if (freq == null)
            {
                return(false);
            }

            if (_Connected == false)
            {
                return(false);
            }

            String     deleteQuery = "DELETE FROM TableFreqs WHERE ID=@pId";
            SqlCommand cmd         = new SqlCommand(deleteQuery, _SqlConnection);

            cmd.Parameters.Add(TABLEFREQS_PARAM_ID, SqlDbType.Int).Value = freq.Id;

            int rows = 0;

            try
            {
                rows = cmd.ExecuteNonQuery();
            }
            catch (Exception expt)
            {
                Debug.WriteLine("Error in DeleteFreq(): " + expt.Message);
                return(false);
            }

            Debug.WriteLine("Success: " + rows.ToString() + " rows affected");
            return(true);
        }
        public override ObservableCollection <Freq> GetFreqs()
        {
#if !ORACLE
            return(null);
#endif
            ObservableCollection <Freq> freqs = new ObservableCollection <Freq>();
            try
            {
                const string sql = "select * from  sphrsbilling.Freq";
                DataTable    dt  = OracleHelper.ExecuteQuery(base.ConnectionString.Value, sql, null);

                foreach (DataRow row in dt.Rows)
                {
                    Freq item = new Freq
                    {
                        FREQ                 = row["FREQ"].ToString(),
                        DESCR                = row["DESCR"].ToString(),
                        RECURRANCE_RULE      = row["RECURRANCE_RULE"].ToString(),
                        VALID_FOR_ADD_ON_CHG = (row["VALID_FOR_ADD_ON_CHG"].ToString() == "Y") ? true : false
                    };
                    freqs.Add(item);
                }
            }
            catch (OracleException ex)
            {
                throw ex;
            }
            catch (Exception sysEx)
            {
                throw sysEx;
            }
            return(freqs);
        }
예제 #5
0
 public Frequency(Freq Freq, DateTime startDate, int x)    //This constructor sets the Freq variable of the class, and the startDate  CHECK OUT CHANGES!!!
 {
     this.freq       = Freq;
     this.startDate  = startDate;
     this.x          = x;
     this.daysOfWeek = startDate.DayOfWeek;
 }
예제 #6
0
        static void Main(string[] args)
        {
            string content = "It's good to be king";

            //Query Syntax
            var CharFreqWithQuery = from c in content
                                    group c by c into Freq
                                    select Freq.Count();

            foreach (var character in CharFreqWithQuery)
            {
                Console.WriteLine(character);
            }

            Console.WriteLine();

            //Method Syntax
            var CharFreqWithMethod = content.GroupBy(c => c);

            foreach (var character in CharFreqWithMethod)
            {
                Console.WriteLine(character.Count());
            }
            Console.Read();
        }
예제 #7
0
        public IList<LogDataModel.LogDataChart> Chart(string site, DateTime startDateTime, DateTime endDateTime, Freq freq)
        {
            IList<LogDataModel.LogDataChart> list = new List<LogDataModel.LogDataChart>();
            using (SqlConnection conn = new SqlConnection { ConnectionString = _connString })
            {

                var sql = freq == Freq.Minute
                    ? @"select convert(varchar(16),logdate,20) as logdate,count(*) as cnt from errorlog(nolock) where [site]='@site' and logdate>'@startDateTime' and logdate<'@endDateTime' group by convert(varchar(16),logdate,20) order by convert(varchar(16),logdate,20)"
                    : @"select convert(varchar(13),logdate,20) as logdate,count(*) as cnt from errorlog(nolock) where [site]='@site' and logdate>'@startDateTime' and logdate<'@endDateTime' group by convert(varchar(13),logdate,20) order by convert(varchar(13),logdate,20)";
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.AddWithValue("site", site);
                cmd.Parameters.AddWithValue("startDateTime", startDateTime);
                cmd.Parameters.AddWithValue("endDateTime", endDateTime);

                conn.Open();
                SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.Default);
                while (reader.Read())
                {
                    list.Add(new LogDataModel.LogDataChart
                    {
                        GroupedDateTime = reader[0].ToString(),
                        ErrorCnt = (int)reader[1]
                    });
                }
                conn.Close();
                return list;
            }
        }
예제 #8
0
        private void CalculateData()
        {
            Grid.Children.Remove(apoly);
            Function.Clear();
            double step   = 1 / Fs;
            double width  = Grid.ColumnDefinitions[0].ActualWidth;
            double height = Grid.RowDefinitions[0].ActualHeight;
            double SX     = 8 * width * (1 / Fs);
            double SY     = (height * A / 4);

            Ti = (4 * width) / SX;
            // PointCollection Function = new PointCollection();
            for (double i = 0; i < Ti; i = i + step)
            {
                Point cord = new Point();
                cord.X = i * SX;
                cord.Y = 225 - (SY * Math.Sin((2 * Constants.PI * Freq * i) / 180));
                Function.Add(cord);
            }
            //Polyline apoly = new Polyline();
            apoly.Stroke          = System.Windows.Media.Brushes.Green;
            apoly.StrokeThickness = 2;
            apoly.Points          = Function;
            Grid.Children.Add(apoly);
            Grid.SetColumnSpan(apoly, 4);
            Grid.SetRowSpan(apoly, 2);
            TextFreq.Text = Freq.ToString();
            TextAmp.Text  = A.ToString();
            TextFs.Text   = Fs.ToString();
        }
예제 #9
0
        private bool IsValidBand()
        {
            if ((string.IsNullOrWhiteSpace(Band) || string.IsNullOrWhiteSpace(Band.ToLower().Replace("m", "")) || string.IsNullOrWhiteSpace(Band.ToLower().Replace("cm", ""))) && !string.IsNullOrWhiteSpace(Freq))
            {
                Band = HolyLogParser.convertFreqToBand(Freq.Trim());
            }
            if (!string.IsNullOrWhiteSpace(Band) && string.IsNullOrWhiteSpace(Freq))
            {
                Freq = HolyLogParser.convertBandToFreq(Band);
            }
            bool isValid = false;

            if (IsAllowWARC)
            {
                isValid = !string.IsNullOrWhiteSpace(Band) && (Band.Contains("13CM") || Band.Contains("70CM") || Band.Contains("2M") || Band.Contains("6M") || Band.Contains("10M") || Band.Contains("12M") || Band.Contains("15M") || Band.Contains("17M") || Band.Contains("20M") || Band.Contains("30M") || Band.Contains("40M") || Band.Contains("80M") || Band.Contains("160M"));
            }
            else
            {
                isValid = !string.IsNullOrWhiteSpace(Band) && (Band.Contains("13CM") || Band.Contains("70CM") || Band.Contains("2M") || Band.Contains("10M") || Band.Contains("15M") || Band.Contains("20M") || Band.Contains("40M") || Band.Contains("80M") || Band.Contains("160M"));
            }
            if (!isValid)
            {
                this.ERROR += "Band is not valid: " + Band + " - ";
            }
            return(isValid);
        }
예제 #10
0
            private void CheckLog()
            {
                Anv.Check(log.Callsign, anvStr, listErr, station);
                if (station == null)
                {
                    ErrorReason.Set(listErr, Reason.GetDataFailed.ToString());
                }
                log.Point = 1;
                if (log.ReceivedCn[log.ReceivedCn.Length - 1] == 'N')
                {
                    log.Point = 2;
                }
                switch (config.CategoryCode[3])
                {
                case 'H':
                    if (Freq.CnvTofrqnum("28MHz") < Freq.CnvTofrqnum(log.Freq))
                    {
                        log.Point = 0;
                        ErrorReason.Set(listErr, Reason.OutOfFreq.ToString());
                    }
                    break;

                case 'V':
                    if (Freq.CnvTofrqnum("28MHz") >= Freq.CnvTofrqnum(log.Freq))
                    {
                        log.Point = 0;
                        ErrorReason.Set(listErr, Reason.OutOfFreq.ToString());
                    }
                    break;

                default: break;
                }
            }
예제 #11
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="vo">The offset of the sine wave</param>
 /// <param name="va">The amplitude of the sine wave</param>
 /// <param name="freq">The frequency in Hz</param>
 /// <param name="td">The delay in seconds</param>
 /// <param name="theta">The damping factor</param>
 public Sine(double vo, double va, double freq, double td = 0.0, double theta = 0.0) : base("SINE")
 {
     VO.Set(vo);
     VA.Set(va);
     Freq.Set(freq);
     Delay.Set(td);
     Theta.Set(theta);
 }
예제 #12
0
        static Triple ArithmeticCoding(string str, long radix)
        {
            // The frequency of characters
            Freq freq = new Freq();

            foreach (char c in str)
            {
                if (freq.ContainsKey(c))
                {
                    freq[c] += 1;
                }
                else
                {
                    freq[c] = 1;
                }
            }

            // The cumulative frequency
            Freq cf = CumulativeFreq(freq);

            // Base
            BigInteger @base = str.Length;

            // Lower bound
            BigInteger lower = 0;

            // Product of all frequencies
            BigInteger pf = 1;

            // Each term is multiplied by the product of the
            // frequencies of all previously occuring symbols
            foreach (char c in str)
            {
                BigInteger x = cf[c];
                lower = lower * @base + x * pf;
                pf    = pf * freq[c];
            }

            // Upper bound
            BigInteger upper = lower + pf;

            int        powr     = 0;
            BigInteger bigRadix = radix;

            while (true)
            {
                pf = pf / bigRadix;
                if (pf == 0)
                {
                    break;
                }
                powr++;
            }

            BigInteger diff = (upper - 1) / (BigInteger.Pow(bigRadix, powr));

            return(new Triple(diff, powr, freq));
        }
예제 #13
0
        public int CompareTo(HuffmanNode other)
        {
            if (Freq.CompareTo(other.Freq) != 0)
            {
                return(Freq.CompareTo(other.Freq));
            }

            return(other.C.Length.CompareTo(C.Length));
        }
예제 #14
0
 public FetchFreq(ITaskHelper taskHelper, IElexonDownloader downloader, IDirectory dir, ITime time)
 {
     _taskHelper = taskHelper;
     _time       = time;
     _scheduler  = new Scheduler(time, taskHelper);
     _freq       = new Freq(taskHelper, downloader);
     _reader     = new Freq.Reader(taskHelper, dir);
     _writer     = new Freq.Writer(taskHelper, dir);
 }
예제 #15
0
        static Triple ArithmeticCoding(string str, long radix)
        {
            Freq freq = new Freq();

            foreach (char c in str)
            {
                if (freq.ContainsKey(c))
                {
                    freq[c] += 1;
                }
                else
                {
                    freq[c] = 1;
                }
            }


            Freq cf = CumulativeFreq(freq);


            BigInteger @base = str.Length;


            BigInteger lower = 0;


            BigInteger pf = 1;


            foreach (char c in str)
            {
                BigInteger x = cf[c];
                lower = lower * @base + x * pf;
                pf    = pf * freq[c];
            }


            BigInteger upper = lower + pf;

            int        powr     = 0;
            BigInteger bigRadix = radix;

            while (true)
            {
                pf = pf / bigRadix;
                if (pf == 0)
                {
                    break;
                }
                powr++;
            }

            BigInteger diff = (upper - 1) / (BigInteger.Pow(bigRadix, powr));

            return(new Triple(diff, powr, freq));
        }
예제 #16
0
 public ContestNo(string extra)
 {
     InitializeComponent();
     scn = new ObservableCollection <ScnData>(GetScnList(extra));
     this.dgRcn.ItemsSource = new ObservableCollection <ScnData>(scn.ToList());
     foreach (FreqStr fs in Enum.GetValues(typeof(FreqStr)))
     {
         cbFreq.Items.Add(Freq.CnvTostr(fs));
     }
 }
예제 #17
0
        public override string ToLongString()
        {
            string ret = "";

            foreach (DataItem item in dataItems)
            {
                ret += item.ToString();
            }
            return($"Type: V2DataCollection Info: { Info } Freq: { Freq.ToString() } Count: { dataItems.Count.ToString() } \n{ ret }");
        }
 public string Remove(string s)
 {
     if (emptySrc)
     {
         return(s);
     }
     else
     {
         return(s.Replace(Freq.ToString(), "").Replace(Rare.ToString(), ""));
     }
 }
예제 #19
0
 /// <summary>
 /// 周波数文字列が存在するか
 /// </summary>
 /// <param name="freq">確認先周波数文字列</param>
 /// <returns>あるならtrue, ないならfalse</returns>
 public static bool IsBeen(string freq)
 {
     if (Freq.CnvTofrqnum(freq) == -1)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
예제 #20
0
        public static double SpeedAccuracyByNMEA(string recv, string sim, Freq signal, string path, int idx)
        {
            speed_accuracy_input_para_s[] param = new speed_accuracy_input_para_s[1];
            param[0].recv_nmea_file = recv;
            param[0].sim_nmea_file  = sim;
            param[0].signal_type    = signal.Value;
            speed_accuracy_output_para_s res = hcl_speed_accuracy(param);

            RecordToFile(res.ndata, res.time, res.data, path + "\\" + signal.Name + "." + idx);
            return(res.accuracy);
        }
예제 #21
0
        public override string ToLongString()
        {
            string ret = "";

            foreach (DataItem item in dataItems)
            {
                ret += (item.ToString() + "\n");
            }

            return("Type: V2DataCollection Base: info " + Info + " freq " + Freq.ToString()
                   + " Count: " + dataItems.Count.ToString() + "\n" + ret);
        }
예제 #22
0
            private void CheckRcn()
            {
                if (!Callsign.IsJACallsign(log.Callsign))
                {
                    log.Point = 0;
                    ErrorReason.Set(listErr, Reason.OmakuniNonJA.ToString());
                    return;
                }

                var  hasStroke     = Callsign.HasStroke(log.Callsign);
                var  areano        = Contestno.GetAreano(log);
                var  phoneRegion   = Contestno.GetPhoneRegion(areano, listMainArea);
                var  stationAreano = Areano.GetNoFromStation(station, listMainArea);
                var  suggests      = Areano.GetSuggestFromStation(station, listMainArea);
                char lrc           = log.ReceivedCn[log.ReceivedCn.Length - 1];

                if (lrc != 'N' && !('0' <= lrc && lrc <= '9'))
                {
                    ErrorReason.Set(listErr, ExtraReason.InvalidSignOfCn.ToString());
                    log.Point = 0;
                }

                if (!Freq.IsBeen(log.Freq))
                {
                    ErrorReason.Set(listErr, Reason.InvalidFreq.ToString());
                }
                if (phoneRegion == null)
                {
                    switch (areano)
                    {
                    case "050":
                    case "070":
                    case "080":
                    case "090":
                        break;

                    default:
                        ErrorReason.Set(listErr, Reason.ReceivedCnUnexists.ToString(), Utils.ConvTostrarrFromList(Areano.GetFromList(Station.GetList(station), listMainArea)));
                        break;
                    }
                }
                else
                {
                    if (!phoneRegion.Any(x => x == Callsign.GetRegion(log.Callsign, hasStroke)))
                    {
                        ErrorReason.Set(listErr, Reason.RegionUnmatches.ToString());
                    }
                    if (!Station.IsMatched(areano, stationAreano) && station != null && !hasStroke)
                    {
                        ErrorReason.Set(listErr, Reason.AddressUnmatches.ToString(), Utils.ConvTostrarrFromList(suggests));
                    }
                }
            }
예제 #23
0
        static string ArithmeticDecoding(BigInteger num, long radix, int pwr, Freq freq)
        {
            BigInteger powr  = radix;
            BigInteger enc   = num * BigInteger.Pow(powr, pwr);
            long       @base = freq.Values.Sum();

            // Create the cumulative frequency table
            Freq cf = CumulativeFreq(freq);

            // Create the dictionary
            Dictionary <long, char> dict = new Dictionary <long, char>();

            foreach (char key in cf.Keys)
            {
                long value = cf[key];
                dict[value] = key;
            }

            // Fill the gaps in the dictionary
            long lchar = -1;

            for (long i = 0; i < @base; i++)
            {
                if (dict.ContainsKey(i))
                {
                    lchar = dict[i];
                }
                else if (lchar != -1)
                {
                    dict[i] = (char)lchar;
                }
            }

            // Decode the input number
            StringBuilder decoded = new StringBuilder((int)@base);
            BigInteger    bigBase = @base;

            for (long i = @base - 1; i >= 0; --i)
            {
                BigInteger pow  = BigInteger.Pow(bigBase, (int)i);
                BigInteger div  = enc / pow;
                char       c    = dict[(long)div];
                BigInteger fv   = freq[c];
                BigInteger cv   = cf[c];
                BigInteger diff = enc - pow * cv;
                enc = diff / fv;
                decoded.Append(c);
            }

            // Return the decoded output
            return(decoded.ToString());
        }
예제 #24
0
        public static double[] DopplerAccuracyByRINEX(string recv, string sim, Freq signal, string path)
        {
            doppler_accuracy_input_para_s[] param = new doppler_accuracy_input_para_s[1];
            param[0].recv_rinex_file = recv;
            param[0].sim_rinex_file  = sim;
            param[0].signal_type     = signal.Value;
            doppler_accuracy_output_para_s res = hcl_doppler_accuracy(param);

            RecordToFile(res.ndata, res.time, res.data, path + "\\" + signal.Name + ".dat");
            double[] ret = new double[1];
            ret[0] = res.accuracy;
            return(ret);
        }
예제 #25
0
 public FXMarket GetRealFXMarket(DateTime date, bool isExactDate = false)
 {
     if (isExactDate)
     {
         return(GetRealFXMarketSimple(Freq.Adjust(date)));
     }
     else
     {
         return(RealFXMarkets.Where(x => x.Key <= date)
                .Select(x => x.Value)
                .LastOrDefault());
     }
 }
예제 #26
0
 private void CopyFreqs()
 {
     if (SelectedFreqs != null && SelectedFreqs.Count > 0)
     {
         _FreqsClipboard = new List <Freq>();
         foreach (Freq freq in SelectedFreqs)
         {
             Freq newFreq = freq.Clone();
             _FreqsClipboard.Add(newFreq);
         }
         _CliboardType = ClipboardType.Copy;
     }
 }
예제 #27
0
        public static double[] InternalNoiseLevelByRINEX(string recv, string sim, Freq signal, string path)
        {
            internal_noise_input_para_s[] param = new internal_noise_input_para_s[1];
            param[0].recv_rinex_file = recv;
            param[0].sim_rinex_file  = sim;
            param[0].signal_type     = signal.Value;
            internal_noise_output_para_s res = hcl_internal_noise_level(param);

            RecordToFile(res.ndata, res.time, res.data, path + "\\" + signal.Name + ".dat");
            double[] ret = new double[1];
            ret[0] = res.accuracy;
            return(ret);
        }
예제 #28
0
파일: FieldDay.cs 프로젝트: JI1LDG/LogSoft
            public string getScoreStr()
            {
                string output     = "";
                int    totalLog   = 0;
                int    totalPts   = 0;
                int    totalMulti = 0;

                for (int i = 0; i < freqNum; i++)
                {
                    int multiNum = 0;
                    int logNum   = 0;
                    int ptsNum   = 0;
                    foreach (var m in listMulti)
                    {
                        if (m.Freq != i)
                        {
                            continue;
                        }
                        multiNum++;
                        logNum += m.Num;
                        ptsNum += m.Point;
                    }
                    if (multiNum == 0)
                    {
                        continue;
                    }
                    output     += "<SCORE BAND=" + Freq.CnvTostr((FreqStr)i) + ">";
                    output     += logNum + "," + ptsNum + "," + multiNum + "</SCORE>\r\n";
                    totalLog   += logNum;
                    totalPts   += ptsNum;
                    totalMulti += multiNum;
                }
                if (totalLog == 0)
                {
                    return("");
                }
                int coeff;

                if (config.IsCoefficientEnabled)
                {
                    coeff = 2;
                }
                else
                {
                    coeff = 1;
                }
                output += "<SCORE BAND=TOTAL>" + totalLog + "," + totalPts + "," + totalMulti + "</SCORE>\r\n";
                output += "<FDCOEFF>" + coeff + "</FDCOEFF>\r\n";
                output += "<TOTALSCORE>" + totalPts * totalMulti * coeff + "</TOTALSCORE>\r\n";
                return(output);
            }
예제 #29
0
        public override string ToLongString()
        {
            string matrix = String.Empty;

            for (int i = 0; i < Grids[0].Count; i++)
            {
                for (int j = 0; j < Grids[1].Count; j++)
                {
                    matrix += ("|(" + (Grids[0].Step * i).ToString() + "," + (Grids[1].Step * j).ToString() + ")| Value: " + Node[i, j].ToString());
                }
                matrix += "\n";
            }
            return($"Type: 2DataOnGrid Info: { Info } \nFreq: { Freq.ToString() } \nOx: { Grids[0].ToString() } \nOy: { Grids[1].ToString() } \n{ matrix }");
        }
예제 #30
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="vo">The offset of the sine wave</param>
 /// <param name="va">The amplitude of the sine wave</param>
 /// <param name="freq">The frequency in Hz</param>
 /// <param name="td">The delay in seconds</param>
 /// <param name="theta">The damping factor</param>
 public Sine(double vo, double va, double freq, double td = double.NaN, double theta = double.NaN) : base()
 {
     VO.Set(vo);
     VA.Set(va);
     Freq.Set(freq);
     if (!double.IsNaN(td))
     {
         Delay.Set(td);
     }
     if (!double.IsNaN(theta))
     {
         Theta.Set(theta);
     }
 }
예제 #31
0
 /*
  * transform data structure into XML node Element
  * Include: Amplitude, Frequency,
  *      Handshake, Hasdelay, Hasmem, delay_length, feed_times, fmt_input, fmt_output
  */
 public void ToElement(XElement cfgNode)
 {
     cfgNode.Add(new XElement("Amplitude", Amp.ToString()));
     cfgNode.Add(new XElement("Frequency", Freq.ToString()));
     cfgNode.Add(new XElement("Time", Time.ToString()));
     cfgNode.Add(new XElement("Handshake", intf_byte.b_Handshake.ToString()));
     cfgNode.Add(new XElement("Hasdelay", intf_byte.b_Hasdelay.ToString()));
     cfgNode.Add(new XElement("Hasmem", intf_byte.b_Hasmem.ToString()));
     cfgNode.Add(new XElement("delay_length", intf_byte.delay_length.ToString()));
     cfgNode.Add(new XElement("feed_times", intf_byte.feed_times.ToString()));
     cfgNode.Add(new XElement("fmt_input", intf_byte.fmt_input.ToString()));
     cfgNode.Add(new XElement("fmt_output", intf_byte.fmt_output.ToString()));
     cfgNode.Add(new XElement("PulseWidth", PulseWidth.ToString()));
 }
예제 #32
0
        public List<Freq> CreateConcordance(string str)
        {
            List<Freq> output = new List<Freq>();
            Hashtable ht = new Hashtable();

            int lnCount = 0;
            foreach (string line in Regex.Split(str, "\r\n|\r|\n"))
            {
                if (line.Length == 0)
                    continue;

                lnCount++;
                foreach (string wordCase in line.Split(' '))
                {
                    if (wordCase.Length > 0)
                    {
                        string word = wordCase.ToLower(); // In example all words are lower case.
                        Freq tempFreq;
                        if (ht.ContainsKey(word))
                        {
                            tempFreq = (Freq)ht[word];
                            tempFreq.Count++;
                            tempFreq.Lines = tempFreq.Lines + lnCount + ",";
                        }
                        else
                        {
                            tempFreq = new Freq(word, lnCount);
                            ht.Add(word, tempFreq);
                            output.Add(tempFreq);
                        }
                    }
                }
            }
            output.Sort(delegate(Freq c1, Freq c2) { return c1.Text.CompareTo(c2.Text); });

            return output;
        }
예제 #33
0
파일: Freq.cs 프로젝트: rthota50/DSinCS_BBQ
	public static  void Test(){
		int[] a = {1,3,3};
		Freq f = new Freq();
		Console.WriteLine(f.Leader(a));
	}
예제 #34
0
 private static void WriteRandomFasta(
       this Stream s, string id, string desc, Freq[] fr, int nr)
 {
     CreateLookup(fr);
     int br = s_buf.WriteDesc(id, desc), lr = LINE_LEN;
     while (nr > 0)
     {
         int r = Min(Min(nr, lr), br);
         for (int bi = BUF_LEN - br, be = bi + r; bi < be; bi++)
         {
             double p = SCALE * (s_last = (s_last * IA + IC) % IM);
             int ai = (int)p; if (s_lookup[ai].P < p) ai++;
             s_buf[bi] = s_lookup[ai].C;
         }
         nr -= r; lr -= r; br -= r;
         if (br == 0) { s.Write(s_buf, 0, BUF_LEN); br = BUF_LEN; }
         if (lr == 0) { s_buf[BUF_LEN - (br--)] = LF; lr = LINE_LEN; }
         if (br == 0) { s.Write(s_buf, 0, BUF_LEN); br = BUF_LEN; }
     }
     if (lr < LINE_LEN) s_buf[BUF_LEN - (br--)] = LF;
     if (br < BUF_LEN) s.Write(s_buf, 0, BUF_LEN - br);
 }
예제 #35
0
 private static void CreateLookup(Freq[] fr)
 {
     for (int i = 0, j = 0; i < LOOKUP_LEN; i++)
     {
         while (fr[j].P < i) j++;
         s_lookup[i] = fr[j];
     }
 }
예제 #36
0
 private static void AccumulateAndScale(Freq[] a)
 {
     double cp = 0.0;
     for (int i = 0; i < a.Length; i++)
         a[i].P = (cp += a[i].P) * LOOKUP_SCALE;
     a[a.Length - 1].P = LOOKUP_SCALE;
 }