mirror of https://github.com/EspoTek/Labrador.git
refactored siprint
This commit is contained in:
parent
b24e39fb8b
commit
c980c98457
|
@ -546,8 +546,8 @@ void isoDriver::udateCursors(void){
|
||||||
char temp_hori[64];
|
char temp_hori[64];
|
||||||
char temp_vert[64];
|
char temp_vert[64];
|
||||||
char temp_separator[2];
|
char temp_separator[2];
|
||||||
sprintf(temp_hori, "V0=%s, V1=%s, ΔV=%s", v0->printVal(), v1->printVal(), dv->printVal());
|
sprintf(temp_hori, "V0 = %s, V1 = %s, ΔV = %s", v0->printVal(), v1->printVal(), dv->printVal());
|
||||||
sprintf(temp_vert, "t0=%s, t1=%s, Δt=%s, f=%s", t0->printVal(), t1->printVal(), dt->printVal(), f->printVal());
|
sprintf(temp_vert, "t0 = %s, t1 = %s, Δt = %s, f = %s", t0->printVal(), t1->printVal(), dt->printVal(), f->printVal());
|
||||||
sprintf(temp_separator, "\n");
|
sprintf(temp_separator, "\n");
|
||||||
|
|
||||||
//sprintf(temp, "hello!");
|
//sprintf(temp, "hello!");
|
||||||
|
|
|
@ -1,65 +1,59 @@
|
||||||
#include "siprint.h"
|
#include "siprint.h"
|
||||||
|
|
||||||
siprint::siprint(const char *unitsInit, double valInit)
|
siprint::siprint(const char *unitsInit, double valInit)
|
||||||
|
: value(valInit)
|
||||||
{
|
{
|
||||||
strncpy(units, unitsInit, 6);
|
strncpy(units, unitsInit, 6);
|
||||||
value = valInit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char* siprint::printVal(){
|
char* siprint::printVal(){
|
||||||
double tempValue = value;
|
std::string suffix;
|
||||||
bool negative = false;
|
double modifiedValue;
|
||||||
|
bool negative = (value < 0);
|
||||||
|
|
||||||
if (tempValue == 0){
|
char* tempStringPtr = printString;
|
||||||
sprintf(printString, "0%s", units);
|
if (negative)
|
||||||
return printString;
|
{
|
||||||
}
|
printString[0] = '-';
|
||||||
if (value < 0){
|
tempStringPtr++;
|
||||||
negative = true;
|
|
||||||
tempValue *= -1;
|
|
||||||
}
|
|
||||||
if (tempValue >= 1000000000000000000){
|
|
||||||
sprintf(printString, "Inf %s", units);
|
|
||||||
return printString;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (abs(value) >= 1000000000000000000)
|
||||||
if (tempValue >= 1000000){
|
{
|
||||||
sprintf(printString, "%c%.2fM%s", (negative ? '-':' '), tempValue/1000000, units);
|
sprintf(tempStringPtr, "Inf %s", units);
|
||||||
return printString;
|
}
|
||||||
|
else if (abs(value) >= 1000000)
|
||||||
|
{
|
||||||
|
sprintf(tempStringPtr, "%.2fM%s", abs(value)/1000000, units);
|
||||||
|
}
|
||||||
|
else if (abs(value) >= 1000)
|
||||||
|
{
|
||||||
|
sprintf(tempStringPtr, "%.2fk%s", abs(value)/1000, units);
|
||||||
|
}
|
||||||
|
else if (abs(value) >= 1)
|
||||||
|
{
|
||||||
|
sprintf(tempStringPtr, "%.2f%s", abs(value), units);
|
||||||
|
}
|
||||||
|
else if (abs(value) >= 0.001)
|
||||||
|
{
|
||||||
|
sprintf(tempStringPtr, "%.2fm%s", abs(value)*1000, units);
|
||||||
|
}
|
||||||
|
else if (abs(value) >= 0.000001)
|
||||||
|
{
|
||||||
|
sprintf(tempStringPtr, "%.2fu%s", abs(value)*1000000, units);
|
||||||
|
}
|
||||||
|
else if (abs(value) >= 0.000000001)
|
||||||
|
{
|
||||||
|
sprintf(tempStringPtr, "%.2fn%s", abs(value)*1000000000, units);
|
||||||
|
}
|
||||||
|
else if (abs(value) >= 0.000000000001)
|
||||||
|
{
|
||||||
|
sprintf(tempStringPtr, "%.2fp%s", abs(value)*1000000000000, units);
|
||||||
|
}
|
||||||
|
else if (abs(value) >= 1)
|
||||||
|
{
|
||||||
|
sprintf(tempStringPtr, "%.2f%s", abs(value), units);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tempValue >= 1000){
|
|
||||||
sprintf(printString, "%c%.2fk%s", (negative ? '-':' '), tempValue/1000, units);
|
|
||||||
return printString;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tempValue >= 1){
|
|
||||||
sprintf(printString, "%c%.2f%s", (negative ? '-':' '), tempValue, units);
|
|
||||||
return printString;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tempValue >= 0.001){
|
|
||||||
sprintf(printString, "%c%.2fm%s", (negative ? '-' : ' '), tempValue*1000, units);
|
|
||||||
return printString;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tempValue >= 0.000001){
|
|
||||||
sprintf(printString, "%c%.2fu%s", (negative ? '-':' '), tempValue*1000000, units);
|
|
||||||
return printString;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tempValue >= 0.000000001){
|
|
||||||
sprintf(printString, "%c%.2fn%s", (negative ? '-':' '), tempValue*1000000000, units);
|
|
||||||
return printString;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tempValue >= 0.000000000001){
|
|
||||||
sprintf(printString, "%c%.2fp%s", (negative ? '-':' '), tempValue*1000000000000, units);
|
|
||||||
return printString;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
sprintf(printString, "0%s", units);
|
|
||||||
return printString;
|
return printString;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue