KSquare Utilities
ConfusionMatrix2.cpp File Reference
#include "FirstIncludes.h"
#include <stdio.h>
#include <iomanip>
#include <string>
#include <iostream>
#include <fstream>
#include <map>
#include <vector>
#include "MemoryDebug.h"
#include "KKBaseTypes.h"
#include "OSservices.h"
#include "RunLog.h"
#include "ConfusionMatrix2.h"

Go to the source code of this file.

Functions

template<typename T >
KKStr ArrayToDelimitedDelimitedStr (T *_array, kkint32 _count, char _delimiter)
 
template<typename T >
KKStr ArrayToDelimitedDelimitedStr (const vector< T > &v, char delimiter)
 
void DelimitedStrToArray (vector< kkint32 > &v, kkint32 minSize, const KKStr &l, char delimiter)
 
void DelimitedStrToArray (vector< double > &v, kkint32 minSize, const KKStr &l, char delimiter)
 
void DelimitedStrToArray (kkint32 *_array, kkint32 _count, const KKStr &_l, char _delimiter)
 
void DelimitedStrToArray (double *_array, kkint32 _count, const KKStr &_l, char _delimiter)
 
double PercentOf (double x, double y)
 
KKStr StripOutInvalidLatexCaracters (const KKStr &src)
 

Function Documentation

template<typename T >
KKStr ArrayToDelimitedDelimitedStr ( T *  _array,
kkint32  _count,
char  _delimiter 
)

Definition at line 2871 of file ConfusionMatrix2.cpp.

2875 {
2876  kkint32 x = _count * 10;
2877  KKStr s (x);
2878 
2879  for (kkint32 x = 0; x < _count; x++)
2880  {
2881  if (x > 0)
2882  s.Append (_delimiter);
2883  s << _array[x];
2884  }
2885  return s;
2886 } /* ArrayToDelimitedDelimitedStr */
__int32 kkint32
Definition: KKBaseTypes.h:88
template<typename T >
KKStr ArrayToDelimitedDelimitedStr ( const vector< T > &  v,
char  delimiter 
)

Definition at line 2891 of file ConfusionMatrix2.cpp.

2894 {
2895  KKStr s (v.size () * 10);
2896 
2897  for (kkuint32 x = 0; x < v.size (); x++)
2898  {
2899  if (x > 0) s.Append (delimiter);
2900  s << v[x];
2901  }
2902  return s;
2903 } /* ArrayToDelimitedDelimitedStr */
unsigned __int32 kkuint32
Definition: KKBaseTypes.h:89
void Append(const char *buff)
Definition: KKStr.cpp:1783
void DelimitedStrToArray ( vector< kkint32 > &  v,
kkint32  minSize,
const KKStr l,
char  delimiter 
)

Definition at line 2909 of file ConfusionMatrix2.cpp.

References KKB::KKStr::Split().

2914 {
2915  v.clear ();
2916  VectorKKStr fields = l.Split (delimiter);
2917  kkint32 lastField = (kkint32)fields.size ();
2918  for (kkint32 idx = 0; idx < lastField; ++idx)
2919  v.push_back (fields[idx].ToInt32 ());
2920  while (v.size () < (kkuint32)minSize)
2921  v.push_back ((kkint32)0);
2922 } /* DelimitedStrToArray */
VectorKKStr Split(const char *delStr="\n\r\t, ") const
Breaks up the contents of the string into tokens where the characters in &#39;delStr&#39; acts as separates e...
Definition: KKStr.cpp:3480
__int32 kkint32
Definition: KKBaseTypes.h:88
unsigned __int32 kkuint32
Definition: KKBaseTypes.h:89
void DelimitedStrToArray ( vector< double > &  v,
kkint32  minSize,
const KKStr l,
char  delimiter 
)

Definition at line 2926 of file ConfusionMatrix2.cpp.

References KKB::KKStr::Split().

