/* Generated by Nim Compiler v0.17.0 */
/*   (c) 2017 Andreas Rumpf */
/* The generated code is subject to the original license. */
/* Compiled for: Linux, i386, gcc */
/* Command for C compiler:
   gcc -c  -w -O3 -fno-strict-aliasing -fPIC  -I/build/nim/src/Nim-0.17.0/lib -o lib/nimcache/stdlib_algorithm.o lib/nimcache/stdlib_algorithm.c */
#define NIM_NEW_MANGLING_RULES
#define NIM_INTBITS 32

#include "nimbase.h"
#undef linux
#undef near
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
N_NIMCALL(void, reverse_mQ8DLDwXOrhttpnP9a8kayA)(NimStringDesc** a, NI aLen_0, NI first, NI last);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);

N_NIMCALL(void, reverse_mQ8DLDwXOrhttpnP9a8kayA)(NimStringDesc** a, NI aLen_0, NI first, NI last) {
	NI x;
	NI y;
	x = first;
	y = last;
	{
		while (1) {
			NimStringDesc* T3_;
			if (!(((NI) (x)) < ((NI) (y)))) goto LA2;
			T3_ = (NimStringDesc*)0;
			T3_ = a[x];
			unsureAsgnRef((void**) (&a[x]), a[y]);
			unsureAsgnRef((void**) (&a[y]), T3_);
			y -= ((NI) 1);
			x += ((NI) 1);
		} LA2: ;
	}
}

N_NIMCALL(void, reverse_LoixoqZetR6FfezoPedx8w)(NimStringDesc** a, NI aLen_0) {
	reverse_mQ8DLDwXOrhttpnP9a8kayA(a, aLen_0, ((NI) 0), ((NI) (((((NI) 0) >= (aLen_0-1)) ? ((NI) 0) : (aLen_0-1)))));
}
NIM_EXTERNC N_NOINLINE(void, stdlib_algorithmInit000)(void) {
}

NIM_EXTERNC N_NOINLINE(void, stdlib_algorithmDatInit000)(void) {
}

