wemos d1でmath.h

#概要
wemos d1でmath.hやってみた。
さすが、32bit。思った通り、doubleが8byteだ。


#サンプルコード


```
#include <math.h>

#define PI          3.14159265
void func0()
{
    Serial.print("\nVarious Math Functions\n");
    Serial.print("the abs of -20 is = "); Serial.println(abs(-20));
    Serial.print("the fabs of -12.1 is = "); Serial.println(fabs(-12.1));
    Serial.print("the ceil of 12.1 is = "); Serial.println(ceil(12.1));
    Serial.print("the floor of 20.9 is = "); Serial.println(floor(20.9));
    Serial.print("the fmod of 120 is = "); Serial.println(fmod(120, 5));
    Serial.print("the trunc of -20.02 is = "); Serial.println(trunc(-20.02));
}
void func1()
{
    Serial.print("\nExponential, Logarithmic, and Power Functions\n");
    Serial.print("the exp of 4 is = "); Serial.println(exp(4));
    Serial.print("the ldexp of 4 is = "); Serial.println(ldexp(4, 2));
    //Serial.print("the log2 of 1000000 is = "); Serial.println(log2(1000000));
    Serial.print("the log10 of 1000000 is = "); Serial.println(log10(1000000));
    Serial.println("the modf of 8.12345 is = ");
    double x, fractpart, intpart;
    fractpart = modf(8.12345, &intpart);
    Serial.print("    Integral part = "); Serial.println(intpart);
    Serial.print("    Fraction Part = "); Serial.println(modf(8.12345, &intpart));
    Serial.print("the pow of 10 is = "); Serial.println(pow(10, 2));
    Serial.print("the sqrt of 36 is = "); Serial.println(sqrt(36));
}
void func2()
{
    Serial.print("\nTrigonometic Functions\n");
    Serial.print("the cos of 16 is = "); Serial.println(cos(16));
    Serial.print("The acos of 0.9 is = degrees "); Serial.println(acos(0.9) * (180.0 / PI));
    Serial.print("the cosh of 16 is = "); Serial.println(cosh(16));
    Serial.print("the sin of 16 is = "); Serial.println(sin(16));
    Serial.print("the sinh of 16 is = "); Serial.println(sinh(16));
    Serial.print("The asin of 0.9 is = degrees "); Serial.println(asin(0.9) * (180.0 / PI));
    Serial.print("the tan of 4 is = "); Serial.println(tan(4));
    Serial.print("the atan of 4 is = "); Serial.println(atan(4));
    Serial.print("the atan2 of 4 is = "); Serial.println(atan2(4, 2));
}
void size()
{
    Serial.print("\nSizeof\n");
    Serial.print("Bytes per char:           "); Serial.println((int) sizeof(char));
    Serial.print("Bytes per unsigned char:  "); Serial.println((int) sizeof(unsigned char));
    Serial.print("Bytes per short:          "); Serial.println((int) sizeof(short));
    Serial.print("Bytes per unsigned short: "); Serial.println((int) sizeof(unsigned short));
    Serial.print("Bytes per int:            "); Serial.println((int) sizeof(int));
    Serial.print("Bytes per unsigned int:   "); Serial.println((int) sizeof(unsigned int));
    Serial.print("Bytes per long:           "); Serial.println((int) sizeof(long));
    Serial.print("Bytes per unsigned long:  "); Serial.println((int) sizeof(unsigned long));
    Serial.print("Bytes per size_t:         "); Serial.println((int) sizeof(size_t));
    Serial.print("Bytes per float:          "); Serial.println((int) sizeof(float));
    Serial.print("Bytes per double:         "); Serial.println((int) sizeof(double));
    Serial.print("Bytes per long double:    "); Serial.println((int) sizeof(long double));
    Serial.print("Bytes per pointer:        "); Serial.println((int) sizeof(void *));
}
void setup()
{
    Serial.begin(115200);
    while (!Serial) delay(250);
    Serial.print("ok");
    Serial.println();
    size();
    func0();
    func1();
    func2();
}
void loop() 
{
	delay(5000);
}


```

#結果

```
Sizeof
Bytes per char:           1
Bytes per unsigned char:  1
Bytes per short:          2
Bytes per unsigned short: 2
Bytes per int:            4
Bytes per unsigned int:   4
Bytes per long:           4
Bytes per unsigned long:  4
Bytes per size_t:         4
Bytes per float:          4
Bytes per double:         8
Bytes per long double:    8
Bytes per pointer:        4

Various Math Functions
the abs of -20 is = 20
the fabs of -12.1 is = 12.10
the ceil of 12.1 is = 13.00
the floor of 20.9 is = 20.00
the fmod of 120 is = 0.00
the trunc of -20.02 is = -20.00

Exponential, Logarithmic, and Power Functions
the exp of 4 is = 54.60
the ldexp of 4 is = 16.00
the log10 of 1000000 is = 6.00
the modf of 8.12345 is =
    Integral part = 8.00
    Fraction Part = 0.12
the pow of 10 is = 100.00
the sqrt of 36 is = 6.00

Trigonometic Functions
the cos of 16 is = -0.96
The acos of 0.9 is = degrees 25.84
the cosh of 16 is = 4443055.26
the sin of 16 is = -0.29
the sinh of 16 is = 4443055.26
The asin of 0.9 is = degrees 64.16
the tan of 4 is = 1.16
the atan of 4 is = 1.33
the atan2 of 4 is = 1.11


```

以上。