2931 {
2932  v.clear ();
2933  VectorKKStr fields = l.Split (delimiter);
2934  kkint32 lastField = (kkint32)fields.size ();
2935  for (kkint32 idx = 0; idx < lastField; idx++)
2936  v.push_back (fields[idx].ToDouble ());
2937  while (v.size () < (kkuint32)minSize)
2938  v.push_back ((double)0);
2939 } /* DelimitedStrToArray */
VectorKKStr Split(const char *delStr="\n\r\t, ") const
Breaks up the contents of the string into tokens where the characters in &#39;delStr&#39; acts as separates e...
Definition: KKStr.cpp:3480
__int32 kkint32
Definition: KKBaseTypes.h:88
unsigned __int32 kkuint32
Definition: KKBaseTypes.h:89
void DelimitedStrToArray ( kkint32 _array,
kkint32  _count,
const KKStr _l,
char  _delimiter 
)

Definition at line 2945 of file ConfusionMatrix2.cpp.

References KKB::KKStr::Split().

2950 {
2951  VectorKKStr fields = _l.Split (_delimiter);
2952  kkint32 lastField = Min ((kkint32)fields.size (), _count);
2953  for (kkint32 idx = 0; idx < lastField; idx++)
2954  _array[idx] = fields[idx].ToInt ();
2955 } /* DelimitedStrToArray */
VectorKKStr Split(const char *delStr="\n\r\t, ") const
Breaks up the contents of the string into tokens where the characters in &#39;delStr&#39; acts as separates e...
Definition: KKStr.cpp:3480
__int32 kkint32
Definition: KKBaseTypes.h:88
kkint32 Min(kkint32 x1, kkint32 x2)
Definition: Raster.cpp:229
void DelimitedStrToArray ( double *  _array,
kkint32  _count,
const KKStr _l,
char  _delimiter 
)

Definition at line 2960 of file ConfusionMatrix2.cpp.

References KKB::KKStr::Split().

2965 {
2966  VectorKKStr fields = _l.Split (_delimiter);
2967  kkint32 lastField = Min ((kkint32)fields.size (), _count);
2968  for (kkint32 idx = 0; idx < lastField; idx++)
2969  _array[idx] = fields[idx].ToDouble ();
2970 } /* DelimitedStrToArray */
VectorKKStr Split(const char *delStr="\n\r\t, ") const
Breaks up the contents of the string into tokens where the characters in &#39;delStr&#39; acts as separates e...
Definition: KKStr.cpp:3480
__int32 kkint32
Definition: KKBaseTypes.h:88
kkint32 Min(kkint32 x1, kkint32 x2)
Definition: Raster.cpp:229
double PercentOf ( double  x,
double  y 
)

Definition at line 1670 of file ConfusionMatrix2.cpp.

1671 {
1672  double total = x + y;
1673  if (total == 0.0)
1674  return 0.0;
1675  else
1676  return 100.0 * x / total;
1677 }
KKStr StripOutInvalidLatexCaracters ( const KKStr src)

Definition at line 473 of file ConfusionMatrix2.cpp.

References KKB::KKStr::Append(), KKB::KKStr::Concat(), KKB::KKStr::KKStr(), KKB::KKStr::Len(), and KKB::KKStr::operator[]().

474 {
475  kkuint32 newLen = (kkint32)(src.Len () * 1.3);
476 
477  KKStr result (newLen);
478 
479  for (kkuint32 x = 0; x < src.Len (); x++)
480  {
481  char ch = src[x];
482 
483  switch (ch)
484  {
485  case '#': result << "\\#";
486  break;
487 
488  case '$': result << "\\$";
489  break;
490 
491  case '&': result << "\\&";
492  break;
493 
494  case '_': result << "\\_";
495  break;
496 
497  case '%': result << "\\%";
498  break;
499 
500  case '{': result << "\\{";
501  break;
502 
503  case '}': result << "\\}";
504  break;
505 
506 
507  default: result.Append (ch);
508  break;
509  }
510 
511  }
512 
513  return result;
514 } /* StripOutInvalidLatexCaracters */
__int32 kkint32
Definition: KKBaseTypes.h:88
unsigned __int32 kkuint32
Definition: KKBaseTypes.h:89
kkuint32 Len() const
Returns the number of characters in the string.
Definition: KKStr.h:366
void Append(const char *buff)
Definition: KKStr.cpp:1783