#include "fun_stdlib.h"
#include <stdlib.h>
#include <math.h>

extern "C" CORD i2s(int const& i) { CORD s = 0; CORD_sprintf(&s, "%d", i); return s; }
extern "C" int s2i(CORD const& s) { return atoi(CORD_to_char_star(s)); }

extern "C" CORD f2s(float const& i) { CORD s = 0; CORD_sprintf(&s, "%f", i); return s; }
extern "C" float s2f(CORD const& s) { return atof(CORD_to_char_star(s)); }

extern "C" CORD d2s(double const& i) { CORD s = 0; CORD_sprintf(&s, "%f", i); return s; }
extern "C" double s2d(CORD const& s) { return atof(CORD_to_char_star(s)); }

extern "C" char* s2cp(CORD const& s) { return CORD_to_char_star(s); }

extern "C" void print(CORD const& s) { CORD_printf(s); }
extern "C" void fprint(CORD const& f, CORD const& s) {
  FILE* file = fopen(CORD_to_char_star(f), "w");
  CORD_fprintf(file, s);
}

extern "C" double f2d(float const& f) { return f; }
extern "C" float d2f(double const& d) { return d; }

extern "C" double i2d(int const& i) { return i; }
extern "C" float i2f(int const& i) { return i; }

extern "C" int d2i(double const& i) { return (int)i; }
extern "C" int f2i(float const& i) { return (int)i; }



