diff --git a/CMakeLists.txt b/CMakeLists.txt index 56dd117..8d38b66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,3 @@ set(CMAKE_CXX_EXTENSIONS OFF) set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) add_subdirectory(src) - -if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") - add_subdirectory(test) -endif() diff --git a/README.md b/README.md index d244748..88365a9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,35 @@ # markov-generator +## Results + +This program was tested using aces-up.txt and stalemate.txt + +stalemate replaced aces-up for more interesting generation + +A k=8 input resulted in the best output since it stopped words from being cut off + +### Favorites + +*All k's were generated from stalemate.txt with n=32* + +>k=0: thinopreareBunofothinothinealoupa + +>k=1: wit. thimp worg thanc thelescrope + +>k=2: thate anyh out. IRS. God. some IN + +>k=3: that. There. high fough that' fin + +>k=4: protec you?" its infrin that?" Un + +>k=5: United ankles can't having younge + +>k=6: thing, God. You'll forgotte shave + +>k=7: three into wounded? online away. + +>k=8: both. several whatsoever thing, s + ## Compiling the project Prerequisites @@ -18,18 +48,3 @@ Simply run the program using: build/bin/markov -## Testing the Project - -Prerequisites - - [Unity (Throw the Switch)](https://github.com/ThrowTheSwitch/Unity) | [AUR](https://aur.archlinux.org/packages/unity-test) - -In order to compile the tests for the project, simply run these two commands: - - cmake -DCMAKE_BUILD_TYPE=Debug -B build -S . - cmake --build build - -The program should now be compiled at build/bin/tests - -Simply run the tests using: - - build/bin/tests diff --git a/src/generator.cpp b/src/generator.cpp index 2aaa27a..b832a7f 100644 --- a/src/generator.cpp +++ b/src/generator.cpp @@ -116,14 +116,7 @@ void Generator::Train(void) { std::cout << "[Setup - Info] Begin training" << std::endl; for (const auto& word : words) { - if (word.size() < setup.prefixLength) { - trie.Insert(word); - continue; - } else { - for (int i = 0; i < word.size() - setup.prefixLength; ++i) { - trie.Insert(word.substr(i, setup.prefixLength)); - } - } + trie.Insert(word); } std::cout << "[Setup - Info] Finished training" << std::endl; } diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt deleted file mode 100644 index 8a65233..0000000 --- a/test/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -find_package(unity REQUIRED) -include_directories(${CMAKE_SOURCE_DIR}/src) -add_executable(testing - test.cpp -) -set_target_properties(testing PROPERTIES LINKER_LANGUAGE CXX) -target_link_libraries(testing unity) diff --git a/test/stalemate.txt b/test/stalemate.txt new file mode 100644 index 0000000..0290adb --- /dev/null +++ b/test/stalemate.txt @@ -0,0 +1,1057 @@ +The Project Gutenberg eBook of Stalemate + +This ebook is for the use of anyone anywhere in the United States and +most other parts of the world at no cost and with almost no restrictions +whatsoever. You may copy it, give it away or re-use it under the terms +of the Project Gutenberg License included with this ebook or online +at www.gutenberg.org. If you are not located in the United States, +you will have to check the laws of the country where you are located +before using this eBook. + +Title: Stalemate + + +Author: Basil Wells + +Illustrator: Leo Summers + +Release date: May 30, 2010 [eBook #32594] + +Language: English + +Credits: Produced by Greg Weeks, Mary Meehan and the Online + Distributed Proofreading Team at http://www.pgdp.net + + +*** START OF THE PROJECT GUTENBERG EBOOK STALEMATE *** + + + +Produced by Greg Weeks, Mary Meehan and the Online +Distributed Proofreading Team at http://www.pgdp.net + + + + + + + + + + STALEMATE + + BY BASIL WELLS + + _Illustrated by Leo Summers_ + +[Transcriber Note: This etext was produced from If Worlds of Science +Fiction November 1954. Extensive research did not uncover any evidence +that the U.S. copyright on this publication was renewed.] + + +[Sidenote: _The rules of a duel between gentlemen are quite different +from the rules of war between nations. Is it because gentlemen do not +fight wars, or is it that men in war cease to be gentlemen?_] + + +The bullet slapped rotted leaves and dirt into Gram Treb's eyes. He +wormed backward to the bole of a small tree. + +"Missed!" he shouted. He used English, the second tongue of them both. +"Throw away your carbine and use rocks." + +"You tasted it anyhow," Harl Neilson's shrill young voice cried. "How +was the sample?" + +"That leaves you two cartridges," taunted Treb. "Or is it only one?" + +The sixth sense that had brought him safely through two of these bloody +war duels here in space made him fling his body to the left. He rolled +over once and lay huddled in a shallow depression. He knew all the tiny +hollows and ridges--they were his insurance on this mile-wide island +high above Earth. + +Something thudded into the tree roots behind him. He hugged the ground, +body flattened. His breath eased raggedly outward, and caught. The +waiting--the seconds that became hours! If the grenade rolled after him, +down the slope into his shelter, he was finished. + +There was nothing he could do. His palms oozed sweat.... + +The grenade exploded. It was like a fist slammed against his skull. He +was numbed for a long instant. Then he checked. + +Unharmed. The depression had saved his neck this time. He wanted to +shout at Neilson, tell him he was down to a lone grenade, but that was +poor strategy. Now he must withdraw, make Neilson think him injured or +dead, and trap him in turn. + +They were the last of the belligerents here within Earth Satellite. For +two months, since what would be May on Earth, they had carried on this +mad duel. Of the other eighteen who had started the war in November of +the preceding year, only four had survived their wounds. The United +Nations' supervisory seconds had transported them to their homes in +Andilia and in Baryt.... + +Treb wormed his way as noiselessly as possible into the undergrowth, +sprawling at last in the shelter of an earthen mound thirty feet from +the grenade's raw splash. He waited--and thought. + +Memories can be unpleasant. He could see his comrades of the three +battles as they had fallen, wounded or gray with death. Too many of them +had he helped bury. He remembered the treasured photos. + +The draining wound in his right forearm throbbed.... + +The enemy dead too. He had killed several of them--more than his share, +he thought savagely. They too were young despite the ragged beards some +of them cultivated. + +Treb felt like an old man. And he _was_ old. He was twenty-nine. He had +a son also named Gram, a boy of five, and little Alse, who was two. Had +little Alse's mother lived he would never have volunteered for this +third United Nations' war duel. + +He would have been with her in the mountain valley of Krekar working +hard, and gradually erasing those other ugly episodes here on Earth +Satellite One.... + +Minutes crawled by, lumped together into hours. Birds sang in the trees +so laboriously maintained here in the satellite's disk-shaped heart. +And, a hundred feet overhead, where the true deck of the man-made island +in space began, other birds nested in the girders. + +An ant crawled over Treb's earth-stained hand and passed under his +outstretched carbine's barrel. + +There was a movement in the clustering trees off to his right. Neilson +had circled and was coming in from an opposite angle. Treb thumbed off +the safety and waited. + +An earth-colored helmet, with a trace of long pale hair around its rim, +came slowly into view. Could be a dummy, Neilson was clever at rigging +them to draw fire. And he had exactly two cartridges. After that it +would be his three grenades, his two-foot needle-knife, that doubled as +a bayonet, and the steel bow he had contrived from a strip of spring +steel. + +He held his fire. The trees made grenade lobbing a touchy business. And +his bow was back in one of the dozens of foxholes he had spotted in both +the inner and outer rings of trees. + +In the fantasy stories of adventure in space that he enjoyed reading, +the hero could always whip up a weird paralysis ray, a deadly, invisible +robot bullet, or an intelligent gaseous ally from the void would appear. +And out of scrap glass, metal and his shoestrings he could contrive a +solar-powered shell that stopped any missile, deadlier than a +marshmallow, cold. + +In actual life he was finding it difficult enough to contrive a +primitive sort of bow, a knife-lashed spear, and snares for the +increasingly wary rabbits. Lack of sleep and lack of food supplies were +sapping his lanky body of the whiplash swiftness and wiry strength it +once possessed. Nor was the week-old wound any aid to his dulled +wits.... + +The helmet advanced; he could almost see the twig-stuffed gray shirt's +pockets, and he let his nostrils expand as he sucked in a steadying +breath. Now, a yard behind the fake Andilian, he could see the moving +shoulders and skull of Harl Neilson--or so his bloodshot eyes told him. + +He squeezed the trigger. There was a subdued yip, and then a derisive +jeer. Missed again--or had he? + +"Sour rocketing, Grampaw," Neilson laughed. "Try again. And then I'm +coming after you." + +Only Neilson wouldn't. Unless he'd miscalculated the number of grenades, +he wouldn't come charging at Treb. And he couldn't be sure of the number +of cartridges Treb possessed. He was just talking to keep his nerve up. + +Especially if he was wounded now. That sudden yip.... + + * * * * * + +It was night again, an artificial night as artificial as the central +ten-acre pool of water, the ring of flowering green trees and grasses, +and the final outer ring of forest trees. It was here that the two +thousand UN employees and soldiers on Earth Satellite One normally took +their recreation periods. + +Only the supervised war-duels, that since 1969 had been the only +blood-letting permitted between nations, could long keep a Terran from +visiting the green meadows and trees of this lowest of the three +levels.... + +"I'd give half that quarter million," Neilson groaned, across the +darkness, "for a cigarette." + +"You mean," corrected Gram Treb, "half your ten thousand." + +"It's the winner's grant or nothing, Treb. I promised Jane I'd hand it +to her. Then we'll marry." + +"But not if you are the loser?" + +"I wouldn't--she wouldn't--it's impossible to think of asking her to +share poverty and disgrace." + +"I'd hardly say that. We lost our first war here on the Satellite. Baryt +was obligated to cede a thousand square miles to Tarrance. Most of my +ten thousand paid off my family's debts. + +"Yet I married. I married Nal who had nursed me back to health. And we +were happy. Until the second war with Duristan. I wanted money for +her--for the children--for my impoverished valley." + +Treb broke off. He backed away several feet and shifted noiselessly to a +new position. Every night, and sometimes in the artificial sunlight, +they talked together. But they never forgot that they were sworn foes. + +"So you won it didn't you?" From his voice Neilson had shifted closer +and to the left. + +"Sure. And I wish I were as poor as before. For Nal was kicked to +death--by the horse I should have been using--while I fought here." + +Neilson made a sympathetic sound. Treb felt his lips twitch into a thin +crooked line. This is what it meant to be human. To feel sorrow for +another man's misfortunes--and then kill him! + +Sure, Neilson was a good sort. Only twenty-four and in love with a girl, +a woman really, widow of a dead lunar explorer. And he was a +clean-living sort, nothing dishonorable or hateful about him. They even +honored the same God. + +But tomorrow, or the next day, or a month from now, he would kill or +wound Neilson. Unless, as might well happen, Neilson got to him first. + +He pushed aside a thought that came more and more often of late. Why not +surrender, or let Neilson capture him? He did not consider +suicide--little Gram and Alse needed him--although he had not been +thinking of them when he signed for this ugly miniature battle in space. +His wife's death had been too vivid yet. + +But, why not surrender? He had enough money. The valley people could +struggle along without the machines and the dam he had hoped to grant +them with victory. And Baryt could lose the island of Daafa to Andilia +without crippling herself. The three hundred and fifty inhabitants could +be transferred to the mainland. + +Treb laughed silently, a laugh that cut off with a twinge of drawing +ugly pain from his wounded forearm. He knew that he could no more +surrender without a fight than he could command his breathing to stop +forever. He was a man, and men cannot give up dishonorably.... + +"I'd like to see those two kids sometime, if you're still around, Treb." +Neilson had moved again. His voice was lower but he was nearer. + +"Stop around anytime, Harl." Treb moved a few feet deeper into a +thicket. "We'll show you what real Baryt hospitality is." + +"That's a promise, Treb." + +Killing. That's what war was. So you had to kill. Or you volunteered to +kill. But you didn't have to like it. All these little wars under UN +supervision were needless--arbitration would serve as well. But the +people, the leaders--someone--wanted blood. So ten or twelve or fifteen +citizens of one nation fought an equal number of the other state's sons. + +Doubtless it was an improvement over the mass bombings of innocent city +dwellers, and the horror of atomic dusts and sprays. No overwhelming +army could sweep, unchecked, over a helpless neighbor. It was fairer, +too, for those involved. Equal numbers of men, guns, supplies. Wealth if +your side won, and a fair sum if you lost. + +The United Nations saw to that. After all the avenues to peaceful +settlement had been explored and turned down they finally permitted +bloodshed. Much against their better judgement, perhaps. + +So he could destroy likeable young Andilians like Neilson. + +"Why don't you send up a rocket?" Neilson kidded, his voice coming from +a changed direction again. "So I can see you." + +"Anything to oblige." + +Neilson was circling out around, as though to drive him into a trap or +trick him. They were getting back to the primitive now. Soon it would be +knives, spears, and deadfalls. + +"Come on over and I'll show you Jane's picture, Treb," invited Neilson. +He laughed hoarsely. "If we weren't where we are, I'd mean that." + +"I know. I feel that way myself sometimes. We've been here alone too +long. Hate hasn't lasted." + +"Why aren't you a wrongo, Treb?" The young voice was cracked and savage. +"Why'd you have to tell me about--Gram and Alse?" + +Treb was backing away again, cautiously. He scented a trap. No doubt +Neilson's words were sincere, at the moment, but in a second's time he +could change into a cold-blooded executioner. He knew. He had seen the +gentlest of men suddenly turn killer.... + +And then his foot struck a yielding branch and his aroused suspicion +sent him lunging forward. + +A heavy something fell with a sickening thud, brushing as it struck the +sole of his disintegrating shoe. A cleverly rigged deadfall of small +trees and rock, doubtless. + +"You're slipping, Harl," he shouted. + +But he could feel the sudden sweat damping his palms, and the muscles +twitched unsteadily in his arms and across his stomach. + + * * * * * + +With morning he was half a mile away, in a foxhole less than sixty yards +from the massive outer perimeter of the arena. Two of his snares had +yielded a rabbit each, and so he was supplied for several days. + +The foxhole had two entrances, both well-concealed, and he had rigged +elaborate warning devices should the vicinity be approached. So he was +sleeping. + +His dreams were unpleasant. + +In his latest dream an extremely shapely and smiling young woman with +dark hair was heaving a grenade into a pit where he lay bound and +helpless. The grenade swelled until it became a space ship heading +directly toward the frail scout craft he piloted.... + +And a tiny blob of dislodged mud from the dugout spatted his face. He +sat up. + +Another day to hunt or be hunted. Or to lie here and try to rest and +make plans. There was slight possibility that Neilson could find him +here. + +He gnawed at the scantly-fleshed ribs of the first rabbit, savoring the +raw meaty smell and flavor. Hunger was his salt. + +Now that they had lost contact with one another it might require several +days to find Neilson. A wooded platter, a mile in diameter, can afford +many hiding places for one creature hiding from another hunting beast. + +It was time to set some of the traps he had been contriving. + +There were the two nooses, attached to bent-down triggered young trees +that could not be set until darkness fell again. The net, too, would +need darkness to conceal the four rough pulleys, and the rocks that a +tug on his rope would spill. + +But the almost invisible nylon cords, set at ankle height across the +paths, and the ugly little pits with their sharpened stakes set three +feet below, could trip up a man and cripple him. He must put out several +of those. + +He had no wish to kill Neilson. If he could capture him, very good. He +could go back to Andilia and perhaps his Jane would be glad to take him. +If she did not--it was worth knowing how little she really cared, was it +not? + +So he would try to trap the younger man and save his life. + +It would be difficult. The other man had grenades, a carbine and a keen +needle-knife. Perhaps, before the end, he would be forced to kill after +all. But regretfully. + +Treb dumped the last of the _tsaftha_ antibiotic into his wound and lay +back for a few more hours of rest before going out to prepare the traps. + +His head was not clear. And his eyes drew together from exhaustion.... + + * * * * * + +Another night and another day, and it was night again. + +His traps were set and ready. All through the day he had prowled the +trees, watching for some sign of Neilson. He found he was muttering to +himself, hungry for the sound of spoken words. + +It was nervous work. His muscles were jumping in faint spastic +explosions. Neilson could have been lying in ambush in any of a hundred +leafy coverts, resting there and waiting.... + +He had covered less than two miles of inching, crawling paths, his eyes +ever alert for deadfalls, pits and spear-traps that might flash across +the way to impale him. + +And he had caught no sight of Neilson. + +Now it was night again. Time to check on his traps. The rabbit traps as +well as the human traps. + +He was approaching the net. And the awareness that this furtive game of +hide-and-seek might go on for weeks oppressed him. He might lie here +close by the net for days without sight of Neilson. They were too evenly +matched--and Neilson was younger. It was Neilson's youth against his +experience. + +He found the thin rope of knotted nylon and plastic scraps that led to +the four balanced rocks. One stout yank and the net would jerk upward +four feet and tighten around its victim. + +But, in the dim starlight from the small globes spotting the Satellite's +ceiling, the path was an indistinct blur. A moving body's exact +position.... And at fifty feet.... + +He saw Neilson--it could only be Neilson. + +Moving on hands and knees, he was keeping low and to the side of the +little-used trail--but within the width of the hand-patched net. And he +moved slowly, probing before him with a stick or his needle-knife; Treb +could not tell which. + +Another two feet and he could trip the net. Neilson would be captured, +alive, and the stalemate ended. + +Now! + +The net flung into the air, snapped tight about Neilson's thrashing +body! He heard the pop of parting strands as Neilson slashed with his +knife. And then he swung the butt of his carbine, twice, against the +trapped man's skull. + +Neilson went limp. It was finished. He could take his prisoner to the +lock, summon the UN guards, and go home to the Krekar Hills. And an end +to all blood-letting for him. + +He set about binding tight the arms and legs of Neilson, and had barely +completed his task when the prisoner groaned and struggled. + +"So this is it, Treb?" + +"Yes." + +"You win again. And I--I lose everything." + +"So?" Treb touched his pocket torch to a heap of shredded dry twigs. +"What have you lost? Your health, your life? And will not the woman +forget all else and love you?" + +"Hah! She will laugh at me if I come near her. Defeated, and with a +paltry ten thousand to offer. Better that I died than this." + +"Perhaps you do not--know this woman, Harl. If she is good, she will +come to you." + +The growing firelight was on Neilson's bearded face. And beneath his +eyes something glistened and beaded. He laughed bitterly. + +"She's not good, Treb, understand that. She's evil and money-hungry, and +ambitious. But she is beautiful and I love her. I'd sell my soul and my +body to possess her. + +"That's why I volunteered. With the winners' grant I would have money. +Prestige. Honor. There would be a thousand new opportunities for a +career. And Jane could not refuse me then." + +"It is wrong, Harl Neilson, to so worship a woman. Like alcohol or +Venerian fire pollen--it is unnatural." + +"I know. I have tried to forget, to put her memory aside. But it is like +a disease. An incurable disease. I must have Jane." + +Treb threw more wood on the little fire and checked over the lashings +about Neilson's body. + +"I am going to look at my rabbit snares," he said, "and to spring the +other traps. We will eat and sleep, and in the morning try to shave and +look decent before going to the locks." + +Neilson let his head sag between his shoulders, and said nothing. He was +leaning against a tree, his arms lashed behind him and to it. + +"There is one more thing, Harl, that I wish to discuss. It is about the +Paul Hubble Foundation Award. Think about it." + +Treb moved off into the darkness. + + * * * * * + +The sunlight from the overhead "suns" of the Satellite revealed a +greatly changed Treb. He was shaved, his hair combed and hacked off +above his ears, and he was stitching the last rough patch on his dark +green trouser leg. + +Now he donned the trousers and went over to the bound Andilian. He cut +the ropes, his carbine ready. + +"Get down to the lake," he ordered. "You'll find a razor, soap and an +old shirt to dry yourself with." + +Harl Neilson was chunky and fair-haired, with a healthy looking +red-brown skin. His eyes were wide and darkly blue. Now the wide mouth +under his shapeless nose twisted into a faint grin. + +"I'll try to get away," he warned. "Aren't you afraid of that?" + +"I have all the guns, grenades and needle-knives, Harl. I'll shoot you +if you attempt escape, of course, but I hope you'll listen to what I +propose first." + +Neilson slowly stripped off his ragged tunic and trousers. There was the +scar of a recent bullet's path across his right shoulder blade. It was +crusted with blackened blood. + +"I thought I heard you two days back, Harl," said Treb. + +"Just a scratch." Neilson took up the soap and waded into the nearby +lake. "Start talking, Treb." + +"I told you to think about Paul Hubble's Award, Harl. He's the American +industrialist who opposed violence in settling any issue." + +"Sure. Heard about him in the lower grades. Fifty million dollars he +sunk in his worthless Peace Foundation. What about it?" + +"Hear me out. Did you like what we just went through? Your friends and +comrades dying--my friends dead and wounded? And all to settle some +territorial dispute or to wipe out some imagined slur. + +"Would you like to prevent your kid, or mine, from having to face this +again?" + +"Stop sounding off, Treb, and say something." Neilson scrubbed +vigorously. "Of course I would--if I ever had a kid, I mean." + +"We could help, Harl. By calling off the duel and making peace right +here. Of course there might be new balloting--even another battle +between our countries. But we would crack the theory that victory means +more than humanity." + +Neilson snorted. He splashed water into his eyes and over his soapy +beard and hair. + +"And go home penniless? To have every friend and neighbor avoid us? +What's eating you? You won. You'll get the quarter of a million." + +"I want you to share equally. I want our two countries to know that +friendship means more than glory." + +"I don't get it. If neither side wins we get nothing." + +"You forget about the Hubble Award. Two hundred thousand to each member +of both sides, or their survivors, if they declare an armistice." + +"I had forgotten. You'd give up fifty thousand so I could get the same +two hundred thousand! You're a prince, Treb. + +"But I couldn't do it. Jane would turn against me. The radio, the +newswires, television and the magazines would crucify me--both of us." + +"We'd ride it out. None of the participants in the twenty-two duels here +in Satellite has had the courage to admit he hates war. In years to come +our stand would be honored." + +"It means losing Jane. I can't do it." + +"You've lost her anyway, Harl, if she's the way you say. How about your +three wounded buddies: Wasson, Clark, and Thomason? Badly cut up aren't +they? Clark blind. Wasson with no arms. + +"Couldn't they use the two hundred thousand?" + +Neilson was coming ashore. A sudden resolve hardened his face, and his +blue eyes were dark and angry. His jaw jutted through the sandy fairness +of his draggled beard. + +Treb felt his vitals knot at what he sensed in Neilson's expression. +He'd gambled on the essential fairness and sympathy of the Andilian's +character. But now.... + +"I'll do it," Neilson said tonelessly. + +"I hope you'll never regret what you are doing, Harl." + +"Aw, lock valves!" snarled Neilson. "Get ready to go while I finish +shaving." + +So that was the way it was to be. Treb turned wearily away. He went back +through the screen of flowering shrubs and trees to where the coals of +their fire turned gray. + +The grenades and the three cartridges, his own and Neilson's, he buried +in a hasty hole under a tree's sprawled roots. Afterward he tamped sod +back into place and spread leaves. + +His needle-knife he laid on the turf. From his pocket he took a long +strip of cloth and some of the tough nylon cords from the net. Then he +let his trousers drop about his ankles and set about anchoring the +needle-knife securely to his upper leg. + +When he had finished the keen blade projected a foot below his knee-cap. +And around it, carefully, he wound some of the cloth. He donned his +battered trousers again. The concealed knife was well hidden, although +it did impede the freedom of his stride. + +Then he went down to rejoin Neilson. + +Neilson was just finishing hacking at his hair with the short-bladed +safety razor. He scowled at Treb, his eyes on the carbine that the man +from Baryt yet carried. + +"Not taking any chances, eh, Treb?" + +"Just in case you change your mind, Harl." + +"My friend--my very dear friend--Gram Treb!" Neilson laughed. "What +trust--what a faith in human nature!" + +"Yes, Harl. Your friend." + +They left the lake behind, Neilson in advance. Directly ahead, beyond +the outer ring of trees, the locks to the upper levels waited. They had +less than a third of a mile to traverse. + +The rusting shattered debris of a machine gun, with a spilled clutter of +empty shell cases, lay just off the trail. + +"Harok Dann died here," said Treb. Neilson did not turn. + +"The big man, Manross, was killed by Dann's fire even as he threw the +grenade," he added. + +Treb was watching the broad-shouldered figure ahead. + +"Shut it off, Treb, will you?" Neilson shouted, turning. "Isn't it tough +enough without you yap-yapping all the way?" + +Treb's lips thinned. The knife chafed his leg. Already he was limping +slightly. But they had covered more than half the distance. Once they +contacted the UN guards and were through the locks he could relax.... + + * * * * * + +The circular outer face of the lock was before them. And the button that +summoned the guards jutted redly from a shoulder-high recess. Neilson +leaned against the lock, his narrowed eyes on Treb as he reached for the +button. + +Treb jabbed. And he relaxed inwardly. Too late now for Neilson to +attempt overpowering him and claiming the victory. He had feared such an +attempt--with the lust for the woman, Jane Vanne, driving him, Neilson +might have gone back on his word. + +It was tough going for the kid. But he wasn't losing anything worth +keeping. And hundreds of fine young lads like him might be spared going +through this ordeal in space. They'd.... + +Neilson's fist caught him behind the ear. That split-second of +inattention was proving costly. Neilson clamped the carbine barrel, +wrested it away from Treb. He raised it. Treb lifted his hands. + +"So now it's me at the controls," Neilson said, grinning. "Any reason +why I should go through with your Hubble Award idea?" + +"The guards will be here in no more than a minute, Harl. Throw the gun +away and we'll go through together." + +Neilson's eyes were shining. He was seeing the crowds waving crazy +welcome as his space ship grounded. He was seeing the adulation of the +boys, and the adoring glance of the dark-eyed girl named Jane. He was +seeing the medals and the banquets and the bundles of money. + +"You were crazy, Treb," he said, "to ever trust me. In war promises mean +nothing. Study your history." + +Treb squared his shoulders, his hands came down. + +"If that's the way it is," he said, and then, "coming at you, Neilson." + +Neilson flinched. It was the first time Treb had called him by his last +name, perhaps that was the reason. Or it could have been the sight of an +unarmed man walking directly into his carbine's ugly muzzle. + +He pressed the trigger. The unloaded weapon was silent. Treb wrenched at +the gun. Neilson kicked him in the crotch. The gun came free. He brought +it down at Treb's head, but at the last second before impact Treb +dodged. The barrel smacked into Treb's right shoulder and broke the +collar bone. + +Treb came on, his left hand jabbing, and his right arm dangling. Neilson +chopped at his face with the vertically held carbine, and tore a great +chunk from his left cheek. + +And then Treb's knee came up. The shielded razor-sharp blade sliced +through his trouser. He drove the ugly little dagger into Neilson's +body. + +Neilson went down, squirming away from the sudden pain that tore at his +vitals. The carbine went clattering. + +Treb knelt beside him; tried to stanch the warm gush of red life, and +cursed, soundlessly, the ambition that is mankind's greatest boon--and +curse. He tore off the bloody knife. + +"You won't die, Neilson," he said gravely. "Not with the surgeon and the +hospital here on Earth Satellite so near. You'll live to see Andilia +again. + +"And about the invitation to visit us--I'm sorry you rejected it like +this. But the offer still stands. When I can call you Harl again, when +you are a _man_, visit us." + +The lock behind them creaked and started to open. + + + + + + + + *** END OF THE PROJECT GUTENBERG EBOOK STALEMATE *** + + + + +Updated editions will replace the previous one—the old editions will +be renamed. + +Creating the works from print editions not protected by U.S. copyright +law means that no one owns a United States copyright in these works, +so the Foundation (and you!) can copy and distribute it in the United +States without permission and without paying copyright +royalties. Special rules, set forth in the General Terms of Use part +of this license, apply to copying and distributing Project +Gutenberg™ electronic works to protect the PROJECT GUTENBERG™ +concept and trademark. Project Gutenberg is a registered trademark, +and may not be used if you charge for an eBook, except by following +the terms of the trademark license, including paying royalties for use +of the Project Gutenberg trademark. If you do not charge anything for +copies of this eBook, complying with the trademark license is very +easy. You may use this eBook for nearly any purpose such as creation +of derivative works, reports, performances and research. Project +Gutenberg eBooks may be modified and printed and given away—you may +do practically ANYTHING in the United States with eBooks not protected +by U.S. copyright law. Redistribution is subject to the trademark +license, especially commercial redistribution. + + +START: FULL LICENSE + +THE FULL PROJECT GUTENBERG LICENSE + +PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK + +To protect the Project Gutenberg™ mission of promoting the free +distribution of electronic works, by using or distributing this work +(or any other work associated in any way with the phrase “Project +Gutenberg”), you agree to comply with all the terms of the Full +Project Gutenberg™ License available with this file or online at +www.gutenberg.org/license. + +Section 1. General Terms of Use and Redistributing Project Gutenberg™ +electronic works + +1.A. By reading or using any part of this Project Gutenberg™ +electronic work, you indicate that you have read, understand, agree to +and accept all the terms of this license and intellectual property +(trademark/copyright) agreement. If you do not agree to abide by all +the terms of this agreement, you must cease using and return or +destroy all copies of Project Gutenberg™ electronic works in your +possession. If you paid a fee for obtaining a copy of or access to a +Project Gutenberg™ electronic work and you do not agree to be bound +by the terms of this agreement, you may obtain a refund from the person +or entity to whom you paid the fee as set forth in paragraph 1.E.8. + +1.B. “Project Gutenberg” is a registered trademark. It may only be +used on or associated in any way with an electronic work by people who +agree to be bound by the terms of this agreement. There are a few +things that you can do with most Project Gutenberg™ electronic works +even without complying with the full terms of this agreement. See +paragraph 1.C below. There are a lot of things you can do with Project +Gutenberg™ electronic works if you follow the terms of this +agreement and help preserve free future access to Project Gutenberg™ +electronic works. See paragraph 1.E below. + +1.C. The Project Gutenberg Literary Archive Foundation (“the +Foundation” or PGLAF), owns a compilation copyright in the collection +of Project Gutenberg™ electronic works. Nearly all the individual +works in the collection are in the public domain in the United +States. If an individual work is unprotected by copyright law in the +United States and you are located in the United States, we do not +claim a right to prevent you from copying, distributing, performing, +displaying or creating derivative works based on the work as long as +all references to Project Gutenberg are removed. Of course, we hope +that you will support the Project Gutenberg™ mission of promoting +free access to electronic works by freely sharing Project Gutenberg™ +works in compliance with the terms of this agreement for keeping the +Project Gutenberg™ name associated with the work. You can easily +comply with the terms of this agreement by keeping this work in the +same format with its attached full Project Gutenberg™ License when +you share it without charge with others. + +1.D. The copyright laws of the place where you are located also govern +what you can do with this work. Copyright laws in most countries are +in a constant state of change. If you are outside the United States, +check the laws of your country in addition to the terms of this +agreement before downloading, copying, displaying, performing, +distributing or creating derivative works based on this work or any +other Project Gutenberg™ work. The Foundation makes no +representations concerning the copyright status of any work in any +country other than the United States. + +1.E. Unless you have removed all references to Project Gutenberg: + +1.E.1. The following sentence, with active links to, or other +immediate access to, the full Project Gutenberg™ License must appear +prominently whenever any copy of a Project Gutenberg™ work (any work +on which the phrase “Project Gutenberg” appears, or with which the +phrase “Project Gutenberg” is associated) is accessed, displayed, +performed, viewed, copied or distributed: + + This eBook is for the use of anyone anywhere in the United States and most + other parts of the world at no cost and with almost no restrictions + whatsoever. You may copy it, give it away or re-use it under the terms + of the Project Gutenberg License included with this eBook or online + at www.gutenberg.org. If you + are not located in the United States, you will have to check the laws + of the country where you are located before using this eBook. + +1.E.2. If an individual Project Gutenberg™ electronic work is +derived from texts not protected by U.S. copyright law (does not +contain a notice indicating that it is posted with permission of the +copyright holder), the work can be copied and distributed to anyone in +the United States without paying any fees or charges. If you are +redistributing or providing access to a work with the phrase “Project +Gutenberg” associated with or appearing on the work, you must comply +either with the requirements of paragraphs 1.E.1 through 1.E.7 or +obtain permission for the use of the work and the Project Gutenberg™ +trademark as set forth in paragraphs 1.E.8 or 1.E.9. + +1.E.3. If an individual Project Gutenberg™ electronic work is posted +with the permission of the copyright holder, your use and distribution +must comply with both paragraphs 1.E.1 through 1.E.7 and any +additional terms imposed by the copyright holder. Additional terms +will be linked to the Project Gutenberg™ License for all works +posted with the permission of the copyright holder found at the +beginning of this work. + +1.E.4. Do not unlink or detach or remove the full Project Gutenberg™ +License terms from this work, or any files containing a part of this +work or any other work associated with Project Gutenberg™. + +1.E.5. Do not copy, display, perform, distribute or redistribute this +electronic work, or any part of this electronic work, without +prominently displaying the sentence set forth in paragraph 1.E.1 with +active links or immediate access to the full terms of the Project +Gutenberg™ License. + +1.E.6. You may convert to and distribute this work in any binary, +compressed, marked up, nonproprietary or proprietary form, including +any word processing or hypertext form. However, if you provide access +to or distribute copies of a Project Gutenberg™ work in a format +other than “Plain Vanilla ASCII” or other format used in the official +version posted on the official Project Gutenberg™ website +(www.gutenberg.org), you must, at no additional cost, fee or expense +to the user, provide a copy, a means of exporting a copy, or a means +of obtaining a copy upon request, of the work in its original “Plain +Vanilla ASCII” or other form. Any alternate format must include the +full Project Gutenberg™ License as specified in paragraph 1.E.1. + +1.E.7. Do not charge a fee for access to, viewing, displaying, +performing, copying or distributing any Project Gutenberg™ works +unless you comply with paragraph 1.E.8 or 1.E.9. + +1.E.8. You may charge a reasonable fee for copies of or providing +access to or distributing Project Gutenberg™ electronic works +provided that: + + • You pay a royalty fee of 20% of the gross profits you derive from + the use of Project Gutenberg™ works calculated using the method + you already use to calculate your applicable taxes. The fee is owed + to the owner of the Project Gutenberg™ trademark, but he has + agreed to donate royalties under this paragraph to the Project + Gutenberg Literary Archive Foundation. Royalty payments must be paid + within 60 days following each date on which you prepare (or are + legally required to prepare) your periodic tax returns. Royalty + payments should be clearly marked as such and sent to the Project + Gutenberg Literary Archive Foundation at the address specified in + Section 4, “Information about donations to the Project Gutenberg + Literary Archive Foundation.” + + • You provide a full refund of any money paid by a user who notifies + you in writing (or by e-mail) within 30 days of receipt that s/he + does not agree to the terms of the full Project Gutenberg™ + License. You must require such a user to return or destroy all + copies of the works possessed in a physical medium and discontinue + all use of and all access to other copies of Project Gutenberg™ + works. + + • You provide, in accordance with paragraph 1.F.3, a full refund of + any money paid for a work or a replacement copy, if a defect in the + electronic work is discovered and reported to you within 90 days of + receipt of the work. + + • You comply with all other terms of this agreement for free + distribution of Project Gutenberg™ works. + + +1.E.9. If you wish to charge a fee or distribute a Project +Gutenberg™ electronic work or group of works on different terms than +are set forth in this agreement, you must obtain permission in writing +from the Project Gutenberg Literary Archive Foundation, the manager of +the Project Gutenberg™ trademark. Contact the Foundation as set +forth in Section 3 below. + +1.F. + +1.F.1. Project Gutenberg volunteers and employees expend considerable +effort to identify, do copyright research on, transcribe and proofread +works not protected by U.S. copyright law in creating the Project +Gutenberg™ collection. Despite these efforts, Project Gutenberg™ +electronic works, and the medium on which they may be stored, may +contain “Defects,” such as, but not limited to, incomplete, inaccurate +or corrupt data, transcription errors, a copyright or other +intellectual property infringement, a defective or damaged disk or +other medium, a computer virus, or computer codes that damage or +cannot be read by your equipment. + +1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the “Right +of Replacement or Refund” described in paragraph 1.F.3, the Project +Gutenberg Literary Archive Foundation, the owner of the Project +Gutenberg™ trademark, and any other party distributing a Project +Gutenberg™ electronic work under this agreement, disclaim all +liability to you for damages, costs and expenses, including legal +fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT +LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE +PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE THAT THE FOUNDATION, THE +TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE +LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR +INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH +DAMAGE. + +1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a +defect in this electronic work within 90 days of receiving it, you can +receive a refund of the money (if any) you paid for it by sending a +written explanation to the person you received the work from. If you +received the work on a physical medium, you must return the medium +with your written explanation. The person or entity that provided you +with the defective work may elect to provide a replacement copy in +lieu of a refund. If you received the work electronically, the person +or entity providing it to you may choose to give you a second +opportunity to receive the work electronically in lieu of a refund. If +the second copy is also defective, you may demand a refund in writing +without further opportunities to fix the problem. + +1.F.4. Except for the limited right of replacement or refund set forth +in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO +OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PURPOSE. + +1.F.5. Some states do not allow disclaimers of certain implied +warranties or the exclusion or limitation of certain types of +damages. If any disclaimer or limitation set forth in this agreement +violates the law of the state applicable to this agreement, the +agreement shall be interpreted to make the maximum disclaimer or +limitation permitted by the applicable state law. The invalidity or +unenforceability of any provision of this agreement shall not void the +remaining provisions. + +1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the +trademark owner, any agent or employee of the Foundation, anyone +providing copies of Project Gutenberg™ electronic works in +accordance with this agreement, and any volunteers associated with the +production, promotion and distribution of Project Gutenberg™ +electronic works, harmless from all liability, costs and expenses, +including legal fees, that arise directly or indirectly from any of +the following which you do or cause to occur: (a) distribution of this +or any Project Gutenberg™ work, (b) alteration, modification, or +additions or deletions to any Project Gutenberg™ work, and (c) any +Defect you cause. + +Section 2. Information about the Mission of Project Gutenberg™ + +Project Gutenberg™ is synonymous with the free distribution of +electronic works in formats readable by the widest variety of +computers including obsolete, old, middle-aged and new computers. It +exists because of the efforts of hundreds of volunteers and donations +from people in all walks of life. + +Volunteers and financial support to provide volunteers with the +assistance they need are critical to reaching Project Gutenberg™’s +goals and ensuring that the Project Gutenberg™ collection will +remain freely available for generations to come. In 2001, the Project +Gutenberg Literary Archive Foundation was created to provide a secure +and permanent future for Project Gutenberg™ and future +generations. To learn more about the Project Gutenberg Literary +Archive Foundation and how your efforts and donations can help, see +Sections 3 and 4 and the Foundation information page at www.gutenberg.org. + +Section 3. Information about the Project Gutenberg Literary Archive Foundation + +The Project Gutenberg Literary Archive Foundation is a non-profit +501(c)(3) educational corporation organized under the laws of the +state of Mississippi and granted tax exempt status by the Internal +Revenue Service. The Foundation’s EIN or federal tax identification +number is 64-6221541. Contributions to the Project Gutenberg Literary +Archive Foundation are tax deductible to the full extent permitted by +U.S. federal laws and your state’s laws. + +The Foundation’s business office is located at 809 North 1500 West, +Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up +to date contact information can be found at the Foundation’s website +and official page at www.gutenberg.org/contact + +Section 4. Information about Donations to the Project Gutenberg +Literary Archive Foundation + +Project Gutenberg™ depends upon and cannot survive without widespread +public support and donations to carry out its mission of +increasing the number of public domain and licensed works that can be +freely distributed in machine-readable form accessible by the widest +array of equipment including outdated equipment. Many small donations +($1 to $5,000) are particularly important to maintaining tax exempt +status with the IRS. + +The Foundation is committed to complying with the laws regulating +charities and charitable donations in all 50 states of the United +States. Compliance requirements are not uniform and it takes a +considerable effort, much paperwork and many fees to meet and keep up +with these requirements. We do not solicit donations in locations +where we have not received written confirmation of compliance. To SEND +DONATIONS or determine the status of compliance for any particular state +visit www.gutenberg.org/donate. + +While we cannot and do not solicit contributions from states where we +have not met the solicitation requirements, we know of no prohibition +against accepting unsolicited donations from donors in such states who +approach us with offers to donate. + +International donations are gratefully accepted, but we cannot make +any statements concerning tax treatment of donations received from +outside the United States. U.S. laws alone swamp our small staff. + +Please check the Project Gutenberg web pages for current donation +methods and addresses. Donations are accepted in a number of other +ways including checks, online payments and credit card donations. To +donate, please visit: www.gutenberg.org/donate. + +Section 5. General Information About Project Gutenberg™ electronic works + +Professor Michael S. Hart was the originator of the Project +Gutenberg™ concept of a library of electronic works that could be +freely shared with anyone. For forty years, he produced and +distributed Project Gutenberg™ eBooks with only a loose network of +volunteer support. + +Project Gutenberg™ eBooks are often created from several printed +editions, all of which are confirmed as not protected by copyright in +the U.S. unless a copyright notice is included. Thus, we do not +necessarily keep eBooks in compliance with any particular paper +edition. + +Most people start at our website which has the main PG search +facility: www.gutenberg.org. + +This website includes information about Project Gutenberg™, +including how to make donations to the Project Gutenberg Literary +Archive Foundation, how to help produce our new eBooks, and how to +subscribe to our email newsletter to hear about new eBooks. + + + diff --git a/test/test.cpp b/test/test.cpp deleted file mode 100644 index 6668b68..0000000 --- a/test/test.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include -#include - -void setUp() { ; } -void tearDown() { ; } - -int Math(void) { - return 2+2; -} - -void test_Math(void) { - TEST_ASSERT_EQUAL_INT(4, Math()); -} - - -int main(void) { - UNITY_BEGIN(); - RUN_TEST(test_Math); - return UNITY_END(); -} -